llvm-project/lld
David Spickett 79942d32a6 [lld-macho] Fix compact unwind output for 32 bit builds
This test was failing on our 32 bit build bot:
https://lab.llvm.org/buildbot/#/builders/178/builds/2463

This happened because in UnwindInfoSectionImpl::finalize
a decision is made whether to write out regular or compressed
unwind info.

One check in this does:
```
if (cuPtr->functionAddress >= functionAddressMax) {
        break;
```

Where cuPtr->functionAddress was uint64_t and functionAddressMax
was uintptr_t, which is 4 bytes on a 32 bit system.

Using uint64_t for functionAddressMax fixes this problem.
Presumably because at only 4 bytes, the max is much lower than
we expect. We're targetting 64 bit though so the size of the max
should match the size of the addresses.

Reviewed By: #lld-macho, int3

Differential Revision: https://reviews.llvm.org/D129363
2022-07-11 08:21:03 +00:00
..
COFF [LLD][COFF] Ignore /kernel flag 2022-07-01 10:03:02 -07:00
Common [lld-macho] Add support for -w 2022-06-11 17:38:50 -07:00
ELF fix comment typo to cycle bots 2022-07-09 22:41:58 +02:00
MachO [lld-macho] Fix compact unwind output for 32 bit builds 2022-07-11 08:21:03 +00:00
MinGW [LLD] [MinGW] Implement --disable-reloc-section, mapped to /fixed 2022-06-15 16:51:20 +03:00
cmake/modules Revert "[cmake] Don't export `LLVM_TOOLS_INSTALL_DIR` anymore" 2022-06-10 19:26:12 +00:00
docs [LLD][ELF] Add FORCE_LLD_DIAGNOSTICS_CRASH to force LLD to crash 2022-07-05 09:43:09 +01:00
include/lld/Common [NFC][lld] Fix typos to test commit access 2022-06-24 00:19:18 +02:00
test [ELF] Refactor ELFCOMPRESS_ZLIB handling and improve diagnostics 2022-07-08 14:04:19 -07:00
tools/lld [LLD][ELF] Add FORCE_LLD_DIAGNOSTICS_CRASH to force LLD to crash 2022-07-05 09:43:09 +01:00
utils
wasm [lld][WebAssembly] Don't apply data relocations at static constructor time 2022-06-27 15:50:02 -07:00
.clang-format
.clang-tidy NFC: .clang-tidy: Inherit configs from parents to improve maintainability 2021-06-08 08:25:59 -07:00
.gitignore
CMakeLists.txt [NFC][lld] Fix typos to test commit access 2022-06-24 00:19:18 +02:00
CODE_OWNERS.TXT
LICENSE.TXT
README.md [doc] Place sha256 in lld/README.md into backticks 2021-01-12 10:19:40 -08:00

README.md

LLVM Linker (lld)

This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.

lld is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.

Benchmarking

In order to make sure various developers can evaluate patches over the same tests, we create a collection of self contained programs.

It is hosted at https://s3-us-west-2.amazonaws.com/linker-tests/lld-speed-test.tar.xz

The current sha256 is 10eec685463d5a8bbf08d77f4ca96282161d396c65bd97dc99dbde644a31610f.