On 1/11/21 11:32 AM, Tom de Vries wrote: > Hi, > > When running test-case gdb.arch/i386-mpx-sigsegv.exp with target board > unix/-m32, we run into: > ... > (gdb) continue^M > Continuing.^M > Saw a #BR! status 1 at 0x8048c2d^M > ^M > Program received signal SIGSEGV, Segmentation fault^M > Upper bound violation while accessing address 0x0804c15c^M > Bounds: [lower = 0x00000000, upper = 0x00000000].^M > 0x08048a4f in lower (p=0x804c160, a=0x804c180, b=0x804c1a0, c=0x804c1c0, \ > d=0x804c1e0, len=1) at i386-mpx-sigsegv.c:79^M > 79 value = *(p - len);^M > (gdb) FAIL: gdb.arch/i386-mpx-sigsegv.exp: MPX signal segv Lower: 0 > ... > > The problem is that lower and upper in the Bounds message are 0x0, which is > caused by $_siginfo._sifields._sigfault._addr_bnd.{_lower,_upper} evaluating > to 0x0. > > Fix this by copying the si_lower/si_upper fields in > compat_siginfo_from_siginfo. > > Tested on x86_64-linux, with target board unix/-m32. > > Any comments? > Added SEGV_BNDERR define, and committed as below. Thanks, - Tom