x86/fpu/math-emu: Add ENDPROC to functions
authorJiri Slaby <jslaby@suse.cz>
Thu, 24 Aug 2017 08:06:23 +0000 (10:06 +0200)
committerIngo Molnar <mingo@kernel.org>
Tue, 29 Aug 2017 11:23:30 +0000 (13:23 +0200)
Functions in math-emu are annotated as ENTRY() symbols, but their
ends are not annotated at all. But these are standard functions
called from C, with proper stack register update etc.

Omitting the ends means:

  * the annotations are not paired and we cannot deal with such functions
    e.g. in objtool

  * the symbols are not marked as functions in the object file

  * there are no sizes of the functions in the object file

So fix this by adding ENDPROC() to each such case in math-emu.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20170824080624.7768-1-jslaby@suse.cz
Signed-off-by: Ingo Molnar <mingo@kernel.org>
14 files changed:
arch/x86/math-emu/div_Xsig.S
arch/x86/math-emu/div_small.S
arch/x86/math-emu/mul_Xsig.S
arch/x86/math-emu/polynom_Xsig.S
arch/x86/math-emu/reg_norm.S
arch/x86/math-emu/reg_round.S
arch/x86/math-emu/reg_u_add.S
arch/x86/math-emu/reg_u_div.S
arch/x86/math-emu/reg_u_mul.S
arch/x86/math-emu/reg_u_sub.S
arch/x86/math-emu/round_Xsig.S
arch/x86/math-emu/shr_Xsig.S
arch/x86/math-emu/wm_shrx.S
arch/x86/math-emu/wm_sqrt.S

index f77ba3058b31748f898dfbadc7ad8838dbceb8d0..066996dba6a26e815e7f79bb395334a19e032b6a 100644 (file)
@@ -363,3 +363,4 @@ L_bugged_2:
        pop     %ebx
        jmp     L_exit
 #endif /* PARANOID */ 
+ENDPROC(div_Xsig)
index 47099628fa4cebdebce228696aa5fe3d698cabb9..2c71527bd917461913f7046a9b5ac7a0aa92120f 100644 (file)
@@ -44,4 +44,4 @@ ENTRY(FPU_div_small)
 
        leave
        ret
-
+ENDPROC(FPU_div_small)
index 717785a53eb401034f87429c2cfd4763ed42459f..22e0631bb85aaa8436669840ab40ee38b8de3554 100644 (file)
@@ -62,6 +62,7 @@ ENTRY(mul32_Xsig)
        popl %esi
        leave
        ret
+ENDPROC(mul32_Xsig)
 
 
 ENTRY(mul64_Xsig)
@@ -114,6 +115,7 @@ ENTRY(mul64_Xsig)
        popl %esi
        leave
        ret
+ENDPROC(mul64_Xsig)
 
 
 
@@ -173,4 +175,4 @@ ENTRY(mul_Xsig_Xsig)
        popl %esi
        leave
        ret
-
+ENDPROC(mul_Xsig_Xsig)
index 17315c89ff3d07ae1c263a206dfafbe0bd531338..a9aaf414135daf8dd189dd361ccd7e54314d240d 100644 (file)
@@ -133,3 +133,4 @@ L_accum_done:
        popl    %esi
        leave
        ret
+ENDPROC(polynomial_Xsig)
index 8b6352efceef2629138490602f4e7fcb7519b533..53ac1a343c697cd2ac3d4c95a710c0bc496bcaea 100644 (file)
@@ -94,6 +94,7 @@ L_overflow:
        call    arith_overflow
        pop     %ebx
        jmp     L_exit
+ENDPROC(FPU_normalize)
 
 
 
@@ -145,3 +146,4 @@ L_exit_nuo_zero:
        popl    %ebx
        leave
        ret
+ENDPROC(FPU_normalize_nuo)
index d1d4e48b4f67d2cd7281cd6891395390e81356f7..41af5b208d88f5b6975162c27a05bf9b7ad06d4a 100644 (file)
@@ -706,3 +706,5 @@ L_exception_exit:
        mov     $-1,%eax
        jmp     fpu_reg_round_special_exit
 #endif /* PARANOID */ 
+
+ENDPROC(FPU_round)
index 47c4c2434d85efd889d60b809def705f81964948..3b1bc5e9b2f6383a6a4f518cf6e70f568b125df9 100644 (file)
@@ -165,3 +165,4 @@ L_exit:
        leave
        ret
 #endif /* PARANOID */
+ENDPROC(FPU_u_add)
index cc00654b6f9ada84e99f6eda6c35091b47a7854a..796eb5ab921b64b4b898121b2205f6a70f44e6ce 100644 (file)
@@ -469,3 +469,5 @@ L_exit:
        leave
        ret
 #endif /* PARANOID */ 
+
+ENDPROC(FPU_u_div)
index 973f12af97df55a837eae72484aeffbabc08d704..6196f68cf3c1e4e01b9a47140fab8bbb6be6341d 100644 (file)
@@ -146,3 +146,4 @@ L_exit:
        ret
 #endif /* PARANOID */ 
 
+ENDPROC(FPU_u_mul)
index 1b6c24801d2231bde8d8149db2c08e781086ffcf..d115b900919a10ca8f3c36c8034ad1eec1164757 100644 (file)
@@ -270,3 +270,4 @@ L_exit:
        popl    %esi
        leave
        ret
+ENDPROC(FPU_u_sub)
index bbe0e87718e428351e5150915a3c738e2da1f7f7..87c99749a495d3ea5d24c424542e9209a8610ff7 100644 (file)
@@ -78,7 +78,7 @@ L_exit:
        popl    %ebx
        leave
        ret
-
+ENDPROC(round_Xsig)
 
 
 
@@ -138,4 +138,4 @@ L_n_exit:
        popl    %ebx
        leave
        ret
-
+ENDPROC(norm_Xsig)
index 31cdd118e9186cbb947d06207588a261ed0a6adc..c8552edeec7535f42579883dce72bb8b30bf10ab 100644 (file)
@@ -85,3 +85,4 @@ L_more_than_95:
        popl    %esi
        leave
        ret
+ENDPROC(shr_Xsig)
index 51842831798599018d62aa13e8553ac559a73827..340dd6897f85cb4a444ece88d20bdb34ccca0891 100644 (file)
@@ -92,6 +92,7 @@ L_more_than_95:
        popl    %esi
        leave
        ret
+ENDPROC(FPU_shrx)
 
 
 /*---------------------------------------------------------------------------+
@@ -202,3 +203,4 @@ Ls_more_than_95:
        popl    %esi
        leave
        ret
+ENDPROC(FPU_shrxs)
index d258f59564e11b71a37148873bbf61b41d3c4b82..695afae38fdf3c087ce2d1671e058db4aa71a5bf 100644 (file)
@@ -468,3 +468,4 @@ sqrt_more_prec_large:
 /* Our estimate is too large */
        movl    $0x7fffff00,%eax
        jmp     sqrt_round_result
+ENDPROC(wm_sqrt)