arch: use ASM_NL instead of ';' for assembler new line character in the macro
For some assemblers, they use another character as newline in a macro (e.g. arc uses '`'), so for generic assembly code, need use ASM_NL (a macro) instead of ';' for it. Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com> Acked-by: Vineet Gupta <vgupta@synopsys.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
This commit is contained in:
		
					parent
					
						
							
								e36aaea289
							
						
					
				
			
			
				commit
				
					
						9df62f0544
					
				
			
		
					 2 changed files with 14 additions and 7 deletions
				
			
		|  | @ -11,6 +11,8 @@ | |||
| 
 | ||||
| #ifdef __ASSEMBLY__ | ||||
| 
 | ||||
| #define ASM_NL		 `	/* use '`' to mark new line in macro */ | ||||
| 
 | ||||
| /* Can't use the ENTRY macro in linux/linkage.h
 | ||||
|  * gas considers ';' as comment vs. newline | ||||
|  */ | ||||
|  |  | |||
|  | @ -6,6 +6,11 @@ | |||
| #include <linux/export.h> | ||||
| #include <asm/linkage.h> | ||||
| 
 | ||||
| /* Some toolchains use other characters (e.g. '`') to mark new line in macro */ | ||||
| #ifndef ASM_NL | ||||
| #define ASM_NL		 ; | ||||
| #endif | ||||
| 
 | ||||
| #ifdef __cplusplus | ||||
| #define CPP_ASMLINKAGE extern "C" | ||||
| #else | ||||
|  | @ -75,21 +80,21 @@ | |||
| 
 | ||||
| #ifndef ENTRY | ||||
| #define ENTRY(name) \ | ||||
|   .globl name; \ | ||||
|   ALIGN; \ | ||||
|   name: | ||||
| 	.globl name ASM_NL \ | ||||
| 	ALIGN ASM_NL \ | ||||
| 	name: | ||||
| #endif | ||||
| #endif /* LINKER_SCRIPT */ | ||||
| 
 | ||||
| #ifndef WEAK | ||||
| #define WEAK(name)	   \ | ||||
| 	.weak name;	   \ | ||||
| 	.weak name ASM_NL   \ | ||||
| 	name: | ||||
| #endif | ||||
| 
 | ||||
| #ifndef END | ||||
| #define END(name) \ | ||||
|   .size name, .-name | ||||
| 	.size name, .-name | ||||
| #endif | ||||
| 
 | ||||
| /* If symbol 'name' is treated as a subroutine (gets called, and returns)
 | ||||
|  | @ -98,8 +103,8 @@ | |||
|  */ | ||||
| #ifndef ENDPROC | ||||
| #define ENDPROC(name) \ | ||||
|   .type name, @function; \ | ||||
|   END(name) | ||||
| 	.type name, @function ASM_NL \ | ||||
| 	END(name) | ||||
| #endif | ||||
| 
 | ||||
| #endif | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Chen Gang
				Chen Gang