[PATCH] ld: Don't define section symbols for excluded sections
"H.J. Lu" <[email protected]> Thu, 30 Jul 2026 15:17:45 +0800
| Newsgroups | gmane.comp.gnu.binutils |
|---|---|
| Message-ID | <CAMe9rOo-zgrwN88q7HMHDu8F4WTqcu1Cu9Cv5iaTjtyyST=fAQ@mail.gmail.com> |
--0000000000008ebff10657cee028 Content-Type: text/plain; charset="UTF-8" When the SEC_EXCLUDE bit is set on a section, the contents of the section are excluded by the linker for non-relocatable output. Define __start, __stop, .startof. and .sizeof. symbols for relocatable link or if the SEC_EXCLUDE bit on the section is cleared. PR ld/34448 * ldlang.c (lang_init_start_stop): Call lang_define_start_stop for relocatable link or if the SEC_EXCLUDE bit on the section is cleared. -- H.J. --0000000000008ebff10657cee028 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-ld-Don-t-define-section-symbols-for-excluded-section.patch" Content-Disposition: attachment; filename="0001-ld-Don-t-define-section-symbols-for-excluded-section.patch" Content-Transfer-Encoding: base64 Content-ID: <f_ms76kpac0> X-Attachment-Id: f_ms76kpac0 RnJvbSBlOTM5ZDFlMDQyNjUzNWE4NjRjNzVlNTZlOTNmMTMwMWQzOGY0MzQxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IFRodSwgMzAgSnVsIDIwMjYgMTU6MTA6MzYgKzA4MDAKU3ViamVjdDogW1BBVENIXSBsZDogRG9u J3QgZGVmaW5lIHNlY3Rpb24gc3ltYm9scyBmb3IgZXhjbHVkZWQgc2VjdGlvbnMKCldoZW4gdGhl IFNFQ19FWENMVURFIGJpdCBpcyBzZXQgb24gYSBzZWN0aW9uLCB0aGUgY29udGVudHMgb2YgdGhl IHNlY3Rpb24KYXJlIGV4Y2x1ZGVkIGJ5IHRoZSBsaW5rZXIgZm9yIG5vbi1yZWxvY2F0YWJsZSBv dXRwdXQuICBEZWZpbmUgIF9fc3RhcnQsCl9fc3RvcCwgLnN0YXJ0b2YuIGFuZCAuc2l6ZW9mLiBz eW1ib2xzIGZvciByZWxvY2F0YWJsZSBsaW5rIG9yIGlmIHRoZQpTRUNfRVhDTFVERSBiaXQgb24g dGhlIHNlY3Rpb24gaXMgY2xlYXJlZC4KCglQUiBsZC8zNDQ0OAoJKiBsZGxhbmcuYyAobGFuZ19p bml0X3N0YXJ0X3N0b3ApOiBDYWxsIGxhbmdfZGVmaW5lX3N0YXJ0X3N0b3AKCWZvciByZWxvY2F0 YWJsZSBsaW5rIG9yIGlmIHRoZSBTRUNfRVhDTFVERSBiaXQgb24gdGhlIHNlY3Rpb24KCWlzIGNs ZWFyZWQuCgpTaWduZWQtb2ZmLWJ5OiBILkouIEx1IDxoamwudG9vbHNAZ21haWwuY29tPgotLS0K IGxkL2xkbGFuZy5jIHwgMzkgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvbGQvbGRsYW5nLmMgYi9sZC9sZGxhbmcuYwppbmRleCAzNTRmYTYzNWJhOC4uN2Rj MzMxYzA0Y2QgMTAwNjQ0Ci0tLSBhL2xkL2xkbGFuZy5jCisrKyBiL2xkL2xkbGFuZy5jCkBAIC03 MjgzLDI4ICs3MjgzLDMxIEBAIGxhbmdfaW5pdF9zdGFydF9zdG9wICh2b2lkKQogCiAgIGZvciAo YWJmZCA9IGxpbmtfaW5mby5pbnB1dF9iZmRzOyBhYmZkICE9IE5VTEw7IGFiZmQgPSBhYmZkLT5s aW5rLm5leHQpCiAgICAgZm9yIChzID0gYWJmZC0+c2VjdGlvbnM7IHMgIT0gTlVMTDsgcyA9IHMt Pm5leHQpCi0gICAgICB7Ci0JY29uc3QgY2hhciAqcHM7Ci0JY29uc3QgY2hhciAqc2VjbmFtZSA9 IHMtPm5hbWU7CisgICAgICBpZiAoYmZkX2xpbmtfcmVsb2NhdGFibGUgKCZsaW5rX2luZm8pCisJ ICB8fCAocy0+ZmxhZ3MgJiBTRUNfRVhDTFVERSkgPT0gMCkKKwl7CisJICBjb25zdCBjaGFyICpw czsKKwkgIGNvbnN0IGNoYXIgKnNlY25hbWUgPSBzLT5uYW1lOwogCi0JZm9yIChwcyA9IHNlY25h bWU7ICpwcyAhPSAnXDAnOyBwcysrKQotCSAgaWYgKCFJU0FMTlVNICgodW5zaWduZWQgY2hhcikg KnBzKSAmJiAqcHMgIT0gJ18nKQotCSAgICBicmVhazsKLQlpZiAoKnBzID09ICdcMCcpCi0JICB7 Ci0JICAgIGNoYXIgKnN5bWJvbCA9IChjaGFyICopIHhtYWxsb2MgKDEwICsgc3RybGVuIChzZWNu YW1lKSk7CisJICBmb3IgKHBzID0gc2VjbmFtZTsgKnBzICE9ICdcMCc7IHBzKyspCisJICAgIGlm ICghSVNBTE5VTSAoKHVuc2lnbmVkIGNoYXIpICpwcykgJiYgKnBzICE9ICdfJykKKwkgICAgICBi cmVhazsKKwkgIGlmICgqcHMgPT0gJ1wwJykKKwkgICAgeworCSAgICAgIGNoYXIgKnN5bWJvbCA9 IChjaGFyICopIHhtYWxsb2MgKDEwICsgc3RybGVuIChzZWNuYW1lKSk7CiAKLQkgICAgc3ltYm9s WzBdID0gbGVhZGluZ19jaGFyOwotCSAgICBzcHJpbnRmIChzeW1ib2wgKyAobGVhZGluZ19jaGFy ICE9IDApLCAiX19zdGFydF8lcyIsIHNlY25hbWUpOwotCSAgICBsYW5nX2RlZmluZV9zdGFydF9z dG9wIChzeW1ib2wsIHMpOworCSAgICAgIHN5bWJvbFswXSA9IGxlYWRpbmdfY2hhcjsKKwkgICAg ICBzcHJpbnRmIChzeW1ib2wgKyAobGVhZGluZ19jaGFyICE9IDApLCAiX19zdGFydF8lcyIsCisJ CSAgICAgICBzZWNuYW1lKTsKKwkgICAgICBsYW5nX2RlZmluZV9zdGFydF9zdG9wIChzeW1ib2ws IHMpOwogCi0JICAgIHN5bWJvbFsxXSA9IGxlYWRpbmdfY2hhcjsKLQkgICAgbWVtY3B5IChzeW1i b2wgKyAxICsgKGxlYWRpbmdfY2hhciAhPSAwKSwgIl9fc3RvcCIsIDYpOwotCSAgICBsYW5nX2Rl ZmluZV9zdGFydF9zdG9wIChzeW1ib2wgKyAxLCBzKTsKKwkgICAgICBzeW1ib2xbMV0gPSBsZWFk aW5nX2NoYXI7CisJICAgICAgbWVtY3B5IChzeW1ib2wgKyAxICsgKGxlYWRpbmdfY2hhciAhPSAw KSwgIl9fc3RvcCIsIDYpOworCSAgICAgIGxhbmdfZGVmaW5lX3N0YXJ0X3N0b3AgKHN5bWJvbCAr IDEsIHMpOwogCi0JICAgIGZyZWUgKHN5bWJvbCk7Ci0JICB9Ci0gICAgICB9CisJICAgICAgZnJl ZSAoc3ltYm9sKTsKKwkgICAgfQorCX0KIH0KIAogLyogSXRlcmF0ZSBvdmVyIHN0YXJ0X3N0b3Bf c3ltcy4gICovCi0tIAoyLjU1LjAKCg== --0000000000008ebff10657cee028--