aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/asm.py
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz93@gmail.com>2024-06-26 20:38:56 -0400
committerEli Schwartz <eschwartz93@gmail.com>2024-06-26 21:35:09 -0400
commit7b43a2e19613f3702935872b21b1020f7d8c6a9b (patch)
treed963f6ab5bf6125bc45acae1f2b1d72a31054dd4 /mesonbuild/compilers/asm.py
parentef83d943d96c5d73c09bd6e2abbfdbb15ae73029 (diff)
downloadmeson-7b43a2e19613f3702935872b21b1020f7d8c6a9b.zip
meson-7b43a2e19613f3702935872b21b1020f7d8c6a9b.tar.gz
meson-7b43a2e19613f3702935872b21b1020f7d8c6a9b.tar.bz2
depfixer: fix darwin regression when install rpaths are used
Fixes regression in commit 78e9009ff9d36925e04f329f9082841002ddd848. new_rpath is only set when install_rpath appears in meson.build. Before this commit, we treated new_rpath as a single string to pass to -add_rpath. This worked as long as new_rpath had a single rpath in it, though for ELF we explicitly supported multiple rpaths separated with ":" (as binutils ld is quite happy with that too). install_name_tool does not support paths with colons in it: ``` 21:12 <awilfox> Load command 19 cmd LC_RPATH cmdsize 40 path /bar:/baz:/eli:/ldap (offset 12) 21:12 <awilfox> Load command 20 cmd LC_RPATH cmdsize 24 path /foo (offset 12) 21:14 <awilfox> so the result is: do not use colons ``` After commit 78e9009ff9d36925e04f329f9082841002ddd848, we simply ended up with one load command for LC_RPATH per char in new_rpath, which was wrong in every possible case. What we actually need to do is pass every distinct rpath as a separate `-add_rpath` argument, so we split it on the colons instead. We do the same splitting to ensure proper diff'ability for ELF anyways... Fixes #13355
Diffstat (limited to 'mesonbuild/compilers/asm.py')
0 files changed, 0 insertions, 0 deletions