Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/gpl3/gcc.old Tweak LIB1ASMFUNCS order to avoid link...



details:   https://anonhg.NetBSD.org/src/rev/03d3738ff6f6
branches:  trunk
changeset: 796966:03d3738ff6f6
user:      tsutsui <tsutsui%NetBSD.org@localhost>
date:      Sun Jun 29 04:55:44 2014 +0000

description:
Tweak LIB1ASMFUNCS order to avoid linker warnings on libgcc_s build with -O2.

Without this change, ld complains as the following:
>> libgcc_s_pic.a(_float.pico):(.text+0x8): relocation truncated to fit:
>> R_68K_PC16 against symbol `$_exception_handler' defined in .text section in
>> libgcc_s_pic.a(_floatex.pico)

_float.S and _double.S refer `$_exception_handler' declared in _floatex.S
and linking the _floatex.S first seems to work around these warnings
(probably caused by pic relative jump addresses).
See port-m68k@ posts for more details:
http://mail-index.NetBSD.org/port-m68k/2014/06/22/msg000488.html

Note m68k.mk is manually edited to avoid extra diffs.

diffstat:

 external/gpl3/gcc.old/dist/gcc/config/m68k/t-floatlib |  2 +-
 external/gpl3/gcc.old/lib/libgcc/arch/m68k.mk         |  2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diffs (24 lines):

diff -r e9d059cd08b0 -r 03d3738ff6f6 external/gpl3/gcc.old/dist/gcc/config/m68k/t-floatlib
--- a/external/gpl3/gcc.old/dist/gcc/config/m68k/t-floatlib     Sun Jun 29 04:08:43 2014 +0000
+++ b/external/gpl3/gcc.old/dist/gcc/config/m68k/t-floatlib     Sun Jun 29 04:55:44 2014 +0000
@@ -18,7 +18,7 @@
 
 LIB1ASMSRC = m68k/lb1sf68.asm
 LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
-   _double _float _floatex \
+   _floatex _float _double \
    _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
    _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
 
diff -r e9d059cd08b0 -r 03d3738ff6f6 external/gpl3/gcc.old/lib/libgcc/arch/m68k.mk
--- a/external/gpl3/gcc.old/lib/libgcc/arch/m68k.mk     Sun Jun 29 04:08:43 2014 +0000
+++ b/external/gpl3/gcc.old/lib/libgcc/arch/m68k.mk     Sun Jun 29 04:55:44 2014 +0000
@@ -6,7 +6,7 @@
 G_LIB2ADD=fpgnulib.c xfgnulib.c
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c
 G_LIB2ADD_ST=
-G_LIB1ASMFUNCS=_mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _double _float _floatex _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
+G_LIB1ASMFUNCS=_mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _floatex _float _double _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
 G_LIB1ASMSRC=m68k/lb1sf68.asm
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf __gcc_bcmp



Home | Main Index | Thread Index | Old Index