RFC: Remove output_target in ld

H. J. Lu hjl@lucon.org
Mon May 22 08:49:00 GMT 2006


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?


H.J.



More information about the Binutils mailing list