source: patches/gcc-4.3.3-ppc_fixes-1.patch@ 78a84e5

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since 78a84e5 was f033e407, checked in by Jim Gifford <clfs@…>, 16 years ago

Fixed Powerpc Build of GCC

  • Property mode set to 100644
File size: 2.2 KB
  • gcc/config/rs6000/x-linux-relax

    Submitted By: Jim Gifford (jim at cross-lfs dot org)
    Date: 02-18-2009
    Initial Package Version: 4.3.3
    Origin: Upstream
    Upstream Status: Applied to Mainline
    Description: This fixes a known build issue with Powerpc and GCC 4.3.3
                 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37739
    
    diff -Naur gcc-4.3.3.orig/gcc/config/rs6000/x-linux-relax gcc-4.3.3/gcc/config/rs6000/x-linux-relax
    old new  
     1# At -O0 cc1 etc. are too large and -Wl,--relax is needed
     2$(COMPILERS) : override LDFLAGS += -Wl,--relax
     3
  • gcc/config/x-cflags-O1

    diff -Naur gcc-4.3.3.orig/gcc/config/x-cflags-O1 gcc-4.3.3/gcc/config/x-cflags-O1
    old new  
     1# At -O0 cc1 etc. are too large on some targets for successful
     2# link; force building libbackend.a with -O1.
     3ifeq ($(filter-out -O0,$(lastword $(filter -O%,$(CFLAGS)))),)
     4$(OBJS) : override CFLAGS += -O1
     5endif
     6
  • gcc/config.host

    diff -Naur gcc-4.3.3.orig/gcc/config.host gcc-4.3.3/gcc/config.host
    old new  
    116116        host_xmake_file="${host_xmake_file} rs6000/x-rs6000"
    117117        ;;
    118118    esac
     119    case ${host} in
     120      *-*-linux* )
     121        if test "${GCC}:${ac_cv_sizeof_long}" = yes:4; then
     122          # On powerpc*-*-linux* use -Wl,--relax to link cc1,
     123          # if ld is new enough, otherwise force -O1 in CFLAGS.
     124          host_ppc_relax_xmake_file=
     125          host_ld_ver=`${CC} -Wl,--version 2>/dev/null | sed 1q`
     126          if echo "$host_ld_ver" | grep GNU > /dev/null; then
     127            host_ld_date=`echo $host_ld_ver \
     128                          | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'`
     129            if test 0"$host_ld_date" -gt 20080806; then
     130              host_ppc_relax_xmake_file=rs6000/x-linux-relax
     131            fi
     132          fi
     133          if test -z "${host_ppc_relax_xmake_file}"; then
     134            host_ppc_relax_xmake_file=x-cflags-O1
     135          fi
     136          host_xmake_file="${host_xmake_file} ${host_ppc_relax_xmake_file}"
     137        fi
     138        ;;
     139    esac
    119140    ;;
    120141esac
    121142
Note: See TracBrowser for help on using the repository browser.