[lld] Fix undefined behavior with misaligned SHT_GROUP section. (#180848) read32() allows misaligned values, but a `uint32_t &` must be properly aligned even if it isn't directly read. ubsan detects this. To fix the issue, replace the `uint32_t &` with a value that doesn't require alignment. Also added an assertion to catch similar misuse of getDataAs(). (Alternatively, we could make the input validation more strict, and reject files with a misaligned SHT_GROUP, but I don't see any obvious reason to require that.) GitOrigin-RevId: b7e1922ca15935342f9570ddbb7b61c8164115d5
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.
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.