tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

9.1: nested functions crash



I just installed 9.1 (absolutely stock) for work.  I tried to compile
one of my own tools on it, and it crashes.  (This is on amd64.)

gdb says the stack trace looks like

#0  0x00007e9f36d6791a in _lwp_kill () from /usr/lib/libc.so.12
#1  0x00007e9f36d671ca in abort () at /usr/src/lib/libc/stdlib/abort.c:74
#2  0x00007e9f3720294c in __enable_execute_stack (addr=0x7f7fff724f94)
    at enable-execute-stack.c:77

with the next frame's pc being in the entry prologue of a function that
contains a nested function, so presumably it's failing when trying to
enable execution for the stack trampoline.

Presumably this is NetBSD trying to break execute-out-of-the-stack
malware.  This is not an unreasonable default, but, for this use case,
it's a crippling misfeature.  How do I disable it?  sysctl -a output
contains nothing promising (I looked for "exec" and "stack"); neither
does the usr/src/sys/arch/amd64/conf/GENERIC (same searches).

If this belongs somewhere other than tech-userlevel, just point me in
the correct direction....

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse%rodents-montreal.org@localhost
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index