NetBSD version 5 requires PT_NOTE for PaX. Also adjust other *BSD and PT_NOTE.

[Tested OK on FreeBSD 8.1, NetBSD 5.1, OpenBSD 4.8.  Cleanup needed.]
This commit is contained in:
John Reiser
2010-11-16 21:13:42 -08:00
parent dfc2efe8a6
commit e6357b81eb
17 changed files with 5108 additions and 2460 deletions
+3 -3
View File
@@ -172,7 +172,7 @@ Idx Name Size VMA LMA File off Algn Flags
167 LEXEC020 00000049 00000000 00000000 00001abe 2**0 CONTENTS, READONLY
168 LUNMP000 00000002 00000000 00000000 00001b07 2**0 CONTENTS, READONLY
169 LUNMP001 00000002 00000000 00000000 00001b09 2**0 CONTENTS, READONLY
170 LEXEC025 0000003e 00000000 00000000 00001b0b 2**0 CONTENTS, RELOC, READONLY
170 LEXEC025 00000040 00000000 00000000 00001b0b 2**0 CONTENTS, RELOC, READONLY
SYMBOL TABLE:
00000000 l d N2BSMA10 00000000 N2BSMA10
00000000 l d N2BFAS11 00000000 N2BFAS11
@@ -660,5 +660,5 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [LEXEC025]:
OFFSET TYPE VALUE
0000003a R_386_PC32 LEXEC020
0000001c R_386_PC32 LEXEC020
0000003c R_386_PC32 LEXEC020
0000001d R_386_PC32 LEXEC020
Binary file not shown.
+36 -35
View File
@@ -9,47 +9,48 @@ Linker script and memory map
TARGET(elf32-i386)
0x0000000000c01080 . = ((0xc01000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000c01080 0x694
.text 0x0000000000c01080 0x68c
*(.text)
.text 0x0000000000c01080 0xcc tmp/i386-openbsd.elf-fold.o
.text 0x0000000000c0114c 0x558 tmp/i386-bsd.elf-main.o
0x0000000000c0156c upx_main
.text 0x0000000000c016a4 0x6d tmp/i386-bsd.syscall.o
0x0000000000c0170d waitpid
0x0000000000c016e1 munmap
0x0000000000c016f5 execve
0x0000000000c016ed getpid
0x0000000000c016fd ftruncate
0x0000000000c016a4 mmap
0x0000000000c01705 nanosleep
0x0000000000c016d5 write
0x0000000000c016d1 read
0x0000000000c01709 unlink
0x0000000000c016f9 fork
0x0000000000c01701 gettimeofday
0x0000000000c016e9 access
0x0000000000c016c9 exit
0x0000000000c016c8 brk
0x0000000000c016d9 open
0x0000000000c016e5 mprotect
0x0000000000c016f1 fcntl
0x0000000000c016dd close
.text 0x0000000000c01080 0xc2 tmp/i386-bsd.elf-fold.o
*fill* 0x0000000000c01142 0x2 00
.text 0x0000000000c01144 0x558 tmp/i386-bsd.elf-main.o
0x0000000000c01564 upx_main
.text 0x0000000000c0169c 0x6d tmp/i386-bsd.syscall.o
0x0000000000c01705 waitpid
0x0000000000c016d9 munmap
0x0000000000c016ed execve
0x0000000000c016e5 getpid
0x0000000000c016f5 ftruncate
0x0000000000c0169c mmap
0x0000000000c016fd nanosleep
0x0000000000c016cd write
0x0000000000c016c9 read
0x0000000000c01701 unlink
0x0000000000c016f1 fork
0x0000000000c016f9 gettimeofday
0x0000000000c016e1 access
0x0000000000c016c1 exit
0x0000000000c016c0 brk
0x0000000000c016d1 open
0x0000000000c016dd mprotect
0x0000000000c016e9 fcntl
0x0000000000c016d5 close
*(.data)
*fill* 0x0000000000c01711 0x3 00
.data 0x0000000000c01714 0x0 tmp/i386-openbsd.elf-fold.o
.data 0x0000000000c01714 0x0 tmp/i386-bsd.elf-main.o
.data 0x0000000000c01714 0x0 tmp/i386-bsd.syscall.o
*fill* 0x0000000000c01709 0x3 00
.data 0x0000000000c0170c 0x0 tmp/i386-bsd.elf-fold.o
.data 0x0000000000c0170c 0x0 tmp/i386-bsd.elf-main.o
.data 0x0000000000c0170c 0x0 tmp/i386-bsd.syscall.o
.data
.bss 0x0000000000c01714 0x0
.bss 0x0000000000c01714 0x0 tmp/i386-openbsd.elf-fold.o
.bss 0x0000000000c01714 0x0 tmp/i386-bsd.elf-main.o
.bss 0x0000000000c01714 0x0 tmp/i386-bsd.syscall.o
.bss 0x0000000000c0170c 0x0
.bss 0x0000000000c0170c 0x0 tmp/i386-bsd.elf-fold.o
.bss 0x0000000000c0170c 0x0 tmp/i386-bsd.elf-main.o
.bss 0x0000000000c0170c 0x0 tmp/i386-bsd.syscall.o
.rel.dyn 0x0000000000c01714 0x0
.rel.text 0x0000000000000000 0x0 tmp/i386-openbsd.elf-fold.o
LOAD tmp/i386-openbsd.elf-fold.o
.rel.dyn 0x0000000000c0170c 0x0
.rel.text 0x0000000000000000 0x0 tmp/i386-bsd.elf-fold.o
LOAD tmp/i386-bsd.elf-fold.o
LOAD tmp/i386-bsd.elf-main.o
LOAD tmp/i386-bsd.syscall.o
OUTPUT(tmp/i386-netbsd.elf-fold.bin elf32-i386)