From: Juergen Gross Date: Wed, 6 Dec 2023 16:17:44 +0000 (+0100) Subject: Mini-OS: don't use objcopy --dump-section X-Git-Tag: xen-4.19.0-rc4~10 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=090eeeb1631f00a9a41ebf66d9b4aacb97eb51e7;p=mini-os.git Mini-OS: don't use objcopy --dump-section The objcopy option "--dump-section" isn't supported in binutils before version 2.25, which are still supported by the Xen build system. Avoid that by using the "-O binary" format together with "--only-section". This requires to set the "alloc" section flag. Fixes: 33411a11f848 ("Mini-OS: hide all symbols not exported via EXPORT_SYMBOLS()") Signed-off-by: Juergen Gross Reviewed-by: Andrew Cooper --- diff --git a/Makefile b/Makefile index 456aed0..6c8df8b 100644 --- a/Makefile +++ b/Makefile @@ -166,7 +166,9 @@ $(OBJ_DIR)/arch/x86/minios-x86%.lds: arch/x86/minios-x86.lds.S $(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds $(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJS) $(LDARCHLIB) -o $@ - $(OBJCOPY) --dump-section .export_symbol=$(OBJ_DIR)/syms $@ + # The following would be neat, but isn't supported in binutils < 2.25 + # $(OBJCOPY) --dump-section .export_symbol=$(OBJ_DIR)/syms $@ + $(OBJCOPY) --set-section-flags .export_symbol=alloc -O binary --only-section=.export_symbol $@ $(OBJ_DIR)/syms $(OBJCOPY) -w -G $(GLOBAL_PREFIX)* --keep-global-symbols=$(OBJ_DIR)/syms --remove-section=.export_symbol $@ $@ $(OBJ_DIR)/$(TARGET): $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O)