diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2016-11-24 03:41:40 +1100 |
---|---|---|
committer | Michal Marek <mmarek@suse.com> | 2016-11-29 15:58:57 +0100 |
commit | 9da2f584b54fa4bf0df4db220cd89b6c7e691c6e (patch) | |
tree | 1c3d6d0a7af3e5425d203738c91e45caab7f7e80 /scripts | |
parent | 7e441fe759b1133ac995a3bbaee5383a016684a8 (diff) |
kbuild: improve linker compatibility with lib-ksyms.o build
lib-ksyms.o is created by linking an empty input file with a linker
script containing the interesting bits. Currently the empty input file
is an archive containing nothing, however this causes the gold linker
to segfault.
I have opened a bug against gold
https://sourceware.org/bugzilla/show_bug.cgi?id=20767
However this can be worked around by assembling an empty file to link
with instead. The resulting lib-ksyms.o is slightly larger (seemingly
due to empty .text, .data, .bss setions added), but final linked
output should not be changed.
Reported-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.com>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/Makefile.build | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/Makefile.build b/scripts/Makefile.build index 9807a8115896..fb6a5ee1edec 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build @@ -424,7 +424,7 @@ quiet_cmd_export_list = EXPORTS $@ cmd_export_list = $(OBJDUMP) -h $< | \ sed -ne '/___ksymtab/{s/.*+/$(ref_prefix)/;s/ .*/)/;p}' >$(ksyms-lds);\ rm -f $(dummy-object);\ - $(AR) rcs$(KBUILD_ARFLAGS) $(dummy-object);\ + echo | $(CC) $(a_flags) -c -o $(dummy-object) -x assembler -;\ $(LD) $(ld_flags) -r -o $@ -T $(ksyms-lds) $(dummy-object);\ rm $(dummy-object) $(ksyms-lds) |