mirror of
https://github.com/upx/upx
synced 2025-09-28 19:06:07 +08:00
Make it compile again by adding a more portable setfold.sh script.
committer: mfx <mfx> 962038500 +0000
This commit is contained in:
parent
9be680108e
commit
aba09d07c9
0
.cvsignore
Normal file
0
.cvsignore
Normal file
6
doc/.cvsignore
Normal file
6
doc/.cvsignore
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
upx.1
|
||||||
|
upx.doc
|
||||||
|
upx.html
|
||||||
|
upx.man
|
||||||
|
upx.ps
|
||||||
|
upx.tex
|
0
patches/.cvsignore
Normal file
0
patches/.cvsignore
Normal file
3
src/.cvsignore
Normal file
3
src/.cvsignore
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
*.upx
|
||||||
|
upx
|
||||||
|
upx.map
|
0
src/config_h/.cvsignore
Normal file
0
src/config_h/.cvsignore
Normal file
27
src/stub/.cvsignore
Normal file
27
src/stub/.cvsignore
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
*.asx
|
||||||
|
*.asy
|
||||||
|
*.bin
|
||||||
|
*.i
|
||||||
|
*.lst
|
||||||
|
*.map
|
||||||
|
*.o
|
||||||
|
l_com.h
|
||||||
|
l_djgpp2.h
|
||||||
|
l_exe.h
|
||||||
|
l_le_n2b.h
|
||||||
|
l_le_n2d.h
|
||||||
|
l_lx_n2b.h
|
||||||
|
l_lx_n2d.h
|
||||||
|
l_sh_n2b.h
|
||||||
|
l_sh_n2d.h
|
||||||
|
l_sys.h
|
||||||
|
l_tmt.h
|
||||||
|
l_t_n2b.h
|
||||||
|
l_t_n2bs.h
|
||||||
|
l_t_n2d.h
|
||||||
|
l_t_n2ds.h
|
||||||
|
l_w32pe.h
|
||||||
|
l_wcle.h
|
||||||
|
stubify.h
|
||||||
|
upxb
|
||||||
|
upxd
|
|
@ -61,7 +61,7 @@ APP = perl -w scripts/app.pl
|
||||||
BIN2H = perl -w scripts/bin2h.pl
|
BIN2H = perl -w scripts/bin2h.pl
|
||||||
BRANDELF = perl -w scripts/brandelf.pl
|
BRANDELF = perl -w scripts/brandelf.pl
|
||||||
O2BIN = perl -w scripts/o2bin.pl
|
O2BIN = perl -w scripts/o2bin.pl
|
||||||
SETFOLD = perl -w scripts/setfold.pl
|
SETFOLD = /bin/sh scripts/setfold.sh
|
||||||
##STRIPELF = perl -w scripts/stripelf.pl
|
##STRIPELF = perl -w scripts/stripelf.pl
|
||||||
STRIPELF = ./util/sstrip/sstrip
|
STRIPELF = ./util/sstrip/sstrip
|
||||||
|
|
||||||
|
@ -95,14 +95,14 @@ mostlyclean:
|
||||||
-rm -f *~ *.bin *.bkp *.i *.lst *.map
|
-rm -f *~ *.bin *.bkp *.i *.lst *.map
|
||||||
|
|
||||||
clean: mostlyclean
|
clean: mostlyclean
|
||||||
-rm -f *.o *.asx *.asy upxb upxd
|
-rm -f *.o *.asx *.asy
|
||||||
|
|
||||||
distclean: clean
|
distclean: clean
|
||||||
|
|
||||||
# This command is intended for maintainers to use; it deletes files
|
# This command is intended for maintainers to use; it deletes files
|
||||||
# that may require special tools to rebuild.
|
# that may require special tools to rebuild.
|
||||||
maintainer-clean: distclean
|
maintainer-clean: distclean
|
||||||
-rm -f $(STUBS)
|
-rm -f $(STUBS) upxb upxd
|
||||||
|
|
||||||
ident: all
|
ident: all
|
||||||
ident *.bin
|
ident *.bin
|
||||||
|
@ -188,12 +188,9 @@ l_w32pe.h: l_w32pe.asx
|
||||||
|
|
||||||
l_lx_n2b.h: l_lx_exec.c l_xe_n2b.o l_lx_exec86.lds Makefile
|
l_lx_n2b.h: l_lx_exec.c l_xe_n2b.o l_lx_exec86.lds Makefile
|
||||||
$(CC_LINUX) -DNRV2B -o $T.o -c $<
|
$(CC_LINUX) -DNRV2B -o $T.o -c $<
|
||||||
ld -T l_lx_exec86.lds -Map l_lx_n2b.map -o $T.bin \
|
ld -T l_lx_exec86.lds -Map $T.map -o $T.bin \
|
||||||
l_xe_n2b.o $T.o
|
l_xe_n2b.o $T.o
|
||||||
fold=`nm $T.bin | grep fold_begin | sed 's/.....\(...\).*/0x\1/'`; \
|
$(SETFOLD) $T.bin
|
||||||
objcopy -S -R .comment -R .note $T.bin; \
|
|
||||||
$(SETFOLD) $T.bin $$fold
|
|
||||||
$(STRIPELF) $T.bin
|
|
||||||
$(BRANDELF) $T.bin
|
$(BRANDELF) $T.bin
|
||||||
$(BIN2H) $T.bin linux_i386exec_nrv2b_loader $@
|
$(BIN2H) $T.bin linux_i386exec_nrv2b_loader $@
|
||||||
|
|
||||||
|
@ -201,10 +198,7 @@ l_le_n2b.h: l_lx_elf.c l_6e_n2b.o l_lx_elf86.lds
|
||||||
$(CC_LINUX) -DNRV2B -o $T.o -c $<
|
$(CC_LINUX) -DNRV2B -o $T.o -c $<
|
||||||
ld -T l_lx_elf86.lds -Map $T.map -o $T.bin \
|
ld -T l_lx_elf86.lds -Map $T.map -o $T.bin \
|
||||||
l_6e_n2b.o $T.o
|
l_6e_n2b.o $T.o
|
||||||
fold=`nm $T.bin | grep fold_begin | sed 's/.....\(...\).*/0x\1/'`; \
|
$(SETFOLD) $T.bin
|
||||||
objcopy -S -R .comment -R .note $T.bin; \
|
|
||||||
$(SETFOLD) $T.bin $$fold
|
|
||||||
$(STRIPELF) $T.bin
|
|
||||||
$(BRANDELF) $T.bin
|
$(BRANDELF) $T.bin
|
||||||
$(BIN2H) $T.bin linux_i386elf_nrv2b_loader $@
|
$(BIN2H) $T.bin linux_i386elf_nrv2b_loader $@
|
||||||
|
|
||||||
|
@ -212,10 +206,7 @@ l_sh_n2b.h: l_lx_sh.c l_6h_n2b.o l_lx_sh86.lds
|
||||||
$(CC_LINUX) -DNRV2B -o $T.o -c $<
|
$(CC_LINUX) -DNRV2B -o $T.o -c $<
|
||||||
ld -T l_lx_sh86.lds -Map $T.map -o $T.bin \
|
ld -T l_lx_sh86.lds -Map $T.map -o $T.bin \
|
||||||
l_6h_n2b.o $T.o
|
l_6h_n2b.o $T.o
|
||||||
fold=`nm $T.bin | grep fold_begin | sed 's/.....\(...\).*/0x\1/'`; \
|
$(SETFOLD) $T.bin
|
||||||
objcopy -S -R .comment -R .note $T.bin; \
|
|
||||||
$(SETFOLD) $T.bin $$fold
|
|
||||||
$(STRIPELF) $T.bin
|
|
||||||
$(BRANDELF) $T.bin
|
$(BRANDELF) $T.bin
|
||||||
$(BIN2H) $T.bin linux_i386sh_nrv2b_loader $@
|
$(BIN2H) $T.bin linux_i386sh_nrv2b_loader $@
|
||||||
|
|
||||||
|
@ -233,10 +224,7 @@ l_lx_n2d.h: l_lx_exec.c l_xe_n2d.o l_lx_exec86.lds
|
||||||
$(CC_LINUX) -DNRV2D -o $T.o -c $<
|
$(CC_LINUX) -DNRV2D -o $T.o -c $<
|
||||||
ld -T l_lx_exec86.lds -Map $T.map -o $T.bin \
|
ld -T l_lx_exec86.lds -Map $T.map -o $T.bin \
|
||||||
l_xe_n2d.o $T.o
|
l_xe_n2d.o $T.o
|
||||||
fold=`nm $T.bin | grep fold_begin | sed 's/.....\(...\).*/0x\1/'`; \
|
$(SETFOLD) $T.bin
|
||||||
objcopy -S -R .comment -R .note $T.bin; \
|
|
||||||
$(SETFOLD) $T.bin $$fold
|
|
||||||
$(STRIPELF) $T.bin
|
|
||||||
$(BRANDELF) $T.bin
|
$(BRANDELF) $T.bin
|
||||||
$(BIN2H) $T.bin linux_i386exec_nrv2d_loader $@
|
$(BIN2H) $T.bin linux_i386exec_nrv2d_loader $@
|
||||||
|
|
||||||
|
@ -244,10 +232,7 @@ l_le_n2d.h: l_lx_elf.c l_6e_n2d.o l_lx_elf86.lds
|
||||||
$(CC_LINUX) -DNRV2D -o $T.o -c $<
|
$(CC_LINUX) -DNRV2D -o $T.o -c $<
|
||||||
ld -T l_lx_elf86.lds -Map $T.map -o $T.bin \
|
ld -T l_lx_elf86.lds -Map $T.map -o $T.bin \
|
||||||
l_6e_n2d.o $T.o
|
l_6e_n2d.o $T.o
|
||||||
fold=`nm $T.bin | grep fold_begin | sed 's/.....\(...\).*/0x\1/'`; \
|
$(SETFOLD) $T.bin
|
||||||
objcopy -S -R .comment -R .note $T.bin; \
|
|
||||||
$(SETFOLD) $T.bin $$fold
|
|
||||||
$(STRIPELF) $T.bin
|
|
||||||
$(BRANDELF) $T.bin
|
$(BRANDELF) $T.bin
|
||||||
$(BIN2H) $T.bin linux_i386elf_nrv2d_loader $@
|
$(BIN2H) $T.bin linux_i386elf_nrv2d_loader $@
|
||||||
|
|
||||||
|
@ -255,10 +240,7 @@ l_sh_n2d.h: l_lx_sh.c l_6h_n2d.o l_lx_sh86.lds
|
||||||
$(CC_LINUX) -DNRV2D -o $T.o -c $<
|
$(CC_LINUX) -DNRV2D -o $T.o -c $<
|
||||||
ld -T l_lx_sh86.lds -Map $T.map -o $T.bin \
|
ld -T l_lx_sh86.lds -Map $T.map -o $T.bin \
|
||||||
l_6h_n2d.o $T.o
|
l_6h_n2d.o $T.o
|
||||||
fold=`nm $T.bin | grep fold_begin | sed 's/.....\(...\).*/0x\1/'`; \
|
$(SETFOLD) $T.bin
|
||||||
objcopy -S -R .comment -R .note $T.bin; \
|
|
||||||
$(SETFOLD) $T.bin $$fold
|
|
||||||
$(STRIPELF) $T.bin
|
|
||||||
$(BRANDELF) $T.bin
|
$(BRANDELF) $T.bin
|
||||||
$(BIN2H) $T.bin linux_i386sh_nrv2d_loader $@
|
$(BIN2H) $T.bin linux_i386sh_nrv2d_loader $@
|
||||||
|
|
||||||
|
@ -275,18 +257,19 @@ l_lx_sep.o: l_lx_sep.c
|
||||||
$(CC_LINUX) -c $<
|
$(CC_LINUX) -c $<
|
||||||
|
|
||||||
upxb: l_lx_sep.o l_lx_sep86.asm
|
upxb: l_lx_sep.o l_lx_sep86.asm
|
||||||
$(NASM) -i$(UCL_I386)/ -f elf -dNRV2B -o upxb.o l_lx_sep86.asm
|
$(NASM) -i$(UCL_I386)/ -f elf -dNRV2B -o $T.o l_lx_sep86.asm
|
||||||
ld -T l_lx_sep86.lds -Map upxb.map -o upxb upxb.o l_lx_sep.o
|
ld -T l_lx_sep86.lds -Map $T.map -o $@ $T.o l_lx_sep.o
|
||||||
objcopy -S -R .comment -R .note upxb
|
objcopy -S -R .comment -R .note $@
|
||||||
$(STRIPELF) upxb
|
$(STRIPELF) $@
|
||||||
$(BRANDELF) upxb
|
$(BRANDELF) $@
|
||||||
|
|
||||||
upxd: l_lx_sep.o l_lx_sep86.asm
|
upxd: l_lx_sep.o l_lx_sep86.asm
|
||||||
$(NASM) -i$(UCL_I386)/ -f elf -dNRV2D -o upxd.o l_lx_sep86.asm
|
$(NASM) -i$(UCL_I386)/ -f elf -dNRV2D -o $T.o l_lx_sep86.asm
|
||||||
ld -T l_lx_sep86.lds -Map upxd.map -o upxd upxd.o l_lx_sep.o
|
ld -T l_lx_sep86.lds -Map $T.map -o $@ $T.o l_lx_sep.o
|
||||||
objcopy -S -R .comment -R .note upxd
|
objcopy -S -R .comment -R .note $@
|
||||||
$(STRIPELF) upxd
|
$(STRIPELF) $@
|
||||||
$(BRANDELF) upxd
|
$(BRANDELF) $@
|
||||||
|
|
||||||
|
|
||||||
# /***********************************************************************
|
# /***********************************************************************
|
||||||
# // dependencies
|
# // dependencies
|
||||||
|
|
|
@ -29,7 +29,11 @@ $fname = shift || die;
|
||||||
sysopen (FH,$fname,2) || die;
|
sysopen (FH,$fname,2) || die;
|
||||||
binmode FH;
|
binmode FH;
|
||||||
|
|
||||||
$val = oct shift || die;
|
$val = shift || die "$val";
|
||||||
|
###print STDERR "$val\n";
|
||||||
|
$val = oct($val); # acutally hex()
|
||||||
|
###print STDERR "$val\n";
|
||||||
|
die unless $val;
|
||||||
$num = pack("V", $val);
|
$num = pack("V", $val);
|
||||||
|
|
||||||
# 0x34 = sizeof(Elf32_Ehdr)
|
# 0x34 = sizeof(Elf32_Ehdr)
|
||||||
|
|
23
src/stub/scripts/setfold.sh
Normal file
23
src/stub/scripts/setfold.sh
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
file="$1"
|
||||||
|
|
||||||
|
# get directory of this script
|
||||||
|
bindir=`echo "$0" | sed -e 's|[^/][^/]*$||'`
|
||||||
|
bindir=`cd "$bindir" && pwd`
|
||||||
|
|
||||||
|
sstrip="$bindir/../util/sstrip/sstrip"
|
||||||
|
|
||||||
|
# get address of symbol "fold_begin"
|
||||||
|
fold=`nm -f bsd "$file" | grep fold_begin | sed 's/^0*\([0-9a-fA-F]*\).*/0x\1/'`
|
||||||
|
|
||||||
|
# strip
|
||||||
|
objcopy -S -R .comment -R .note "$file"
|
||||||
|
"$sstrip" "$file"
|
||||||
|
|
||||||
|
# patch address
|
||||||
|
perl -w "$bindir/setfold.pl" "$file" "$fold"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
Loading…
Reference in New Issue
Block a user