[all-commits] [llvm/llvm-project] 0de0b6: [ELF] Postpone "unable to move location counter ba...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Wed Sep 20 09:06:58 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 0de0b6dded4752040350feb9c81415d82478d065
https://github.com/llvm/llvm-project/commit/0de0b6dded4752040350feb9c81415d82478d065
Author: Fangrui Song <i at maskray.me>
Date: 2023-09-20 (Wed, 20 Sep 2023)
Changed paths:
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/Writer.cpp
M lld/test/ELF/linkerscript/locationcountererr-arm-exidx.test
M lld/test/ELF/linkerscript/locationcountererr.test
Log Message:
-----------
[ELF] Postpone "unable to move location counter backward" error (#66854)
The size of .ARM.exidx may shrink across `assignAddress` calls. It is
possible
that the initial iteration has a larger location counter, causing
`__code_size =
__code_end - .; osec : { . += __code_size; }` to report an error, while
the error would
have been suppressed for subsequent `assignAddress` iterations.
Other sections like .relr.dyn may change sizes across `assignAddress`
calls as
well. However, their initial size is zero, so it is difficiult to
trigger a
similar error.
Similar to https://reviews.llvm.org/D152170, postpone the error
reporting.
Fix #66836. While here, add more information to the error message.
More information about the All-commits
mailing list