Hi all,

This is a report for the archive, rather than anything easily fixable.
While testing one of Ard's sets against CLANG, I tripped over a
behaviour exposed by commit a1b8baccc30b
(BaseTools GCC: use 'gcc' as the linker command for GCC44 and later).

This commit changes the CLANG profiles to invoke the linker via the
'clang' command, rather than as previously directly calling ld (with
appropriate cross toolchain prefix where needed).

Turns out clang, at least the one packaged in Debian 'Jessie', does
not scan the PATH when looking for cross-variants of GNU ld, but
rather goes and looks for it in some commonly used locations. Failing
to find any, it then falls back to the system-provided ld.

The symptom is a failed link step with the message:
/usr/bin/ld: unrecognised emulation mode: aarch64linux

As a workaround, I was able to get my build functional again by
creating a symbolic link /usr/bin/aarch64-linux-gnueabi-ld pointing at
the actual location of my cross-ld.

/
    Leif
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to