home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: gnu.gcc.help
- Path: sparky!uunet!darwin.sura.net!mips!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!osf.ORG!meissner
- From: meissner@osf.ORG
- Subject: Re: installing gcc linker (ld)
- Message-ID: <9207221431.AA03131@tiktok.osf.org>
- Sender: daemon@cis.ohio-state.edu
- Organization: GNUs Not Usenet
- References: meissner@osf.ORG
- Distribution: gnu
- Date: Wed, 22 Jul 1992 06:31:14 GMT
- Lines: 29
-
- |
- | +laser3$ ld -d -r -Bstatic -o test2.o test.o
- | +ld: test.o: wrong machine type
- | +collect: /usr/bin/ld returned 4 exit status
- |
- | However, your stated command line seems to indicate that you're
- | using the sparc 'ld' rather than
- | '/usr/local/lib/gcc-lib/sun3/2.2.2/ld' (or something to that
- | effect).
- |
- | Actually, what's probably happening here is that collect is being
- | installed for the cross-compiler, and collect has buried in it some
- | hardcoded pathnames for where to find the system linker.
- |
- | You need to remove the ld in $(libsubdir)/ld and replace that with the
- | cross-linker. The linker in the binutils should work just find for a
- | cross-68k environment.
-
- Or alternatively, put the real linker as $(libsubdir)/real-ld, and
- then you can happily do cross development of GCC and G++ files. If
- your system needs collect, and you replace 'ld' with a real linker,
- you will not be able to use static constructors and destructors in
- G++.
-
- --
- Michael Meissner email: meissner@osf.org phone: 617-621-8861
- Open Software Foundation, 11 Cambridge Center, Cambridge, MA, 02142
-
- You are in a twisty little passage of standards, all conflicting.
-