friendly ping for patch review.

On Thu, Sep 12, 2019 at 4:32 AM Manoj Gupta <manojgu...@google.com> wrote:
>
> LLD is a new linker for LLVM project.
> Add tc-ld-is-lld helper to be able to detect it.
>
> Signed-off-by: Manoj Gupta <manojgu...@google.com>
> ---
>  eclass/toolchain-funcs.eclass | 30 ++++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
>
> diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
> index 7bd90bb4e4a..e358d484417 100644
> --- a/eclass/toolchain-funcs.eclass
> +++ b/eclass/toolchain-funcs.eclass
> @@ -453,6 +453,36 @@ tc-ld-is-gold() {
>         return 1
>  }
>
> +# @FUNCTION: tc-ld-is-lld
> +# @USAGE: [toolchain prefix]
> +# @DESCRIPTION:
> +# Return true if the current linker is set to lld.
> +tc-ld-is-lld() {
> +       local out
> +
> +       # First check the linker directly.
> +       out=$($(tc-getLD "$@") --version 2>&1)
> +       if [[ ${out} == *"LLD"* ]] ; then
> +               return 0
> +       fi
> +
> +       # Then see if they're selecting lld via compiler flags.
> +       # Note: We're assuming they're using LDFLAGS to hold the
> +       # options and not CFLAGS/CXXFLAGS.
> +       local base="${T}/test-tc-lld"
> +       cat <<-EOF > "${base}.c"
> +       int main() { return 0; }
> +       EOF
> +       out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version 
> "${base}.c" -o "${base}" 2>&1)
> +       rm -f "${base}"*
> +       if [[ ${out} == *"LLD"* ]] ; then
> +               return 0
> +       fi
> +
> +       # No lld here!
> +       return 1
> +}
> +
>  # @FUNCTION: tc-ld-disable-gold
>  # @USAGE: [toolchain prefix]
>  # @DESCRIPTION:
> --
> 2.23.0.162.g0b9fbb3734-goog
>

Reply via email to