When using qemu's linux-user binaries through binfmt, argv[0] gets lost along the execution because qemu only gets passed in the full file name to the executable while argv[0] can be something completely different. This breaks in some subtile situations, such as the grep and make test suites. This patch adds a wrapper binary called qemu-$TARGET-binfmt that can be used with binfmt's P flag which passes the full path _and_ argv[0] to the binfmt handler. The binary would be smart enough to be versatile and only exist in the system once, creating the qemu binary path names from its own argv[0]. However, this seemed like it didn't fit the make system too well, so we're currently creating a new binary for each target archictecture. CC: Reinhard Max <max@suse.de> Signed-off-by: Alexander Graf <agraf@suse.de> [AF: Rebased onto new Makefile infrastructure, twice] [AF: Updated for aarch64 for v2.0.0-rc1] [AF: Rebased onto Makefile changes for v2.1.0-rc0] Signed-off-by: Andreas Färber <afaerber@suse.de>
10 lines
250 B
Makefile
10 lines
250 B
Makefile
obj-y = main.o syscall.o strace.o mmap.o signal.o \
|
|
elfload.o linuxload.o uaccess.o uname.o
|
|
|
|
obj-$(TARGET_HAS_BFLT) += flatload.o
|
|
obj-$(TARGET_I386) += vm86.o
|
|
obj-$(TARGET_ARM) += arm/nwfpe/
|
|
obj-$(TARGET_M68K) += m68k-sim.o
|
|
|
|
obj-binfmt-y = binfmt.o
|