This is the mail archive of the
mailing list for the binutils project.
Re: RFC: Remove output_target in ld
- From: "H. J. Lu" <hjl at lucon dot org>
- To: binutils at sources dot redhat dot com
- Date: Sun, 21 May 2006 17:28:15 -0700
- Subject: Re: RFC: Remove output_target in ld
- References: <20060521223002.GB16551@lucon.org>
On Sun, May 21, 2006 at 03:30:02PM -0700, H. J. Lu wrote:
> ld has both output_target and ld_emulation, which has a target_name
> field. Both of them are supposed to specify the output target name.
> However, they aren't consistent, especially when a linker supports
> different endians. Why do we need output_target? Can we set
> ld_emulation correctly and use ld_emulation->target_name to replace
> output_target. Also ld supports the GNUTARGET enviroment variable.
> But we don't use it to set ld_emulation. I'd like to modify ld to
> make ld_emulation consistent:
> 1. Initialize ld_emulation properly with
> a. GNUTARGET.
> b. -m EMULATION.
> and correct endian, based on -EL/-BL.
> 2. Use ld_emulation->target_name to identify the output target.
I realized that emulation may be just a subset of supported targets.
Can we generate little endian ELF with big endian emulation? If yes,
how do we do it?