On Jul 10, 2009, at 9:37 AM, Kumar Gala wrote:


On Jul 9, 2009, at 11:15 PM, Alan Modra wrote:

On Thu, Jul 09, 2009 at 02:31:53PM -0500, Edmar Wienskoski-RA8797 wrote:
I understand your arguments, but there is something inconsistent about this.
If I change the script to be:
     _end3 = . ;
     . = _end3;
     . = ALIGN(PAGE_SIZE);
     _end = . ;
     PROVIDE32 (end = .);
}
The result is corrected:
c067f678 A _end3
c0680000 A _end

Why the apuinfo section with zero VMA sometimes interfere with "." and
sometimes not ?

I said it was weird in my last email. Not so. The orphan gets placed
between

     _end3 = . ;
     . = _end3;

So dot is restored after the orphan section sets it.

This seems to be a bit of a chick and egg scenario. Older kernel linker scripts aren't going to cover all sections and thus may have orphan sections. How do we ensure _end can be set properly under such conditions?

Not sure if this helps, but I've isolated down the version of binutils that changes to:

binutils-2.19           _end is what we expect
binutils-2.19.1         _end is what we expect
binutils-2.19.50.0.1    _end is what we expect
binutils-2.19.51.0.1    _end is 00001000

From the release notes:

binutils-2.19.50.0.1 is based on CVS binutils 2008 1007
binutils-2.19.51.0.1 is based on CVS binutils 2009 0106

- k
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to