The VxWorks runtime dynamic linker doesn't handle pic, specifically it doesn't understand relocation type 18 (PLT_REL24 or somesuch). So we want libgcc built static. If you're using this patch on its own, you will want to remove the 'mvxcompat272' from MULTILIB_EXTRA_OPTS in t-ppcgas-vx. However it belongs there if this patch is used in conjunction with the vxworks-abicompat patch. I know it's generally unneccessary to patch configure as well as configure.in, but this patch is designed for people to apply to distributions when they may not have the auto tools installed. diff -c3prN /gcc.orig/gcc/gcc/config/rs6000/t-ppcgas-vx /gcc.dev/gcc/gcc/config/rs6000/t-ppcgas-vx *** /gcc.orig/gcc/gcc/config/rs6000/t-ppcgas-vx Thu Jan 1 00:00:00 1970 --- /gcc.dev/gcc/gcc/config/rs6000/t-ppcgas-vx Tue Jan 30 00:01:03 2001 *************** *** 0 **** --- 1,10 ---- + # PowerPC embedded support with gas. + # Build libgcc.a with different options. + + MULTILIB_OPTIONS = msoft-float + + MULTILIB_DIRNAMES = nof + + MULTILIB_EXTRA_OPTS = mno-eabi mstrict-align mbig mcall-sysv mvxcompat272 + MULTILIB_EXCEPTIONS = + MULTILIB_MATCHES = ${MULTILIB_MATCHES_FLOAT} diff -c3prN /gcc.orig/gcc/gcc/configure /gcc.dev/gcc/gcc/configure *** /gcc.orig/gcc/gcc/configure Mon Jan 15 05:28:53 2001 --- /gcc.dev/gcc/gcc/configure Mon Jan 29 23:28:42 2001 *************** for machine in $build $host $target; do *** 5162,5168 **** xm_file="xm-siglist.h rs6000/xm-sysv4.h" xm_defines="USG POSIX" tm_file=rs6000/vxppc.h ! tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm" extra_headers=ppc-asm.h thread_file='vxworks' ;; --- 5162,5168 ---- xm_file="xm-siglist.h rs6000/xm-sysv4.h" xm_defines="USG POSIX" tm_file=rs6000/vxppc.h ! tmake_file="rs6000/t-ppcgas-vx rs6000/t-ppccomm" extra_headers=ppc-asm.h thread_file='vxworks' ;; diff -c3prN /gcc.orig/gcc/gcc/configure.in /gcc.dev/gcc/gcc/configure.in *** /gcc.orig/gcc/gcc/configure.in Mon Jan 15 05:28:53 2001 --- /gcc.dev/gcc/gcc/configure.in Mon Jan 29 23:24:42 2001 *************** *** 1,7 **** # configure.in for GNU CC # Process this file with autoconf to generate a configuration script. ! # Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. #This file is part of GNU CC. --- 1,7 ---- # configure.in for GNU CC # Process this file with autoconf to generate a configuration script. ! # Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. #This file is part of GNU CC. *************** changequote([,])dnl *** 2846,2852 **** xm_file="xm-siglist.h rs6000/xm-sysv4.h" xm_defines="USG POSIX" tm_file=rs6000/vxppc.h ! tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm" extra_headers=ppc-asm.h thread_file='vxworks' ;; --- 2846,2852 ---- xm_file="xm-siglist.h rs6000/xm-sysv4.h" xm_defines="USG POSIX" tm_file=rs6000/vxppc.h ! tmake_file="rs6000/t-ppcgas-vx rs6000/t-ppccomm" extra_headers=ppc-asm.h thread_file='vxworks' ;;