Subject: bug#33174: 27.0.50; Dump fails on GNU/Linux ppc64le

From: Paul Eggert <[email-masked]>
Date: Sat, 27 Oct 2018 13:26:07 -0700

Wonderful. Yet another reason we need to get the pdumper branch working. Anyway:

1. Can you use strace and/or GDB to investigate how ./temacs is disabling 
address randomization? In the emacs-26 branch, if you run this command in src:

strace -f -o /tmp/tr ./temacs --batch  --load loadup bootstrap

the output file /tmp/tr should contain something like this:

18406 personality(0xffffffff)           = 0 (PER_LINUX)
18406 personality(PER_LINUX|ADDR_NO_RANDOMIZE) = 0 (PER_LINUX)
18406 personality(0xffffffff)           = 0x40000 (PER_LINUX|ADDR_NO_RANDOMIZE)
18406 execve("./temacs", ["./temacs", "--batch", "--load", "loadup", 
"bootstrap"], 0xc521b0 /* 80 vars */) = 0

and later on there should be one more call to 'personality', like this:

18406 personality(0xffffffff)           = 0x40000 (PER_LINUX|ADDR_NO_RANDOMIZE)

If it doesn't look like this, please investigate why, by using GDB.

2. What filesystem are you building in, and does it support xattrs? What is the 
output of the following in your build directory?

     touch x
     setfattr -n user.variable -v value x
     getfattr -n user.variable x

3. What is the output of "getfattr -d src/temacs"? It should be something like this:

# file: src/temacs
user.pax.flags="er"

If not, we need to figure out why not.

4. The output of 'make V=1' should contain something like the following. If not, 
please investigate why not.

setfattr -n user.pax.flags -v er temacs