diff --git a/src/stub/Makefile b/src/stub/Makefile index faab5859..1cbe6efa 100644 --- a/src/stub/Makefile +++ b/src/stub/Makefile @@ -592,7 +592,6 @@ arm.v4a-linux.elf-so_entry.h : src/arm.v4a-linux.elf-so_entry.lds \ tmp/arm.v4a-linux.elf-upxfd_android.o : $(srcdir)/src/upxfd_android.c $(call tc,gcc) -c -O $< -o $@ $(call tc,objcopy) --rename-section .text=UMF_ANDROID -R .comment -R .data -R .bss -R .note.GNU-stack $@ - $(call tc,objcopy) -R .comment $@ $(call tc,objdump) -Dr $(tc_objdump_disasm_options) $@ | $(RTRIM) > $@.disasm tmp/arm.v4a-linux.elf-upxfd_linux.o : $(srcdir)/src/upxfd_linux.c @@ -1566,14 +1565,12 @@ tmp/mips.r3000-linux.elf-upxfd_linux.o : $(srcdir)/src/upxfd_linux.c mips.r3000-linux.elf-fold.h : $(srcdir)/src/$$T.lds \ $(srcdir)/src/$$T.S \ tmp/mips.r3000-linux.elf-main2.s \ - tmp/mips.r3000-linux.upxfd_android.s \ tmp/mips.r3000-linux.upxfd_linux.s \ src/mips.r3000-expand.S @echo; echo TARGET: $@; echo cat > tmp/mips.r3000-linux.elf-fold-2.S \ src/mips.r3000-linux.elf-fold.S \ tmp/mips.r3000-linux.elf-main2.s \ - tmp/mips.r3000-linux.upxfd_android.s \ tmp/mips.r3000-linux.upxfd_linux.s \ src/mips.r3000-expand.S (cd tmp; ln -sf ../src/arch arch) @@ -1607,6 +1604,7 @@ tmp/mips.r3000-linux.upxfd_linux.s: $(srcdir)/src/upxfd_linux.c $(call tc,gcc) -S -D__mips__ \ -D_TARGET_LINUX_ -DNO_WANT_MMAP -O $< -o - \ | sed -e '/^\t\.file\t/d' \ + -e '/^\t*\.text/s//.section UMF_LINUX/' \ -e 's/L[0-9][0-9]*/L9&/g' \ -e $$(cat src/dollar-dollar.sed) \ -e 's/ j[ ][ ]*$$L/ b $$L/' \ @@ -1879,7 +1877,7 @@ tmp/powerpc-linux.elf-main2.o : $(srcdir)/src/$$T.c tmp/powerpc-linux.elf-upxfd_linux.o : $(srcdir)/src/upxfd_linux.c $(call tc,gcc) -c -O $< -o $@ - $(call tc,objcopy) -R .comment -R .data -R .bss -R .note.GNU-stack $@ + $(call tc,objcopy) --rename-section .text=UMF_LINUX -R .comment -R .data -R .bss -R .note.GNU-stack $@ $(call tc,objdump) -Dr $(tc_objdump_disasm_options) $@ | $(RTRIM) > $@.disasm tmp/powerpc-expand.o: $(srcdir)/src/$$T.S diff --git a/src/stub/src/powerpc-expand.S b/src/stub/src/powerpc-expand.S index c32d45eb..ec715d36 100644 --- a/src/stub/src/powerpc-expand.S +++ b/src/stub/src/powerpc-expand.S @@ -153,6 +153,10 @@ eof_nrv: unfilter: #include "arch/powerpc/64/bxx.S" // unfilter code; args in registers, fall-through return + .balign 4 +upx_mmap_and_fd: .globl upx_mmap_and_fd + // UMF_ANDROID or UMF_LINUX must be loaded after EXP_TAIL + #define NO_METHOD_CHECK 1 /* subsumed here by daisy chain */ #define off a4 diff --git a/src/stub/src/powerpc-linux.elf-fold.S b/src/stub/src/powerpc-linux.elf-fold.S index b856e7aa..3ff9afdd 100644 --- a/src/stub/src/powerpc-linux.elf-fold.S +++ b/src/stub/src/powerpc-linux.elf-fold.S @@ -269,9 +269,6 @@ sz_auxv= 2*NBPW section SYSCALLS -upx_mmap_and_fd: .globl upx_mmap_and_fd - b upx_mmap_and_fd_linux - SYS_exit= 1 SYS_fork= 2 SYS_read= 3