[lld] 0ab09a9 - [test][lld-macho] Improve LC_FUNCTION_STARTS test coverage

Keith Smiley via llvm-commits llvm-commits at lists.llvm.org
Sun Jan 30 09:59:16 PST 2022


Author: Keith Smiley
Date: 2022-01-30T09:46:36-08:00
New Revision: 0ab09a9009b6e65b4ed5b982eb4291244857bc11

URL: https://github.com/llvm/llvm-project/commit/0ab09a9009b6e65b4ed5b982eb4291244857bc11
DIFF: https://github.com/llvm/llvm-project/commit/0ab09a9009b6e65b4ed5b982eb4291244857bc11.diff

LOG: [test][lld-macho] Improve LC_FUNCTION_STARTS test coverage

Previously functions that aren't included in the symtab were also
excluded from the function starts. Symbols missing from function starts
degrades the debugger experience in the case you don't have debug info
for them.

Differential Revision: https://reviews.llvm.org/D114275

Added: 
    

Modified: 
    lld/test/MachO/function-starts.s

Removed: 
    


################################################################################
diff  --git a/lld/test/MachO/function-starts.s b/lld/test/MachO/function-starts.s
index d3e3f7cf9597f..ae97b19a49ce9 100644
--- a/lld/test/MachO/function-starts.s
+++ b/lld/test/MachO/function-starts.s
@@ -41,6 +41,21 @@
 # RUN: llvm-objdump --macho --function-starts %t/basic >> %t/objdump
 # RUN: FileCheck %s --check-prefix=BASIC < %t/objdump
 
+# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/local.s -o %t/local.o
+# RUN: %lld -lSystem %t/local.o -o %t/local
+# RUN: llvm-objdump --syms %t/local > %t/objdump
+# RUN: llvm-objdump --macho --function-starts %t/local >> %t/objdump
+# RUN: FileCheck %s --check-prefix=LOCAL < %t/objdump
+
+# LOCAL-LABEL: SYMBOL TABLE:
+# LOCAL-NEXT:  [[#%x,F1:]] l F __TEXT,__text +[Foo bar]
+# LOCAL-NEXT:  [[#%x,F2:]] l F __TEXT,__text _foo
+# LOCAL:       [[#%x,F3:]] g F __TEXT,__text _main
+# LOCAL-LABEL: local:
+# LOCAL:       [[#F1]]
+# LOCAL:       [[#F2]]
+# LOCAL:       [[#F3]]
+
 #--- basic.s
 .section  __TEXT,__text,regular,pure_instructions
 .globl  _f1
@@ -62,3 +77,15 @@ _f1:
   retq
 _main:
   retq
+
+#--- local.s
+.section __TEXT,__text
+"+[Foo bar]":
+  retq
+
+_foo:
+  retq
+
+.globl _main
+_main:
+  retq


        


More information about the llvm-commits mailing list