Allow re-ordering of functions in upxfd_android.c and upxfd_linux.c

Compiler has a mind of its own.
	modified:   p_lx_elf.cpp
	modified:   stub/Makefile
	new file:   stub/src/amd64-linux.elf-help_umf.S
	modified:   stub/src/arm.v4a-expand.S
	new file:   stub/src/arm.v4a-linux.elf-help_umf.S
	modified:   stub/src/arm.v4a-linux.elf-so_entry.S
	modified:   stub/src/arm.v4a-linux.elf-so_fold.S
	new file:   stub/src/arm.v5a-linux.elf-help_umf.S
	new file:   stub/src/arm64-linux.elf-help_umf.S
	modified:   stub/src/arm64-linux.elf-so_entry.S
	new file:   stub/src/armeb.v4a-linux.elf-help_umf.S
	new file:   stub/src/i386-linux.elf-help_umf.S
	modified:   stub/src/i386-linux.elf-so_main.c
	new file:   stub/src/mips.r3000-linux.elf-help_umf.S
	new file:   stub/src/mipsel.r3000-linux.elf-help_umf.S
	modified:   stub/src/upxfd_android.c
This commit is contained in:
John Reiser
2024-12-04 17:00:37 -08:00
parent 27de5f42bb
commit 982e732b74
16 changed files with 144 additions and 60 deletions
+33
View File
@@ -578,12 +578,14 @@ tc.arm.v4a-linux.elf.gcc += -Wall -W -Wcast-align -Wcast-qual -Wstrict-prototype
arm.v4a-linux.elf-entry.h : $(srcdir)/src/arm.v4a-linux.elf-entry.lds \
$(srcdir)/src/$$T.S \
tmp/arm.v4a-linux.elf-help_umf.o \
tmp/arm.v4a-linux.elf-upxfd_android.o \
tmp/arm.v4a-linux.elf-upxfd_linux.o
$(call tc,gcc) -c $(srcdir)/src/$T.S -o tmp/$T.o
multiarch-ld-2.17 -r --format=elf32-littlearm -Map tmp/$T.map -o tmp/$T.bin \
-T src/arm.v4a-linux.elf-entry.lds \
tmp/$T.o \
tmp/arm.v4a-linux.elf-help_umf.o \
tmp/arm.v4a-linux.elf-upxfd_android.o \
tmp/arm.v4a-linux.elf-upxfd_linux.o
$(call tc,f-embed_objinfo_without_xstrip,tmp/$T.bin)
@@ -591,12 +593,14 @@ arm.v4a-linux.elf-entry.h : $(srcdir)/src/arm.v4a-linux.elf-entry.lds \
arm.v4a-linux.elf-so_entry.h : src/arm.v4a-linux.elf-so_entry.lds \
$(srcdir)/src/$$T.S \
tmp/arm.v4a-linux.elf-help_umf.o \
tmp/arm.v4a-linux.elf-upxfd_android.o \
tmp/arm.v4a-linux.elf-upxfd_linux.o
$(call tc,gcc) -c $(srcdir)/src/$T.S -o tmp/$T.o
multiarch-ld-2.17 -r --format=elf32-littlearm -Map tmp/$T.map -o tmp/$T.bin \
-T src/arm.v4a-linux.elf-so_entry.lds \
tmp/$T.o \
tmp/arm.v4a-linux.elf-help_umf.o \
tmp/arm.v4a-linux.elf-upxfd_android.o \
tmp/arm.v4a-linux.elf-upxfd_linux.o
$(call tc,f-embed_objinfo_without_xstrip,tmp/$T.bin)
@@ -614,6 +618,7 @@ tmp/arm.v4a-linux.elf-upxfd_linux.o : $(srcdir)/src/upxfd_linux.c
arm.v4a-linux.elf-fold.h : $(srcdir)/src/$$T.lds \
tmp/$$T.o \
tmp/arm.v4a-linux.elf-help_umf.o \
tmp/arm.v4a-linux.elf-upxfd_android.o \
tmp/arm.v4a-linux.elf-upxfd_linux.o \
tmp/arm.v4a-expand.o \
@@ -624,6 +629,7 @@ arm.v4a-linux.elf-fold.h : $(srcdir)/src/$$T.lds \
arm.v4a-linux.elf-so_fold.h : $(srcdir)/src/$$T.lds \
tmp/$$T.o \
tmp/arm.v4a-linux.elf-help_umf.o \
tmp/arm.v4a-linux.elf-upxfd_android.o \
tmp/arm.v4a-linux.elf-upxfd_linux.o \
tmp/arm.v4a-expand.o \
@@ -635,6 +641,9 @@ arm.v4a-linux.elf-so_fold.h : $(srcdir)/src/$$T.lds \
tmp/arm.v4a-expand.o: $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
tmp/arm.v4a-linux.elf-help_umf.o: $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
tmp/arm.v4a-linux.elf-fold.o : $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
$(call tc,f-objstrip,$@)
@@ -694,12 +703,14 @@ tc.arm.v5a-linux.elf.gcc += -Wall -W -Wcast-align -Wcast-qual -Wstrict-prototype
arm.v5a-linux.elf-entry.h : $(srcdir)/src/arm.v5a-linux.elf-entry.lds \
$(srcdir)/src/$$T.S \
tmp/arm.v5a-linux.elf-help_umf.o \
tmp/arm.v5a-linux.elf-upxfd_android.o \
tmp/arm.v5a-linux.elf-upxfd_linux.o
$(call tc,gcc) -c $(srcdir)/src/$T.S -o tmp/$T.o
multiarch-ld-2.17 -r --format=elf32-littlearm -Map tmp/$T.map -o tmp/$T.bin \
-T src/arm.v5a-linux.elf-entry.lds \
tmp/$T.o \
tmp/arm.v5a-linux.elf-help_umf.o \
tmp/arm.v5a-linux.elf-upxfd_android.o \
tmp/arm.v5a-linux.elf-upxfd_linux.o
$(call tc,f-embed_objinfo_without_xstrip,tmp/$T.bin)
@@ -707,12 +718,14 @@ arm.v5a-linux.elf-entry.h : $(srcdir)/src/arm.v5a-linux.elf-entry.lds \
arm.v5a-linux.elf-so_entry.h : src/arm.v5a-linux.elf-so_entry.lds \
$(srcdir)/src/$$T.S \
tmp/arm.v5a-linux.elf-help_umf.o \
tmp/arm.v5a-linux.elf-upxfd_android.o \
tmp/arm.v5a-linux.elf-upxfd_linux.o
$(call tc,gcc) -c $(srcdir)/src/$T.S -o tmp/$T.o
multiarch-ld-2.17 -r --format=elf32-littlearm -Map tmp/$T.map -o tmp/$T.bin \
-T src/arm.v5a-linux.elf-so_entry.lds \
tmp/$T.o \
tmp/arm.v5a-linux.elf-help_umf.o \
tmp/arm.v5a-linux.elf-upxfd_android.o \
tmp/arm.v5a-linux.elf-upxfd_linux.o
$(call tc,f-embed_objinfo_without_xstrip,tmp/$T.bin)
@@ -730,6 +743,7 @@ tmp/arm.v5a-linux.elf-upxfd_linux.o : $(srcdir)/src/upxfd_linux.c
arm.v5a-linux.elf-fold.h : $(srcdir)/src/$$T.lds \
tmp/$$T.o \
tmp/arm.v5a-linux.elf-help_umf.o \
tmp/arm.v5a-linux.elf-upxfd_android.o \
tmp/arm.v5a-linux.elf-upxfd_linux.o \
tmp/arm.v5a-expand.o \
@@ -740,6 +754,7 @@ arm.v5a-linux.elf-fold.h : $(srcdir)/src/$$T.lds \
arm.v5a-linux.elf-so_fold.h : $(srcdir)/src/$$T.lds \
tmp/$$T.o \
tmp/arm.v5a-linux.elf-help_umf.o \
tmp/arm.v5a-linux.elf-upxfd_android.o \
tmp/arm.v5a-linux.elf-upxfd_linux.o \
tmp/arm.v5a-expand.o \
@@ -751,6 +766,9 @@ arm.v5a-linux.elf-so_fold.h : $(srcdir)/src/$$T.lds \
tmp/arm.v5a-expand.o: $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
tmp/arm.v5a-linux.elf-help_umf.o: $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
tmp/arm.v5a-linux.elf-fold.o : $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
$(call tc,f-objstrip,$@)
@@ -935,12 +953,14 @@ tc.armeb.v4a-linux.elf.gcc = $(tc.arm.v4a-linux.elf.gcc) -mbig-endian -DBIG_ENDI
armeb.v4a-linux.elf-entry.h : $(srcdir)/src/armeb.v4a-linux.elf-entry.lds \
$(srcdir)/src/$$T.S \
tmp/armeb.v4a-linux.elf-help_umf.o \
tmp/armeb.v4a-linux.elf-upxfd_android.o \
tmp/armeb.v4a-linux.elf-upxfd_linux.o
$(call tc,gcc) -c $(srcdir)/src/$T.S -o tmp/$T.o
multiarch-ld-2.17 -r --format=elf32-bigarm -Map tmp/$T.map -o tmp/$T.bin \
-T src/armeb.v4a-linux.elf-entry.lds \
tmp/$T.o \
tmp/armeb.v4a-linux.elf-help_umf.o \
tmp/armeb.v4a-linux.elf-upxfd_android.o \
tmp/armeb.v4a-linux.elf-upxfd_linux.o
$(call tc,f-embed_objinfo_without_xstrip,tmp/$T.bin)
@@ -948,6 +968,7 @@ armeb.v4a-linux.elf-entry.h : $(srcdir)/src/armeb.v4a-linux.elf-entry.lds \
armeb.v4a-linux.elf-fold.h : $(srcdir)/src/$$T.lds \
tmp/$$T.o \
tmp/armeb.v4a-linux.elf-help_umf.o \
tmp/armeb.v4a-linux.elf-upxfd_android.o \
tmp/armeb.v4a-linux.elf-upxfd_linux.o \
tmp/armeb.v4a-expand.o \
@@ -969,6 +990,9 @@ tmp/armeb.v4a-linux.elf-upxfd_linux.o : $(srcdir)/src/upxfd_linux.c
tmp/armeb.v4a-expand.o: $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
tmp/armeb.v4a-linux.elf-help_umf.o: $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
tmp/armeb.v4a-linux.elf-fold.o : $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
$(call tc,f-objstrip,$@)
@@ -1315,12 +1339,14 @@ tc.i386-linux.elf.gcc += -fweb
i386-linux.elf-entry.h : $(srcdir)/src/i386-linux.elf-entry.lds \
$(srcdir)/src/$$T.S \
tmp/i386-linux.elf-help_umf.o \
tmp/i386-linux.elf-upxfd_android.o \
tmp/i386-linux.elf-upxfd_linux.o
$(call tc,gcc) -c $(srcdir)/src/$T.S -o tmp/$T.o
multiarch-ld-2.17 -r -Map tmp/$T.map -o tmp/$T.bin \
-T src/i386-linux.elf-entry.lds \
tmp/$T.o \
tmp/i386-linux.elf-help_umf.o \
tmp/i386-linux.elf-upxfd_android.o \
tmp/i386-linux.elf-upxfd_linux.o
$(call tc,f-embed_objinfo_without_xstrip,tmp/$T.bin)
@@ -1328,12 +1354,14 @@ i386-linux.elf-entry.h : $(srcdir)/src/i386-linux.elf-entry.lds \
i386-linux.elf-so_entry.h : $(srcdir)/src/i386-linux.elf-so_entry.lds \
$(srcdir)/src/$$T.S \
tmp/i386-linux.elf-help_umf.o \
tmp/i386-linux.elf-upxfd_android.o \
tmp/i386-linux.elf-upxfd_linux.o
$(call tc,gcc) -c $(srcdir)/src/$T.S -o tmp/$T.o
multiarch-ld-2.17 -r -Map tmp/$T.map -o tmp/$T.bin \
-T src/i386-linux.elf-so_entry.lds \
tmp/$T.o \
tmp/i386-linux.elf-help_umf.o \
tmp/i386-linux.elf-upxfd_android.o \
tmp/i386-linux.elf-upxfd_linux.o
$(call tc,f-embed_objinfo_without_xstrip,tmp/$T.bin)
@@ -1351,6 +1379,7 @@ tmp/i386-linux.elf-upxfd_linux.o : $(srcdir)/src/upxfd_linux.c
i386-linux.elf-fold.h : $(srcdir)/src/$$T.lds \
tmp/$$T.o \
tmp/i386-linux.elf-help_umf.o \
tmp/i386-linux.elf-upxfd_android.o \
tmp/i386-linux.elf-upxfd_linux.o \
tmp/i386-expand.o \
@@ -1362,6 +1391,7 @@ i386-linux.elf-fold.h : $(srcdir)/src/$$T.lds \
i386-linux.elf-so_fold.h : $(srcdir)/src/$$T.lds \
tmp/$$T.o \
tmp/i386-linux.elf-help_umf.o \
tmp/i386-linux.elf-upxfd_android.o \
tmp/i386-linux.elf-upxfd_linux.o \
tmp/i386-expand.o \
@@ -1383,6 +1413,9 @@ tmp/i386-linux.elf-so_fold.o : $(srcdir)/src/$$T.S
tmp/i386-expand.o: $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
tmp/i386-linux.elf-help_umf.o: $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
tmp/i386-linux.elf-main2.o : $(srcdir)/src/$$T.c
$(call tc,gcc) -c $< -o $@
$(call tc,f-objstrip,$@)