i386 loaders: avoid lld 13 garbage collecting linker sets
Because lld 13 and higher default to garbage collecting start/stop
symbols when using --gc-sections, the linker sets used in the i386 boot
loaders will disappear. This leads to the loaders not recognizing any
commands, and failure to boot.
Until we have a good set of linker scripts for the loaders, work around
it by disabling the start-stop-gc feature.
(cherry picked from commit c90cab0d66
)
This commit is contained in:
parent
34a3091cc3
commit
6d8f2277de
@ -61,6 +61,12 @@ ORG= 0x0
|
||||
|
||||
CFLAGS+= -Wall
|
||||
LDFLAGS+= -static ${LDFLAGS_ORG} -Wl,--gc-sections
|
||||
.if ${LINKER_TYPE} == "lld" && ${LINKER_VERSION} >= 130000
|
||||
# lld 13 and higher default to garbage collecting start/stop symbols,
|
||||
# completely ruining our linker sets. For now, work around it by
|
||||
# disabling this un-feature.
|
||||
LDFLAGS+= -Wl,-z,nostart-stop-gc
|
||||
.endif
|
||||
|
||||
# i386 standalone support library
|
||||
LIBI386= ${BOOTOBJ}/i386/libi386/libi386.a
|
||||
|
Loading…
Reference in New Issue
Block a user