This is the mail archive of the 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

Daniel Jacobowitz wrote:
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.

-N makes read-only sections writable which leads them to being merged with writable sections. That's undesirable when you want to put R/O data in ROM and R/W in RAM. Text segment is still aligned on a 64K boundary, IIRC.

Powerpc-eabi may be used in different environments, but I
don't see how it works correctly in the EABI environment.

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.

There are several targets which are built the same: powerpc-elf, powerpc-eabi, powerpc-sysv, powerpc-netbsd, powerpc-openbsd, powerpc-kaos. I can guess that there are similarities between SysV, NetBSD, OpenBSD, (don't know kaos) but EABI is different, at least in terms of segment alignment.

Michael Eager
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077

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