x86emul: fix test harness build for gas 2.36
authorJan Beulich <jbeulich@suse.com>
Mon, 17 May 2021 13:41:28 +0000 (15:41 +0200)
committerJan Beulich <jbeulich@suse.com>
Mon, 17 May 2021 13:41:28 +0000 (15:41 +0200)
All of the sudden, besides .text and .rodata and alike, an always
present .note.gnu.property section has appeared. This section, when
converting to binary format output, gets placed according to its
linked address, causing the resulting blobs to be about 128Mb in size.
The resulting headers with a C representation of the binary blobs then
are, of course all a multiple of that size (and take accordingly long
to create). I didn't bother waiting to see what size the final
test_x86_emulator binary then would have had.

See also https://sourceware.org/bugzilla/show_bug.cgi?id=27753.

Rather than figuring out whether gas supports -mx86-used-note=, simply
remove the section while creating *.bin.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
tools/tests/x86_emulator/testcase.mk

index dafeb6caf76988f756e3acd5b0a884a8dfc812f1..d4aa82e3f342e5998d985aa984b42a214934541e 100644 (file)
@@ -12,11 +12,11 @@ all: $(TESTCASE).bin
 %.bin: %.c
        $(CC) $(filter-out -M% .%,$(CFLAGS)) -c $<
        $(LD) $(LDFLAGS_DIRECT) -N -Ttext 0x100000 -o $*.tmp $*.o
-       $(OBJCOPY) -O binary $*.tmp $@
+       $(OBJCOPY) -O binary -R .note.gnu.property $*.tmp $@
        rm -f $*.tmp
 
 %-opmask.bin: opmask.S
        $(CC) $(filter-out -M% .%,$(CFLAGS)) -c $< -o $(basename $@).o
        $(LD) $(LDFLAGS_DIRECT) -N -Ttext 0x100000 -o $(basename $@).tmp $(basename $@).o
-       $(OBJCOPY) -O binary $(basename $@).tmp $@
+       $(OBJCOPY) -O binary -R .note.gnu.property $(basename $@).tmp $@
        rm -f $(basename $@).tmp