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]

Re: [PATCH] initial i386-nacl target support for gas


On Fri, Jan 20, 2012 at 3:52 PM, Roland McGrath <mcgrathr@google.com> wrote:
> On Fri, Jan 20, 2012 at 3:37 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> Can you change linker to pad text section with nops?
>
> I imagine it's possible, but it's certainly going to be a lot more hairy.
> The way it's partially done today is with =0x90909090 in the linker script.
> But that only covers the sections named in the linker script, not any
> orphan sections that might be placed.
>
> To do it in a general way in the linker would look at SHF_EXECINSTR
> (i.e. SEC_CODE) on an input section to decide. ?Then it would need some
> backend stuff to tell it what fill to use. ?I can imagine that some
> machines might actually need something different than repeating a single
> sequence (for x86, repeating a single byte is enough regardless of the size
> and alignment of fill required).
>
> The assembler already has handy machinery for all of that, since it does it
> optimally for .align directives followed by more instructions rather than
> the end of the section. ?And the only cost is increasing .o size by a
> negligible number of bytes. ?So I don't really see how it would be any
> practical improvement to do it in the linker, while it would clearly be a
> great deal more work and more likely to introduce new bugs trying to do it.
>

LInker should pad to section alignment properly. If it doesn't
do that, please open a linker bug with a testcase.  Your
assembler workaround may not cover all cases.

-- 
H.J.


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