This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: linux cross compiler doesn't work on darwin
- From: Stan Shebs <shebs at apple dot com>
- To: Mike Stump <mrs at apple dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 26 Jul 2002 17:02:54 -0700
- Subject: Re: linux cross compiler doesn't work on darwin
- References: <33652629-A0EB-11D6-B575-003065A77310@apple.com>
Mike Stump wrote:
With the below magic incantation darwin can host a linux targeted
compiler. Without the patch, nothing links due to unresolved
externals (for the config_gtfiles, darwin.c in my case):
ld: Undefined symbols:
_gt_ggc_r_gt_darwin_h
make: *** [cc1plus] Error 1
Tested on powerpc-darwin6.0 and on a powerpc-darwin6.0 X
i586-pc-linux-gnu by comparing the generated Makefile, and ensuring
they were right, and by ensuring the cc1plus built. I contemplated
checking this in as obvious, but decided against it.
2002-07-26 Mike Stump <mrs@apple.com>
* config.gcc (config_gtfiles): Initialize.
Sorry, I had a different solution to the problem a couple days ago, but have
been distracted by our little sibcall hell... :-)
The problem is that config_gtfiles is accumulating files irrespective of
host/target, and darwin.c should only be added if it's a target. So this
patch makes it a target-only thing (no host files with trees to track so
far). If everybody agrees that this is the way to go, I'll put it in.
Stan
Index: config.gcc
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config.gcc,v
retrieving revision 1.226
diff -p -r1.226 config.gcc
*** config.gcc 25 Jul 2002 02:51:30 -0000 1.226
--- config.gcc 27 Jul 2002 00:00:14 -0000
*************** powerpc-*-darwin*)
*** 1989,1995 ****
tm_p_file="${tm_p_file} darwin-protos.h"
tmake_file=rs6000/t-darwin
extra_objs="darwin.o"
! config_gtfiles="${config_gtfiles} \$(srcdir)/config/darwin.c"
c_target_objs="darwin-c.o"
cxx_target_objs="darwin-c.o"
# Darwin linker does collect2 functionality
--- 2001,2007 ----
tm_p_file="${tm_p_file} darwin-protos.h"
tmake_file=rs6000/t-darwin
extra_objs="darwin.o"
! target_gtfiles="\$(srcdir)/config/darwin.c"
c_target_objs="darwin-c.o"
cxx_target_objs="darwin-c.o"
# Darwin linker does collect2 functionality
Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure.in,v
retrieving revision 1.610
diff -p -r1.610 configure.in
*** configure.in 14 Jul 2002 01:59:13 -0000 1.610
--- configure.in 27 Jul 2002 00:00:14 -0000
*************** objext='.o'
*** 731,737 ****
AC_SUBST(manext)
AC_SUBST(objext)
! config_gtfiles=
build_xm_file=
build_xm_defines=
build_install_headers_dir=install-headers-tar
--- 731,737 ----
AC_SUBST(manext)
AC_SUBST(objext)
! target_gtfiles=
build_xm_file=
build_xm_defines=
build_install_headers_dir=install-headers-tar
*************** all_outputs='Makefile intl/Makefile fixi
*** 2407,2413 ****
# List of language makefile fragments.
all_lang_makefiles=
# Files for gengtype
! all_gtfiles="$config_gtfiles"
# Files for gengtype with language
all_gtfiles_files_langs=
all_gtfiles_files_files=
--- 2407,2413 ----
# List of language makefile fragments.
all_lang_makefiles=
# Files for gengtype
! all_gtfiles="$target_gtfiles"
# Files for gengtype with language
all_gtfiles_files_langs=
all_gtfiles_files_files=