diff options
author | Fangrui Song <i@maskray.me> | 2023-09-09 14:46:51 -0700 |
---|---|---|
committer | Fangrui Song <i@maskray.me> | 2023-09-11 10:54:49 -0700 |
commit | 65a15a56d5ca0d26ca6d34c31a617f5b26e3cfee (patch) | |
tree | 43ba290855c32c65e6997a75fd0507d8c75ad029 /llvm/docs/CommandGuide | |
parent | 299d710e3d83e1f1867ed208b1d959603fd2cb41 (diff) | |
download | llvm-65a15a56d5ca0d26ca6d34c31a617f5b26e3cfee.zip llvm-65a15a56d5ca0d26ca6d34c31a617f5b26e3cfee.tar.gz llvm-65a15a56d5ca0d26ca6d34c31a617f5b26e3cfee.tar.bz2 |
[ELF] Respect orders of symbol assignments and DEFINED (#65866)
Fix #64600: the currently implementation is minimal (see
https://reviews.llvm.org/D83758), and an assignment like
`__TEXT_REGION_ORIGIN__ = DEFINED(__TEXT_REGION_ORIGIN__) ? __TEXT_REGION_ORIGIN__ : 0;`
(used by avr-ld[1]) leads to a value of zero (default value in `declareSymbol`),
which is unexpected.
Assign orders to symbol assignments and references so that
for a script-defined symbol, the `DEFINED` results match users'
expectation. I am unclear about GNU ld's exact behavior, but this hopefully
matches its behavior in the majority of cases.
[1]: https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=ld/scripttempl/avr.sc
Diffstat (limited to 'llvm/docs/CommandGuide')
0 files changed, 0 insertions, 0 deletions