diff options
author | Jakub Jelinek <jakub@redhat.com> | 2005-02-24 22:33:04 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2005-02-24 22:33:04 +0100 |
commit | df8a7c49f1a2f11300ac0405bb50bce188d64e0e (patch) | |
tree | 1f6c24442df9e3db434be839661858430df1aa78 /gcc | |
parent | 4b2420b0d350ad4412f415b3464c0cde6039b7fe (diff) | |
download | gcc-df8a7c49f1a2f11300ac0405bb50bce188d64e0e.zip gcc-df8a7c49f1a2f11300ac0405bb50bce188d64e0e.tar.gz gcc-df8a7c49f1a2f11300ac0405bb50bce188d64e0e.tar.bz2 |
re PR target/19019 (GCC ldouble format incompatibility with XLC long double)
PR target/19019
* mklibgcc.in: Pass -DSHARED when compiling all *_s${objext} objects.
* config/rs6000/darwin-ldouble.c: Only use the .symver directives
if SHARED is defined.
From-SVN: r95515
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/darwin-ldouble.c | 2 | ||||
-rw-r--r-- | gcc/mklibgcc.in | 32 |
3 files changed, 23 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9ce1ada..06a9410 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2005-02-24 Jakub Jelinek <jakub@redhat.com> + PR target/19019 + * mklibgcc.in: Pass -DSHARED when compiling all *_s${objext} objects. + * config/rs6000/darwin-ldouble.c: Only use the .symver directives + if SHARED is defined. + PR target/20196 * config/rs6000/rs6000.md (LTU, GTU sCC splitters): Add earlyclobber, allow splitting only if operands 0 and 3 don't overlap. diff --git a/gcc/config/rs6000/darwin-ldouble.c b/gcc/config/rs6000/darwin-ldouble.c index 86893c9..b394d5d 100644 --- a/gcc/config/rs6000/darwin-ldouble.c +++ b/gcc/config/rs6000/darwin-ldouble.c @@ -67,7 +67,7 @@ extern long double __gcc_qsub (double, double, double, double); extern long double __gcc_qmul (double, double, double, double); extern long double __gcc_qdiv (double, double, double, double); -#ifdef __ELF__ +#if defined __ELF__ && defined SHARED /* Provide definitions of the old symbol names to statisfy apps and shared libs built against an older libgcc. To access the _xlq symbols an explicit version reference is needed, so these won't diff --git a/gcc/mklibgcc.in b/gcc/mklibgcc.in index f444ff2..d4df66a 100644 --- a/gcc/mklibgcc.in +++ b/gcc/mklibgcc.in @@ -1,6 +1,6 @@ #!/bin/sh # Construct makefile for libgcc. -# Copyright (C) 2000, 2002, 2003 Free Software Foundation, Inc. +# Copyright (C) 2000, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. # # This file is part of GCC. @@ -72,6 +72,7 @@ fi # Build lines. gcc_compile='$(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES)' +gcc_s_compile="$gcc_compile -DSHARED" make_compile='$(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \ AR_FOR_TARGET="$(AR_FOR_TARGET)" \ AR_CREATE_FOR_TARGET="$(AR_CREATE_FOR_TARGET)" \ @@ -218,7 +219,7 @@ for ml in $MULTILIBS; do outV="libgcc/${dir}/${name}.vis" echo ${outS}: stmp-dirs '$(srcdir)/config/$(LIB1ASMSRC)' - echo " $gcc_compile" $flags -DL$name -xassembler-with-cpp \ + echo " $gcc_s_compile" $flags -DL$name -xassembler-with-cpp \ -c '$(srcdir)/config/$(LIB1ASMSRC)' -o $outS echo ${out}: stmp-dirs '$(srcdir)/config/$(LIB1ASMSRC)' ${outV} @@ -251,7 +252,8 @@ for ml in $MULTILIBS; do outS="libgcc/${dir}/${name}_s${objext}" echo $outS: $libgcc2_c_dep - echo " $gcc_compile" $flags -DL$name -c '$(srcdir)/libgcc2.c' -o $outS + echo " $gcc_s_compile" $flags -DL$name -c '$(srcdir)/libgcc2.c' \ + -o $outS echo $out: $libgcc2_c_dep echo " $gcc_compile" $flags -DL$name '$(vis_hide)' \ @@ -285,7 +287,7 @@ for ml in $MULTILIBS; do outS="libgcc/${dir}/${name}_s${objext}" echo $outS: $libgcc2_c_dep - echo " $gcc_compile" $flags -DL$name \ + echo " $gcc_s_compile" $flags -DL$name \ -fexceptions -fnon-call-exceptions -c '$(srcdir)/libgcc2.c' -o $outS echo $out: $libgcc2_c_dep @@ -317,7 +319,7 @@ for ml in $MULTILIBS; do outS="libgcc/${dir}/${name}_s${objext}" echo $outS: $FPBIT $fpbit_c_dep - echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ + echo " $gcc_s_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ -c $FPBIT -o $outS echo $out: $FPBIT $fpbit_c_dep @@ -347,7 +349,7 @@ for ml in $MULTILIBS; do outS="libgcc/${dir}/${name}_s${objext}" echo $outS: $DPBIT $fpbit_c_dep - echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ + echo " $gcc_s_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ -c $DPBIT -o $outS echo $out: $DPBIT $fpbit_c_dep @@ -377,7 +379,7 @@ for ml in $MULTILIBS; do outS="libgcc/${dir}/${name}_s${objext}" echo $outS: $TPBIT $fpbit_c_dep - echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ + echo " $gcc_s_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ -c $TPBIT -o $outS echo $out: $TPBIT $fpbit_c_dep @@ -411,7 +413,7 @@ for ml in $MULTILIBS; do case $file in *.c) echo $outS: stmp-dirs $file $libgcc_dep - echo " $gcc_compile" $flags -c $file -o $outS + echo " $gcc_s_compile" $flags -c $file -o $outS echo $out: stmp-dirs $file $libgcc_dep echo " $gcc_compile" $flags '$(vis_hide)' -c $file -o $out @@ -421,7 +423,7 @@ for ml in $MULTILIBS; do outV="libgcc/${dir}/${oname}.vis" echo $outS: stmp-dirs $file $libgcc_dep - echo " $gcc_compile" $flags -xassembler-with-cpp \ + echo " $gcc_s_compile" $flags -xassembler-with-cpp \ -c $file -o $outS echo $out: stmp-dirs $file $libgcc_dep $outV @@ -533,13 +535,13 @@ for ml in $MULTILIBS; do name=`echo $file | sed -e 's/[.]c$//'` oname=`echo $name | sed -e 's,.*/,,'` - out="libgcc/${dir}/${oname}_s${objext}" + outS="libgcc/${dir}/${oname}_s${objext}" - echo $out: stmp-dirs $file $LIB2ADDEHDEP $libgcc_dep - echo " $gcc_compile" $flags -fexceptions -c $file -o $out - echo $libgcc_s_so: $out + echo $outS: stmp-dirs $file $LIB2ADDEHDEP $libgcc_dep + echo " $gcc_s_compile" $flags -fexceptions -c $file -o $outS + echo $libgcc_s_so: $outS if [ "$SHLIB_MKMAP" ]; then - echo libgcc/${dir}/libgcc.map: $out + echo libgcc/${dir}/libgcc.map: $outS fi done @@ -592,7 +594,7 @@ for ml in $MULTILIBS; do echo " $gcc_compile $flags -fexceptions \$(vis_hide) -c $file -o $out" echo $outS: stmp-dirs $file $LIBUNWINDDEP - echo " $gcc_compile $flags -fexceptions -DSHARED -c $file -o $outS" + echo " $gcc_s_compile $flags -fexceptions -c $file -o $outS" echo $libunwind_a: $out echo $libunwind_so: $outS |