Commit Graph

8 Commits

Author SHA1 Message Date
Dario Rexin
2083e1bba1 [Driver] Use library search group when linking statically (#36356) 2021-03-15 12:10:39 -07:00
Doug Gregor
49dfa8fc98 [Frontend rename] Fix another Linux test 2020-06-23 13:17:26 -07:00
Neil Jones
a02363737e Add back frontend command check 2018-07-06 12:45:44 +09:00
Neil Jones
ec3668e81a Remove x86_64 target check.
Fix for [SR-7321]
Check for x86_64 machine causes test failure on non x86_64 machines such as AArch64.
2018-07-05 08:36:35 +09:00
Saleem Abdulrasool
0c42b57962 ELF: restructure image metadata registration
Restructure the ELF handling to be completely agnostic to the OS.
Rather than usng the loader to query the section information, use the
linker to construct linker tables and synthetic markers for the
beginning and of the table.  Save off the values of these pointers and
pass them along through the constructor to the runtime for registration.

This removes the need for the begin/end objects.  Remove the special
construction of the begin/end objects through the special assembly
constructs, preferring to do this in C with a bit of inline assembly to
ensure that the section is always allocated.

Remove the special handling for the various targets, the empty object
file can be linked on all the targets.

The new object file has no requirements on the ordering.  It needs to
simply be injected into the link.

Name the replacement file `swiftrt.o` mirroring `crt.o` from libc.  Merge
the constructor and the definition into a single object file.

This approach is generally more portable, overall simpler to implement,
and more robust.

Thanks to Orlando Bassotto for help analyzing some of the odd behaviours
when switching over.
2017-11-28 10:04:04 -08:00
Simon Evans
3175c67789 Disable -Xlinker argument reordering test on macOS. (#11069) 2017-07-19 17:05:14 -07:00
Simon Evans
fc93261c15 Update the linker -Xlinker argument reordering test.
- Use -driver-print-jobs to avoid actually building the test file.
2017-07-14 00:08:36 +01:00
Simon Evans
3ac5e12c67 [Linux] Reorder the -Xlinker and -l arguments
- Move the -Xlinker and -l options to just before swift_end.o

- Add testcase to check linker option ordering.
2017-06-29 13:10:04 +01:00