This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
rs6000:6000 versus powerpc:commom
- From: Joel Sherrill <joel dot sherrill at OARcorp dot com>
- To: binutils at sources dot redhat dot com
- Date: Thu, 13 Feb 2003 14:55:37 -0600
- Subject: rs6000:6000 versus powerpc:commom
- Organization: OAR Corporation
Hi,
I am trying to update the tools shipped with LynxOS 3.1.1
(powerpc-xcoff-lynxos). They ship with a Cygnus GNUPro 98r2
toolset and I am trying to update it. The target they used with
that version appears to be ppc-xcoff-lynxos. I have a nearly
working toolset but there is a difference between the linked programs
between the two toolsets which result in LynxOS refusing to
load and run it.
The old toolset executables have this header information:
good.a.out: file format aixcoff-rs6000
good.a.out
architecture: powerpc:common, flags 0x00000133:
HAS_RELOC, EXEC_P, HAS_SYMS, HAS_LOCALS, D_PAGED
start address 0x20000300
While the executables my new toolset produce have this:
a.out: file format aixcoff-rs6000
a.out
architecture: rs6000:6000, flags 0x00000133:
HAS_RELOC, EXEC_P, HAS_SYMS, HAS_LOCALS, D_PAGED
start address 0xffffffff
I am invoking "old ld" and "new ld" directly with the
exact same libraries and .o files and the final link with
the "old ld" works, while LynxOS refuses to execute the
ones from "new ld" complaining about the object format.
What is the trick to having the default architecture be powerpc:common
with an xcoff target? The old source used rs6000coff_vec so I stuck
with
that.
After debugging a BFD assertion, I ended up with this config.bfd entry:
powerpc-xcoff-lynxos*)
targ_defvec=rs6000coff_vec
targ_selvecs="bfd_elf32_powerpc_vec"
targ_cflags=-DSMALL_ARCHIVE
;;
A hint would be appreciated. Thanks.
--
Joel Sherrill, Ph.D. Director of Research & Development
joel@OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985