The major changes are: 1) LinkerOptions has been merged into TargetInfo 2) LinkerInvocation has been merged into Driver 3) Drivers no longer convert arguments into an intermediate (core) argument list, but instead create a TargetInfo object and call setter methods on it. This is only how in-process linking would work. That is, you can programmatically set up a TargetInfo object which controls the linking. 4) Lots of tweaks to test suite to work with driver changes 5) Add the DarwinDriver 6) I heavily doxygen commented TargetInfo.h Things to do after this patch is committed: a) Consider renaming TargetInfo, given its new roll. b) Consider pulling the list of input files out of TargetInfo. This will enable in-process clients to create one TargetInfo the re-use it with different input file lists. c) Work out a way for Drivers to format the warnings and error done in core linking. llvm-svn: 178776
34 lines
951 B
Plaintext
34 lines
951 B
Plaintext
RUN: lld -flavor gnu -target hexagon %p/Inputs/use-shared.hexagon -shared -o %t1
|
|
RUN: llvm-readobj -dyn-symbols %t1 > %t2
|
|
RUN: FileCheck -check-prefix=DYNSYMS %s < %t2
|
|
|
|
DYNSYMS: DynamicSymbols [
|
|
DYNSYMS: Symbol {
|
|
DYNSYMS: Name: fn2
|
|
DYNSYMS-NEXT: Value:
|
|
DYNSYMS-NEXT: Size:
|
|
DYNSYMS-NEXT: Binding: Global
|
|
DYNSYMS-NEXT: Type: Function
|
|
DYNSYMS-NEXT: Other:
|
|
DYNSYMS-NEXT: Section: .text
|
|
DYNSYMS: }
|
|
DYNSYMS: Symbol {
|
|
DYNSYMS: Name: fn1
|
|
DYNSYMS-NEXT: Value:
|
|
DYNSYMS-NEXT: Size:
|
|
DYNSYMS-NEXT: Binding: Global
|
|
DYNSYMS-NEXT: Type: Function
|
|
DYNSYMS-NEXT: Other:
|
|
DYNSYMS-NEXT: Section: .text
|
|
DYNSYMS: }
|
|
DYNSYMS: Symbol {
|
|
DYNSYMS: Name: fn3
|
|
DYNSYMS-NEXT: Value:
|
|
DYNSYMS-NEXT: Size:
|
|
DYNSYMS-NEXT: Binding: Global
|
|
DYNSYMS-NEXT: Type: Function
|
|
DYNSYMS-NEXT: Other:
|
|
DYNSYMS-NEXT: Section: .text
|
|
DYNSYMS-NEXT: }
|
|
DYNSYMS-NEXT: ]
|