diff options
| author | Kushal Pal <kushpal@qti.qualcomm.com> | 2025-05-12 14:18:39 +0530 |
|---|---|---|
| committer | Eli Schwartz <eschwartz93@gmail.com> | 2025-06-05 02:23:55 -0400 |
| commit | 52eb4cdee110b73a4d180e2d64445de0e122513e (patch) | |
| tree | 3bb289ce2d5638eaff39c9923ffc182a21de6e47 | |
| parent | c93f615c9e5a9d9c62d8d0c65602be28840fc67b (diff) | |
| download | meson-52eb4cdee110b73a4d180e2d64445de0e122513e.tar.gz | |
Add eld as default linker for Qualcomm Hexagon compiler
Signed-off-by: Kushal Pal <kushpal@qti.qualcomm.com>
| -rw-r--r-- | mesonbuild/compilers/mixins/clang.py | 5 | ||||
| -rw-r--r-- | mesonbuild/linkers/detect.py | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/mesonbuild/compilers/mixins/clang.py b/mesonbuild/compilers/mixins/clang.py index ae5ab631b..72b987a12 100644 --- a/mesonbuild/compilers/mixins/clang.py +++ b/mesonbuild/compilers/mixins/clang.py @@ -155,7 +155,10 @@ class ClangCompiler(GnuLikeCompiler): # llvm based) is retargetable, while GCC is not. # - # qcld: Qualcomm Snapdragon linker, based on LLVM + # eld: Qualcomm's opensource embedded linker + if linker == 'eld': + return ['-fuse-ld=eld'] + # qcld: Qualcomm's deprecated linker if linker == 'qcld': return ['-fuse-ld=qcld'] if linker == 'mold': diff --git a/mesonbuild/linkers/detect.py b/mesonbuild/linkers/detect.py index ee9bb0861..f6c0fbcb1 100644 --- a/mesonbuild/linkers/detect.py +++ b/mesonbuild/linkers/detect.py @@ -166,6 +166,9 @@ def guess_nix_linker(env: 'Environment', compiler: T.List[str], comp_class: T.Ty linker = lld_cls( compiler, for_machine, comp_class.LINKER_PREFIX, override, system=system, version=v) + elif 'Hexagon' in o and 'LLVM' in o: + linker = linkers.ELDDynamicLinker( + compiler, for_machine, comp_class.LINKER_PREFIX, override, version=v) elif 'Snapdragon' in e and 'LLVM' in e: linker = linkers.QualcommLLVMDynamicLinker( compiler, for_machine, comp_class.LINKER_PREFIX, override, version=v) |
