[PATCH] D106628: [lld/mac] Don't crash on absolute symbols in order files
Nico Weber via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 23 08:33:39 PDT 2021
This revision was automatically updated to reflect the committed changes.
Closed by commit rG2c508cf583f8: [lld/mac] Don't crash on absolute symbols in order files (authored by thakis).
Herald added a project: LLVM.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D106628/new/
https://reviews.llvm.org/D106628
Files:
lld/MachO/Writer.cpp
lld/test/MachO/order-file.s
Index: lld/test/MachO/order-file.s
===================================================================
--- lld/test/MachO/order-file.s
+++ lld/test/MachO/order-file.s
@@ -2,6 +2,7 @@
# RUN: rm -rf %t; split-file %s %t
# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/test.s -o %t/test.o
# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/foo.s -o %t/foo.o
+# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/abs.s -o %t/abs.o
# RUN: llvm-ar rcs %t/foo.a %t/foo.o
# FOO-FIRST: <_bar>:
@@ -101,6 +102,9 @@
# RUN: %lld -lSystem -o %t/test-alias %t/foo.o %t/test.o -order_file %t/ord-alias
# RUN: llvm-objdump -d %t/test-alias | FileCheck %s --check-prefix=FOO-FIRST
+## Absolute in symbols in order files make no sense. Just ignore them.
+# RUN: %lld -lSystem -dylib -o %t/test-abs %t/abs.o -order_file %t/ord-abs
+
#--- ord-1
-[Foo doFoo:andBar:] # just a comment
_main # another comment
@@ -160,6 +164,9 @@
_main
-[Foo doFoo:andBar:]
+#--- ord-abs
+_abs
+
#--- foo.s
.globl "-[Foo doFoo:andBar:]"
"-[Foo doFoo:andBar:]":
@@ -176,3 +183,6 @@
.section __DWARF,__debug_aranges,regular,debug
ltmp1:
.byte 0
+
+#--- abs.s
+_abs = 42
Index: lld/MachO/Writer.cpp
===================================================================
--- lld/MachO/Writer.cpp
+++ lld/MachO/Writer.cpp
@@ -847,6 +847,9 @@
return sectionPriorities;
auto addSym = [&](Defined &sym) {
+ if (sym.isAbsolute())
+ return;
+
auto it = config->priorities.find(sym.getName());
if (it == config->priorities.end())
return;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D106628.361233.patch
Type: text/x-patch
Size: 1574 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210723/418943d0/attachment.bin>
More information about the llvm-commits
mailing list