Module Name:    src
Committed By:   tsutsui
Date:           Sun Jun 29 05:02:15 UTC 2014

Modified Files:
        src/external/gpl3/gcc/dist/libgcc/config/m68k: t-floatlib
        src/external/gpl3/gcc/lib/libgcc/arch/m68k: defs.mk

Log Message:
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.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
    src/external/gpl3/gcc/dist/libgcc/config/m68k/t-floatlib
cvs rdiff -u -r1.1 -r1.2 src/external/gpl3/gcc/lib/libgcc/arch/m68k/defs.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/gcc/dist/libgcc/config/m68k/t-floatlib
diff -u src/external/gpl3/gcc/dist/libgcc/config/m68k/t-floatlib:1.1.1.1 src/external/gpl3/gcc/dist/libgcc/config/m68k/t-floatlib:1.2
--- src/external/gpl3/gcc/dist/libgcc/config/m68k/t-floatlib:1.1.1.1	Sat Mar  1 08:41:47 2014
+++ src/external/gpl3/gcc/dist/libgcc/config/m68k/t-floatlib	Sun Jun 29 05:02:15 2014
@@ -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
 

Index: src/external/gpl3/gcc/lib/libgcc/arch/m68k/defs.mk
diff -u src/external/gpl3/gcc/lib/libgcc/arch/m68k/defs.mk:1.1 src/external/gpl3/gcc/lib/libgcc/arch/m68k/defs.mk:1.2
--- src/external/gpl3/gcc/lib/libgcc/arch/m68k/defs.mk:1.1	Sat Mar  1 10:00:35 2014
+++ src/external/gpl3/gcc/lib/libgcc/arch/m68k/defs.mk	Sun Jun 29 05:02:15 2014
@@ -6,7 +6,7 @@ G_INCLUDES=-I. -I. -I../.././gcc -I${GNU
 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

Reply via email to