mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	samples/ftrace: Fix asm function ELF annotations
Enable objtool coverage for the sample ftrace modules by adding ELF annotations to the asm trampoline functions. samples/ftrace/ftrace-direct.o: warning: objtool: .text+0x0: unreachable instruction samples/ftrace/ftrace-direct-modify.o: warning: objtool: .text+0x0: unreachable instruction samples/ftrace/ftrace-direct-too.o: warning: objtool: .text+0x0: unreachable instruction Reported-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
This commit is contained in:
		
							parent
							
								
									7c0577f4e6
								
							
						
					
					
						commit
						9d907f1ae8
					
				
					 3 changed files with 8 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -20,18 +20,22 @@ static unsigned long my_ip = (unsigned long)schedule;
 | 
			
		|||
 | 
			
		||||
asm (
 | 
			
		||||
"	.pushsection    .text, \"ax\", @progbits\n"
 | 
			
		||||
"	.type		my_tramp1, @function\n"
 | 
			
		||||
"   my_tramp1:"
 | 
			
		||||
"	pushq %rbp\n"
 | 
			
		||||
"	movq %rsp, %rbp\n"
 | 
			
		||||
"	call my_direct_func1\n"
 | 
			
		||||
"	leave\n"
 | 
			
		||||
"	.size		my_tramp1, .-my_tramp1\n"
 | 
			
		||||
"	ret\n"
 | 
			
		||||
"	.type		my_tramp2, @function\n"
 | 
			
		||||
"   my_tramp2:"
 | 
			
		||||
"	pushq %rbp\n"
 | 
			
		||||
"	movq %rsp, %rbp\n"
 | 
			
		||||
"	call my_direct_func2\n"
 | 
			
		||||
"	leave\n"
 | 
			
		||||
"	ret\n"
 | 
			
		||||
"	.size		my_tramp2, .-my_tramp2\n"
 | 
			
		||||
"	.popsection\n"
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,6 +15,7 @@ extern void my_tramp(void *);
 | 
			
		|||
 | 
			
		||||
asm (
 | 
			
		||||
"	.pushsection    .text, \"ax\", @progbits\n"
 | 
			
		||||
"	.type		my_tramp, @function\n"
 | 
			
		||||
"   my_tramp:"
 | 
			
		||||
"	pushq %rbp\n"
 | 
			
		||||
"	movq %rsp, %rbp\n"
 | 
			
		||||
| 
						 | 
				
			
			@ -27,6 +28,7 @@ asm (
 | 
			
		|||
"	popq %rdi\n"
 | 
			
		||||
"	leave\n"
 | 
			
		||||
"	ret\n"
 | 
			
		||||
"	.size		my_tramp, .-my_tramp\n"
 | 
			
		||||
"	.popsection\n"
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,6 +13,7 @@ extern void my_tramp(void *);
 | 
			
		|||
 | 
			
		||||
asm (
 | 
			
		||||
"	.pushsection    .text, \"ax\", @progbits\n"
 | 
			
		||||
"	.type		my_tramp, @function\n"
 | 
			
		||||
"   my_tramp:"
 | 
			
		||||
"	pushq %rbp\n"
 | 
			
		||||
"	movq %rsp, %rbp\n"
 | 
			
		||||
| 
						 | 
				
			
			@ -21,6 +22,7 @@ asm (
 | 
			
		|||
"	popq %rdi\n"
 | 
			
		||||
"	leave\n"
 | 
			
		||||
"	ret\n"
 | 
			
		||||
"	.size		my_tramp, .-my_tramp\n"
 | 
			
		||||
"	.popsection\n"
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue