Source-Changes-HG archive

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

[src/trunk]: src/external/gpl3/gcc Pull the simliar workaround from gcc 4.5.4:



details:   https://anonhg.NetBSD.org/src/rev/e35c5771b62e
branches:  trunk
changeset: 796967:e35c5771b62e
user:      tsutsui <tsutsui%NetBSD.org@localhost>
date:      Sun Jun 29 05:02:15 2014 +0000

description:
Pull the simliar workaround from gcc 4.5.4:

http://mail-index.NetBSD.org/source-changes/2014/06/29/msg055885.html
---
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/defs.mk is manually edited to avoid extra diffs.

diffstat:

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

diffs (23 lines):

diff -r 03d3738ff6f6 -r e35c5771b62e external/gpl3/gcc/dist/libgcc/config/m68k/t-floatlib
--- a/external/gpl3/gcc/dist/libgcc/config/m68k/t-floatlib      Sun Jun 29 04:55:44 2014 +0000
+++ b/external/gpl3/gcc/dist/libgcc/config/m68k/t-floatlib      Sun Jun 29 05:02:15 2014 +0000
@@ -1,6 +1,6 @@
 LIB1ASMSRC = m68k/lb1sf68.S
 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 03d3738ff6f6 -r e35c5771b62e external/gpl3/gcc/lib/libgcc/arch/m68k/defs.mk
--- a/external/gpl3/gcc/lib/libgcc/arch/m68k/defs.mk    Sun Jun 29 04:55:44 2014 +0000
+++ b/external/gpl3/gcc/lib/libgcc/arch/m68k/defs.mk    Sun Jun 29 05:02:15 2014 +0000
@@ -6,7 +6,7 @@
 G_LIB2ADD=${GNUHOSTDIST}/libgcc/config/m68k/fpgnulib.c xfgnulib.c enable-execute-stack.c
 G_LIB2ADDEH=${GNUHOSTDIST}/libgcc/unwind-dw2.c ${GNUHOSTDIST}/libgcc/unwind-dw2-fde-dip.c ${GNUHOSTDIST}/libgcc/unwind-sjlj.c ${GNUHOSTDIST}/libgcc/unwind-c.c ${GNUHOSTDIST}/libgcc/emutls.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.S
 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