Port-xen archive

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

NX bit and a.out



It looks like the recent patches to enable the NX bit on Xen ports has
broken a.out binaries.
I confirmed that forcing PG_NX to 0 in sys/arch/i386/include/pte.h allows
a.out programs to work.
Here is a ktrace from a small program.
 1028 0 ktrace EMUL "netbsd"
 1028 0 ktrace RET ktrace 0
 1028 0 ktrace CALL execve(0xbf7fe928,0xbf7fee00,0xbf7fee08)
 1028 0 ktrace NAMI "/usr/local/sbin/mpage.old"
 1028 0 ktrace RET execve -1 errno 2 No such file or directory
 1028 0 ktrace CALL execve(0xbf7fe928,0xbf7fee00,0xbf7fee08)
 1028 0 ktrace NAMI "/usr/local/bin/mpage.old"
 1028 0 mpage.old EMUL "netbsd"
 1028 0 mpage.old RET syscall JUSTRETURN
 1028 0 mpage.old CALL open(0x10ab,0,0)
 1028 0 mpage.old NAMI "/usr/libexec/ld.so"
 1028 0 mpage.old RET open 3
 1028 0 mpage.old CALL read(3,0xbf7ffe44,0x20)
 1028 0 mpage.old GIO fd 3 read 32 bytes
 "\M-@\M^F\^A\v0円\M-P0円0円0円\^P0円0円\M-P0円0円0円0円0円0円0円 0円0円0円0円0円0円0円0円0円0円0円"
 1028 0 mpage.old RET read 32/0x20
 1028 0 mpage.old CALL mmap(0,0xe0d0,5,4,3,0,0,0)
 1028 0 mpage.old RET mmap -1149304832/0xbb7f0000
 1028 0 mpage.old CALL mmap(0xbb7fd000,0x1000,3,0x14,3,0,0xd000,0)
 1028 0 mpage.old RET mmap -1149251584/0xbb7fd000
 1028 0 mpage.old CALL mmap(0xbb7fe000,0xd0,3,0x1014,0xffffffff,0,0,0)
 1028 0 mpage.old RET mmap -1149247488/0xbb7fe000
 1028 0 mpage.old PSIG SIGSEGV SIG_DFL: code=SEGV_ACCERR, 
addr=0xbb7fd0e8, trap=6)
 1028 0 mpage.old NAMI "mpage.old.core"
Thanks.
--
- Brian


Home | Main Index | Thread Index | Old Index

AltStyle によって変換されたページ (->オリジナル) /