Mach-o for 'rust' has intermixed LC_SEGMENT64 "__DWARF" with 0==.vmsize
https://github.com/upx/upx/issues/222 modified: p_mach.cpp modified: stub/src/amd64-darwin.macho-main.c modified: stub/src/amd64-darwin.macho-upxmain.c also *-darwin.macho-fold.{h,map}
This commit is contained in:
@@ -72,7 +72,7 @@ LOAD tmp/amd64-darwin.macho-main.o
|
||||
.plt
|
||||
*(.plt)
|
||||
|
||||
.text 0x0000000008048000 0x863
|
||||
.text 0x0000000008048000 0x88b
|
||||
*(.text .stub .text.* .gnu.linkonce.t.*)
|
||||
.text 0x0000000008048000 0x1d0 tmp/amd64-darwin.macho-fold.o
|
||||
0x00000000080480b8 munmap
|
||||
@@ -86,17 +86,17 @@ LOAD tmp/amd64-darwin.macho-main.o
|
||||
0x00000000080480c4 open
|
||||
0x00000000080480b4 mprotect
|
||||
0x00000000080480c0 close
|
||||
.text 0x00000000080481d0 0x693 tmp/amd64-darwin.macho-main.o
|
||||
.text 0x00000000080481d0 0x6bb tmp/amd64-darwin.macho-main.o
|
||||
0x000000000804834c do_xmap
|
||||
0x00000000080486ce upx_main
|
||||
0x00000000080486f6 upx_main
|
||||
*(.text.*personality*)
|
||||
*(.gnu.warning)
|
||||
|
||||
.fini
|
||||
*(.fini)
|
||||
0x0000000008048863 PROVIDE (__etext, .)
|
||||
0x0000000008048863 PROVIDE (_etext, .)
|
||||
0x0000000008048863 PROVIDE (etext, .)
|
||||
0x000000000804888b PROVIDE (__etext, .)
|
||||
0x000000000804888b PROVIDE (_etext, .)
|
||||
0x000000000804888b PROVIDE (etext, .)
|
||||
|
||||
.rodata
|
||||
*(.rodata .rodata.* .gnu.linkonce.r.*)
|
||||
@@ -112,8 +112,8 @@ LOAD tmp/amd64-darwin.macho-main.o
|
||||
|
||||
.gcc_except_table
|
||||
*(.gcc_except_table .gcc_except_table.*)
|
||||
0x0000000008048863 . = (ALIGN (0x1000) - ((0x1000 - .) & 0xfff))
|
||||
0x0000000008049863 . = (0x1000 DATA_SEGMENT_ALIGN 0x1000)
|
||||
0x000000000804888b . = (ALIGN (0x1000) - ((0x1000 - .) & 0xfff))
|
||||
0x000000000804988b . = (0x1000 DATA_SEGMENT_ALIGN 0x1000)
|
||||
|
||||
.eh_frame
|
||||
*(.eh_frame)
|
||||
@@ -128,22 +128,22 @@ LOAD tmp/amd64-darwin.macho-main.o
|
||||
*(.tbss .tbss.* .gnu.linkonce.tb.*)
|
||||
*(.tcommon)
|
||||
|
||||
.preinit_array 0x0000000008049863 0x0
|
||||
0x0000000008049863 PROVIDE (__preinit_array_start, .)
|
||||
.preinit_array 0x000000000804988b 0x0
|
||||
0x000000000804988b PROVIDE (__preinit_array_start, .)
|
||||
*(.preinit_array)
|
||||
0x0000000008049863 PROVIDE (__preinit_array_end, .)
|
||||
0x000000000804988b PROVIDE (__preinit_array_end, .)
|
||||
|
||||
.init_array 0x0000000008049863 0x0
|
||||
0x0000000008049863 PROVIDE (__init_array_start, .)
|
||||
.init_array 0x000000000804988b 0x0
|
||||
0x000000000804988b PROVIDE (__init_array_start, .)
|
||||
*(SORT(.init_array.*))
|
||||
*(.init_array)
|
||||
0x0000000008049863 PROVIDE (__init_array_end, .)
|
||||
0x000000000804988b PROVIDE (__init_array_end, .)
|
||||
|
||||
.fini_array 0x0000000008049863 0x0
|
||||
0x0000000008049863 PROVIDE (__fini_array_start, .)
|
||||
.fini_array 0x000000000804988b 0x0
|
||||
0x000000000804988b PROVIDE (__fini_array_start, .)
|
||||
*(.fini_array)
|
||||
*(SORT(.fini_array.*))
|
||||
0x0000000008049863 PROVIDE (__fini_array_end, .)
|
||||
0x000000000804988b PROVIDE (__fini_array_end, .)
|
||||
|
||||
.ctors
|
||||
*crtbegin*.o(.ctors)
|
||||
@@ -169,35 +169,35 @@ LOAD tmp/amd64-darwin.macho-main.o
|
||||
|
||||
.got
|
||||
*(.got)
|
||||
0x0000000008049863 . = (. DATA_SEGMENT_RELRO_END 0xc)
|
||||
0x000000000804988b . = (. DATA_SEGMENT_RELRO_END 0xc)
|
||||
|
||||
.got.plt
|
||||
*(.got.plt)
|
||||
|
||||
.data 0x0000000008049864 0x0
|
||||
.data 0x000000000804988c 0x0
|
||||
*(.data .data.* .gnu.linkonce.d.*)
|
||||
.data 0x0000000008049864 0x0 tmp/amd64-darwin.macho-fold.o
|
||||
.data 0x0000000008049864 0x0 tmp/amd64-darwin.macho-main.o
|
||||
.data 0x000000000804988c 0x0 tmp/amd64-darwin.macho-fold.o
|
||||
.data 0x000000000804988c 0x0 tmp/amd64-darwin.macho-main.o
|
||||
*(.gnu.linkonce.d.*personality*)
|
||||
|
||||
.data1
|
||||
*(.data1)
|
||||
0x0000000008049864 _edata = .
|
||||
0x0000000008049864 PROVIDE (edata, .)
|
||||
0x0000000008049864 __bss_start = .
|
||||
0x000000000804988c _edata = .
|
||||
0x000000000804988c PROVIDE (edata, .)
|
||||
0x000000000804988c __bss_start = .
|
||||
|
||||
.bss 0x0000000008049864 0x0
|
||||
.bss 0x000000000804988c 0x0
|
||||
*(.dynbss)
|
||||
*(.bss .bss.* .gnu.linkonce.b.*)
|
||||
.bss 0x0000000008049864 0x0 tmp/amd64-darwin.macho-fold.o
|
||||
.bss 0x0000000008049864 0x0 tmp/amd64-darwin.macho-main.o
|
||||
.bss 0x000000000804988c 0x0 tmp/amd64-darwin.macho-fold.o
|
||||
.bss 0x000000000804988c 0x0 tmp/amd64-darwin.macho-main.o
|
||||
*(COMMON)
|
||||
0x0000000008049864 . = ALIGN ((. != 0x0)?0x4:0x1)
|
||||
0x0000000008049864 . = ALIGN (0x4)
|
||||
0x0000000008049864 . = ALIGN (0x4)
|
||||
0x0000000008049864 _end = .
|
||||
0x0000000008049864 PROVIDE (end, .)
|
||||
0x0000000008049864 . = DATA_SEGMENT_END (.)
|
||||
0x000000000804988c . = ALIGN ((. != 0x0)?0x4:0x1)
|
||||
0x000000000804988c . = ALIGN (0x4)
|
||||
0x000000000804988c . = ALIGN (0x4)
|
||||
0x000000000804988c _end = .
|
||||
0x000000000804988c PROVIDE (end, .)
|
||||
0x000000000804988c . = DATA_SEGMENT_END (.)
|
||||
|
||||
.stab
|
||||
*(.stab)
|
||||
|
||||
Reference in New Issue
Block a user