On Feb 6, 2011, at 9:53 AM, Jeff Rizzo wrote:
Since the PPC changes brought in a couple weeks ago, I have not been
able to run a -current userland on my G4/400.
There was a problem where the kernel would not start, which was
fixed by matt@ after a few days, and I can successfully boot a
GENERIC from the latest autobuilds. However, when I unpack userland
(base.tgz, in this case), basically all binaries except those in
/rescue stop working. I get these kinds of messages from the kernel:
trap: pid 694.1 (ls): user read DSI trap @ 0x407eb46c by 0xeff0f2dc
(DSISR 0x40000000, err=14)
trap: pid 541.1 (dmesg): user ISI trap @ 0x2000 (SRR1=0x4000f032)
trap: pid 167.1 (dmesg): user ISI trap @ 0x2000 (SRR1=0x4000f032)
...once I back out to userland from 20110111, things start working
again.
Does anyone have any clue what's going on here? This is the box
that I was using to run ATF tests on, and it's basically been idle
for three weeks because of this.
The latest commit to powerpc/include/asm.h fixes this. I didn't realize
that after my changes that binutils/gcc automatically switched to using
secure-plt by default. The change to asm.h make .S files use secureplt
as well.
One side effect of this is that PPC programs will no longer have
executable .data/.bss and startup times will be slightly faster.