This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Comments requested for proposed for ld scripting language extension


I've been working on a binutils port to the Freescale VLE part, more specifically, on interlinking. For those not familiar with the requirements, interlinking is a bit different than for other ports such as ARM and MIPS. There are no special call instructions or mode switches. BookE and VLE instructions can be intermixed as long as they reside in separate ELF sections. The VLE instruction sections are marked with a PowerPC-specific section header (SHF_PPC_VLE).

Because we have so many "specially named" sections .gnu.linkonce, .text, .init, and friends, I want to avoid a scheme that relies on a naming convention to differentiate between VLE sections and BookE sections. What I would like to do is add an extension to the scripting language. Something like this:

MEMORY
{
  ram (rwx) : ORIGIN = 0x100000, LENGTH = 144M
}

SECTIONS
{
  .text : WITHOUT_FLAGS (SHF_PPC_VLE)
  {
    *(.text .text.* .gnu.linkonce.t.*)
  } >ram
  .text_vle : WITH_FLAGS (SHF_PPC_VLE)
  {
    *(.text .text.* .gnu.linkonce.t.*)
  } >ram
}

map_input_to_output_sections would then walk the input sections for those sections with an optional "FLAG" marker. A callback would be introduced that would examine the ELF header flags for the input sections and gather only those that met the criteria.

I realize that this is an ELF-centric proposal. Although it could be extended to include other object formats, I haven't given that aspect alot of thought.

Before I spend time on development, I'd like to solicit comments ahead of time. How do the maintainers and others feel about this plan?

Thanks,
Catherine


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]