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: PowerPC EABI segment alignment


On Thu, Feb 28, 2008 at 10:20:47AM -0800, Michael Eager wrote:
> The PPC SVR4 ABI specifies that segments are aligned on 64K
> (0x10000) boundaries. [PPC SVR4 ABI, pg. 5-1].
>
> The PPC EABI says that there are no program loading requirements.
> [PPC EABI, pg. 19]
>
> Binutils follows the SVR4 specification, even when built with
> --target=powerpc-eabi and sets segment alignment as 0x10000.
> (Except for QNX, where the alignment is 0x1000).  This causes problems
> with non-hosted PPC boards with limited memory: the desired alignment
> is 8 bytes, to avoid memory holes.
>
> I patch binutils to set ELF_MAXPAGESIZE=8 to make this happen.
> How to other folks address this problem?

Maybe you want -N, for building non-paged binaries.  The powerpc-eabi
toolchain can be used with a variety of environments, and some of them
do have memory protection and dynamic paging; for those, you'll need
a page size that the hardware supports.

> Binutils with --target=powerpc-eabi is built the same as
> --target=powerpc-svr4.  Shouldn't these be different configurations?

No one uses the powerpc-svr4 target that I'm aware of.

-- 
Daniel Jacobowitz
CodeSourcery


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