PATCH: Don't align text/data/bss sections in x86 assembler

H.J. Lu hjl.tools@gmail.com
Mon Jun 3 16:49:00 GMT 2013


On Mon, Jun 3, 2013 at 9:28 AM, John Reiser <jreiser@bitwagon.com> wrote:
> On 06/03/2013, H.J. Lu wrote:
>>  [[snip]]   The section
>> alignment is very arbitrary:
>>
>> 1. Many arches don't do it.
>> 2. Only x86 ELF did it.
>
> x86 ELF did it for a reason.  The default addressing convention for 16-bit sections
> (i286) requires paragraph alignment which in hardware is at least 0x10
> but in UNIX traditionally was 0x20.  Embedding 16-bit code at the beginning
> of a 32-bit .text section was reasonable and did happen.  Recent Linux
> no longer supports virtual86 mode, but there are other OS.
>

0x10 is 16 byte.  If one needs 16 byte alignment, one has
to align it by hand.

--
H.J.



More information about the Binutils mailing list