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 (
 | 
					asm (
 | 
				
			||||||
"	.pushsection    .text, \"ax\", @progbits\n"
 | 
					"	.pushsection    .text, \"ax\", @progbits\n"
 | 
				
			||||||
 | 
					"	.type		my_tramp1, @function\n"
 | 
				
			||||||
"   my_tramp1:"
 | 
					"   my_tramp1:"
 | 
				
			||||||
"	pushq %rbp\n"
 | 
					"	pushq %rbp\n"
 | 
				
			||||||
"	movq %rsp, %rbp\n"
 | 
					"	movq %rsp, %rbp\n"
 | 
				
			||||||
"	call my_direct_func1\n"
 | 
					"	call my_direct_func1\n"
 | 
				
			||||||
"	leave\n"
 | 
					"	leave\n"
 | 
				
			||||||
 | 
					"	.size		my_tramp1, .-my_tramp1\n"
 | 
				
			||||||
"	ret\n"
 | 
					"	ret\n"
 | 
				
			||||||
 | 
					"	.type		my_tramp2, @function\n"
 | 
				
			||||||
"   my_tramp2:"
 | 
					"   my_tramp2:"
 | 
				
			||||||
"	pushq %rbp\n"
 | 
					"	pushq %rbp\n"
 | 
				
			||||||
"	movq %rsp, %rbp\n"
 | 
					"	movq %rsp, %rbp\n"
 | 
				
			||||||
"	call my_direct_func2\n"
 | 
					"	call my_direct_func2\n"
 | 
				
			||||||
"	leave\n"
 | 
					"	leave\n"
 | 
				
			||||||
"	ret\n"
 | 
					"	ret\n"
 | 
				
			||||||
 | 
					"	.size		my_tramp2, .-my_tramp2\n"
 | 
				
			||||||
"	.popsection\n"
 | 
					"	.popsection\n"
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,6 +15,7 @@ extern void my_tramp(void *);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
asm (
 | 
					asm (
 | 
				
			||||||
"	.pushsection    .text, \"ax\", @progbits\n"
 | 
					"	.pushsection    .text, \"ax\", @progbits\n"
 | 
				
			||||||
 | 
					"	.type		my_tramp, @function\n"
 | 
				
			||||||
"   my_tramp:"
 | 
					"   my_tramp:"
 | 
				
			||||||
"	pushq %rbp\n"
 | 
					"	pushq %rbp\n"
 | 
				
			||||||
"	movq %rsp, %rbp\n"
 | 
					"	movq %rsp, %rbp\n"
 | 
				
			||||||
| 
						 | 
					@ -27,6 +28,7 @@ asm (
 | 
				
			||||||
"	popq %rdi\n"
 | 
					"	popq %rdi\n"
 | 
				
			||||||
"	leave\n"
 | 
					"	leave\n"
 | 
				
			||||||
"	ret\n"
 | 
					"	ret\n"
 | 
				
			||||||
 | 
					"	.size		my_tramp, .-my_tramp\n"
 | 
				
			||||||
"	.popsection\n"
 | 
					"	.popsection\n"
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,6 +13,7 @@ extern void my_tramp(void *);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
asm (
 | 
					asm (
 | 
				
			||||||
"	.pushsection    .text, \"ax\", @progbits\n"
 | 
					"	.pushsection    .text, \"ax\", @progbits\n"
 | 
				
			||||||
 | 
					"	.type		my_tramp, @function\n"
 | 
				
			||||||
"   my_tramp:"
 | 
					"   my_tramp:"
 | 
				
			||||||
"	pushq %rbp\n"
 | 
					"	pushq %rbp\n"
 | 
				
			||||||
"	movq %rsp, %rbp\n"
 | 
					"	movq %rsp, %rbp\n"
 | 
				
			||||||
| 
						 | 
					@ -21,6 +22,7 @@ asm (
 | 
				
			||||||
"	popq %rdi\n"
 | 
					"	popq %rdi\n"
 | 
				
			||||||
"	leave\n"
 | 
					"	leave\n"
 | 
				
			||||||
"	ret\n"
 | 
					"	ret\n"
 | 
				
			||||||
 | 
					"	.size		my_tramp, .-my_tramp\n"
 | 
				
			||||||
"	.popsection\n"
 | 
					"	.popsection\n"
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue