This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: PowerPC EABI segment alignment
- From: Daniel Jacobowitz <drow at false dot org>
- To: binutils at sourceware dot org
- Date: Fri, 29 Feb 2008 09:12:58 -0500
- Subject: Re: PowerPC EABI segment alignment
- References: <47C6FB7F.5000004@eagercon.com>
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