Commit Graph

217 Commits

Author SHA1 Message Date
Thomas Pöchtrager
49b8b65f3d Precise OSXCross check a little more to avoid false positives 2020-03-22 12:47:33 +01:00
Thomas Pöchtrager
6c40ead59d [OSXCross] Silence 'operator new[]' warning when linking GCC libstdc++ statically 2020-03-21 22:24:13 +01:00
Thomas Pöchtrager
0f75213ae0 Build with -Wno-misleading-indentation 2020-03-21 22:23:52 +01:00
Thomas Pöchtrager
320e0b0295 Silence warning 2020-03-20 16:28:29 +01:00
Thomas Pöchtrager
80a127f521 Attempt to fix build error 2020-03-20 13:51:18 +01:00
Thomas Pöchtrager
11dc49ae17 Update README.md 2020-03-20 13:35:53 +01:00
Thomas Pöchtrager
466063c7f7 ld64 512.4 & cctools 949.0.1 (WIP) 2020-03-20 13:33:04 +01:00
Thomas Pöchtrager
606eb7dcb2 Fix for https://github.com/tpoechtrager/osxcross/issues/216#issuecomment-599044727 2020-03-14 17:51:11 +01:00
Thomas Pöchtrager
4e1faecce8 Fix LLVM trunk build
ld: error: duplicate symbol: dis_info
>>> defined at i386_disasm.c:1665
>>>            otool-i386_disasm.o:(dis_info)
>>> defined at arm_disasm.c:163
>>>            otool-arm_disasm.o:(.bss+0x8)

ld: error: duplicate symbol: dis_info
>>> defined at i386_disasm.c:1665
>>>            otool-i386_disasm.o:(dis_info)
>>> defined at arm64_disasm.c:62
>>>            otool-arm64_disasm.o:(.bss+0x0)
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
2020-03-11 19:49:44 +01:00
Thomas Pöchtrager
2ac55b7503 Silence warning on AArch64 too
Useless warning because it's silenced by default on all of their platforms
2020-02-22 22:13:44 +01:00
Thomas Pöchtrager
ae83e7fcde Fix for #74 2020-01-23 14:30:08 +01:00
Thomas Pöchtrager
aff98cdb9e arm64e 2020-01-07 16:26:07 +01:00
Thomas Pöchtrager
168e4ad2e0 arm64e 2020-01-07 16:24:49 +01:00
Thomas Pöchtrager
707ac80aa8 arm64e: Patch the header file instead of changing sources to avoid merge conflicts 2020-01-07 16:22:22 +01:00
Thomas Pöchtrager
23f21436e0
Merge pull request #76 from sbingner/master
Add arm64e patches from elucubratus
2020-01-07 15:34:58 +01:00
Sam Bingner
7c5dc14232 Add arm64e patches from elucubratus 2020-01-06 16:37:23 -10:00
Thomas Pöchtrager
f2890afb8a Fix LLVM trunk build 2019-12-29 20:44:50 +01:00
Thomas Pöchtrager
8239a5211b Add another missing change for Android 2019-11-06 18:21:03 +01:00
Thomas Pöchtrager
9fa76fb95a Add missing file 2019-11-06 17:56:26 +01:00
Thomas Pöchtrager
5e9c52005f Fixes to make cctools and ld64 work on Android 2019-11-06 17:54:58 +01:00
Thomas Pöchtrager
406ce466ac Fix building with older clang compilers 2019-11-04 20:25:36 +01:00
Thomas Pöchtrager
a889ea66b7 Fix Linux/AArch32 and iOS builds 2019-11-01 18:45:25 +01:00
Thomas Pöchtrager
c8def74264 Update README.md 2019-10-31 20:33:03 +01:00
Thomas Pöchtrager
bef74700f8 Revert "Make 'as' relocatable"
This reverts commit 5674c31aac.

I accidentally committed this again...
2019-10-31 20:29:29 +01:00
Thomas Pöchtrager
cfc428bc52 Update autogenerated files 2019-10-31 20:07:19 +01:00
Thomas Pöchtrager
a4f3a3e0ea ld64 450.3 & cctools 927.0.2 2019-10-31 20:06:41 +01:00
Thomas Pöchtrager
3764b223c0 Fix glibc sys/sysctl.h deprecation warnings 2019-10-07 15:18:32 +02:00
Thomas Pöchtrager
20af0932d4 iOS toolchain: No need to run 'autogen.sh' (#70) 2019-09-11 16:20:21 +02:00
Thomas Pöchtrager
8b155ce07e Revert "Revert "Make 'as' relocatable""
This reverts commit 8bd2c684ac.
2019-08-19 19:28:30 +02:00
Thomas Pöchtrager
8bd2c684ac Revert "Make 'as' relocatable"
This reverts commit 5674c31aac.

https://github.com/tpoechtrager/osxcross/issues/191
2019-08-19 19:24:29 +02:00
Thomas Pöchtrager
5674c31aac Make 'as' relocatable 2019-08-17 11:48:05 +02:00
Thomas Pöchtrager
3f979bbcd7
Merge pull request #69 from froydnj/fix-atom-alias-information
fix atom alias information in LTO linking
2019-07-02 18:38:02 +02:00
Nathan Froyd
3d4795134b fix atom alias information in LTO linking
When performing LTO, `ld64` reads in any LLVM bitcode files, creates
atoms for them, and compiles the bitcode files to their corresponding
in-memory Mach-O files.  These Mach-O files are then
loaded (lto_file.cpp:Parser::loadMachO), and information from the atoms
in the Mach-O files is then synced to the corresponding atoms from the
LLVM bitcode files.

However, the underlying function (ld.hpp:Atom::setAttributesFromAtom)
fails to copy over the alias bit from the Mach-O symbol.  This omission
means that the original LLVM atom is not correctly marked as an alias
and therefore not correctly sorted prior to the symbol it is an alias
for (order.cpp:Layout::Comparer::operator()).  The end result is that
the alias symbol winds up pointing at a different symbol, with
predictably disastrous consequences when the aliased symbol is called.

This problem has been observed when performing cross-language LTO with
Firefox.  See also
https://bugzilla.mozilla.org/show_bug.cgi?id=1486042#c92 for more
details.

The fix is simple: we need to copy the alias bit over, just like other
fields.
2019-07-02 12:08:12 -04:00
Thomas Pöchtrager
a2e02aad90 Update autogenerated files 2019-06-04 18:20:13 +02:00
Thomas Pöchtrager
4d099de815 Add --with-libxar=<path> configure option 2019-06-04 18:18:52 +02:00
Thomas Pöchtrager
5321df7206
Merge pull request #67 from fanquake/sudo_deprecated
travis: remove deprecated use of sudo
2019-06-04 15:19:18 +02:00
fanquake
dd8e38a1e9
travis: remove deprecated use of sudo 2019-06-03 16:15:36 -04:00
Thomas Pöchtrager
7731c655fd Fix ARM and AArch64 build 2019-06-02 17:48:09 +02:00
Thomas Pöchtrager
f22b786968 Fix FreeBSD build 2019-06-02 14:28:21 +02:00
Thomas Pöchtrager
da74096c93 ld64: Fix finding object files without TAPI library 2019-06-01 20:53:55 +02:00
Thomas Pöchtrager
349383cb2a Update README.md 2019-06-01 19:33:42 +02:00
Thomas Pöchtrager
1433da83e9 Update .travis.yml 2019-06-01 19:33:42 +02:00
Thomas Pöchtrager
634c77e4f1 Misc fixes 2019-06-01 19:33:42 +02:00
Thomas Pöchtrager
4ca06cb720 Fix LTO_API_VERSION ifdefs
The documentation is wrong about these.
2019-06-01 19:33:42 +02:00
Thomas Pöchtrager
873c023069 An attempt to get TAPI platform "zippered" working
90d0bae361
2019-06-01 19:33:42 +02:00
Thomas Plöchtrager
c736cb58bd ld64: Silence i386 deprecation warning for now 2019-06-01 19:33:42 +02:00
Matthew Bauer
cf234de0a5 Run autoreconf
Command run was:

nix-shell -I nixpkgs=channel:nixos-19.03 -p autoconf automake libtool --run 'autoreconf -if'
2019-06-01 19:33:42 +02:00
Matthew Bauer
13acc08aeb Add manpages for ld64 2019-06-01 19:33:42 +02:00
Thomas Plöchtrager
5755bd8451 cctools 921 & ld64 409.12 2019-06-01 19:33:42 +02:00
Thomas Pöchtrager
1e3f614aff
Merge pull request #62 from delroth/ranlib-utime
ranlib: attempt to use utimens variants when available
2018-12-13 17:25:43 +01:00