You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
| 
											10 years ago
										 | /*
 | ||
|  |  *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | ||
|  |  * | ||
|  |  *  Use of this source code is governed by a BSD-style license | ||
|  |  *  that can be found in the LICENSE file in the root of the source | ||
|  |  *  tree. An additional intellectual property rights grant can be found | ||
|  |  *  in the file PATENTS.  All contributing project authors may | ||
|  |  *  be found in the AUTHORS file in the root of the source tree. | ||
|  |  */ | ||
|  | 
 | ||
|  | #ifndef WEBRTC_SYSTEM_WRAPPERS_INTERFACE_ASM_DEFINES_H_
 | ||
|  | #define WEBRTC_SYSTEM_WRAPPERS_INTERFACE_ASM_DEFINES_H_
 | ||
|  | 
 | ||
|  | #if defined(__linux__) && defined(__ELF__)
 | ||
|  | .section .note.GNU-stack,"",%progbits | ||
|  | #endif
 | ||
|  | 
 | ||
|  | // Define the macros used in ARM assembly code, so that for Mac or iOS builds
 | ||
|  | // we add leading underscores for the function names.
 | ||
|  | #ifdef __APPLE__
 | ||
|  | .macro GLOBAL_FUNCTION name | ||
|  | .global _\name | ||
|  | .endm | ||
|  | .macro DEFINE_FUNCTION name | ||
|  | _\name: | ||
|  | .endm | ||
|  | .macro CALL_FUNCTION name | ||
|  | bl _\name | ||
|  | .endm | ||
|  | .macro GLOBAL_LABEL name | ||
|  | .global _\name | ||
|  | .endm | ||
|  | #else
 | ||
|  | .macro GLOBAL_FUNCTION name | ||
|  | .global \name | ||
|  | .endm | ||
|  | .macro DEFINE_FUNCTION name | ||
|  | \name: | ||
|  | .endm | ||
|  | .macro CALL_FUNCTION name | ||
|  | bl \name | ||
|  | .endm | ||
|  | .macro GLOBAL_LABEL name | ||
|  | .global \name | ||
|  | .endm | ||
|  | #endif
 | ||
|  | 
 | ||
|  | // With Apple's clang compiler, for instructions ldrb, strh, etc.,
 | ||
|  | // the condition code is after the width specifier. Here we define
 | ||
|  | // only the ones that are actually used in the assembly files.
 | ||
|  | #if (defined __llvm__) && (defined __APPLE__)
 | ||
|  | .macro streqh reg1, reg2, num | ||
|  | strheq \reg1, \reg2, \num | ||
|  | .endm | ||
|  | #endif
 | ||
|  | 
 | ||
|  | .text | ||
|  | 
 | ||
|  | #endif  // WEBRTC_SYSTEM_WRAPPERS_INTERFACE_ASM_DEFINES_H_
 |