ovmf: avoid linking with gold
Linking with gold fails due to an internal error in gold. The ovmf linker is gcc, which has a -fuse-ld=bfd option to choose the linker which (for ovmf) is known to work. Like the choice of the compilers, this is done in ovmf-native. To keep that recipe independent of DISTRO_FEATURES, choosing bfd is done unconditionally. (From OE-Core rev: 7ee548b9f6f2893caf6b5ade8c892f2968d4ec47) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
b152870bf4
commit
8e7f76bd8a
|
@ -98,6 +98,14 @@ fix_toolchain_append_class-native() {
|
||||||
-e '/^LINKER/a LFLAGS += ${BUILD_LDFLAGS}\nCFLAGS += ${BUILD_CFLAGS}' \
|
-e '/^LINKER/a LFLAGS += ${BUILD_LDFLAGS}\nCFLAGS += ${BUILD_CFLAGS}' \
|
||||||
${S}/BaseTools/Source/C/Makefiles/app.makefile \
|
${S}/BaseTools/Source/C/Makefiles/app.makefile \
|
||||||
${S}/BaseTools/Source/C/VfrCompile/GNUmakefile
|
${S}/BaseTools/Source/C/VfrCompile/GNUmakefile
|
||||||
|
# Linking with gold fails:
|
||||||
|
# internal error in do_layout, at ../../gold/object.cc:1821
|
||||||
|
# make: *** [.../OUTPUT/Facs.acpi] Error 1
|
||||||
|
# We intentionally hard-code the use of ld.bfd regardless of DISTRO_FEATURES
|
||||||
|
# to make ovmf-native reusable across distros.
|
||||||
|
sed -i \
|
||||||
|
-e 's#^\(DEFINE GCC.*DLINK.*FLAGS *=\)#\1 -fuse-ld=bfd#' \
|
||||||
|
${S}/BaseTools/Conf/tools_def.template
|
||||||
}
|
}
|
||||||
|
|
||||||
GCC_VER="$(${CC} -v 2>&1 | tail -n1 | awk '{print $3}')"
|
GCC_VER="$(${CC} -v 2>&1 | tail -n1 | awk '{print $3}')"
|
||||||
|
|
Loading…
Reference in New Issue