[PATCH] x86: Improve relocation error reporting
"H.J. Lu" <[email protected]> Tue, 4 Aug 2026 11:36:43 +0800
| Newsgroups | gmane.comp.gnu.binutils |
|---|---|
| Message-ID | <CAMe9rOptwXvtZ1iB=tJc21KGAs2kaZr6pFmW_XbKh2PNoc2Kjw@mail.gmail.com> |
--00000000000061c9d90658305fec Content-Type: text/plain; charset="UTF-8" For bfd_reloc_outofrange relocation error, instead of ld: pr34448-bug_4.o(.debug_addr+0x7f000008): reloc against `.text.get_tls': error 4 linker now reports: ld: pr34448-bug_4.o(.debug_addr+0x7f000008): relocation `R_X86_64_64' against `.text.get_tls' is out of section range PR ld/34448 * elf32-i386.c (elf_i386_relocate_section): Call _bfd_x86_elf_link_report_relocation_error for relocation error. * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. * elfxx-x86.c (_bfd_x86_elf_link_report_relocation_error): New. * elfxx-x86.h (_bfd_x86_elf_link_report_relocation_error): New. -- H.J. --00000000000061c9d90658305fec Content-Type: text/x-patch; charset="US-ASCII"; name="0001-x86-Improve-relocation-error-reporting.patch" Content-Disposition: attachment; filename="0001-x86-Improve-relocation-error-reporting.patch" Content-Transfer-Encoding: base64 Content-ID: <f_mse3v8tt0> X-Attachment-Id: f_mse3v8tt0 RnJvbSA2MzRiMjc1N2MxYThiNTIwMzkwNmMzZjYwYTI0M2YxMGUxNjVkMmYwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IEZyaSwgMzEgSnVsIDIwMjYgMDU6NDc6MTUgKzA4MDAKU3ViamVjdDogW1BBVENIXSB4ODY6IElt cHJvdmUgcmVsb2NhdGlvbiBlcnJvciByZXBvcnRpbmcKCkZvciBiZmRfcmVsb2Nfb3V0b2ZyYW5n ZSByZWxvY2F0aW9uIGVycm9yLCBpbnN0ZWFkIG9mCgpsZDogcHIzNDQ0OC1idWdfNC5vKC5kZWJ1 Z19hZGRyKzB4N2YwMDAwMDgpOiByZWxvYyBhZ2FpbnN0IGAudGV4dC5nZXRfdGxzJzogZXJyb3Ig NAoKbGlua2VyIG5vdyByZXBvcnRzOgoKbGQ6IHByMzQ0NDgtYnVnXzQubyguZGVidWdfYWRkcisw eDdmMDAwMDA4KTogcmVsb2NhdGlvbiBgUl9YODZfNjRfNjQnIGFnYWluc3QgYC50ZXh0LmdldF90 bHMnIGlzIG91dCBvZiBzZWN0aW9uIHJhbmdlCgoJUFIgbGQvMzQ0NDgKCSogZWxmMzItaTM4Ni5j IChlbGZfaTM4Nl9yZWxvY2F0ZV9zZWN0aW9uKTogQ2FsbAoJX2JmZF94ODZfZWxmX2xpbmtfcmVw b3J0X3JlbG9jYXRpb25fZXJyb3IgZm9yIHJlbG9jYXRpb24gZXJyb3IuCgkqIGVsZjY0LXg4Ni02 NC5jIChlbGZfeDg2XzY0X3JlbG9jYXRlX3NlY3Rpb24pOiBMaWtld2lzZS4KCSogZWxmeHgteDg2 LmMgKF9iZmRfeDg2X2VsZl9saW5rX3JlcG9ydF9yZWxvY2F0aW9uX2Vycm9yKTogTmV3LgoJKiBl bGZ4eC14ODYuaCAoX2JmZF94ODZfZWxmX2xpbmtfcmVwb3J0X3JlbG9jYXRpb25fZXJyb3IpOiBO ZXcuCgpTaWduZWQtb2ZmLWJ5OiBILkouIEx1IDxoamwudG9vbHNAZ21haWwuY29tPgotLS0KIGJm ZC9lbGYzMi1pMzg2LmMgICB8ICA5ICsrKystLS0tLQogYmZkL2VsZjY0LXg4Ni02NC5jIHwgIDkg KysrKy0tLS0tCiBiZmQvZWxmeHgteDg2LmMgICAgfCAzMyArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIGJmZC9lbGZ4eC14ODYuaCAgICB8ICA0ICsrKysKIDQgZmlsZXMgY2hhbmdl ZCwgNDUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYmZkL2Vs ZjMyLWkzODYuYyBiL2JmZC9lbGYzMi1pMzg2LmMKaW5kZXggOGFkNWNiNGUzNTQuLjM2YTk1N2Qw M2YxIDEwMDY0NAotLS0gYS9iZmQvZWxmMzItaTM4Ni5jCisrKyBiL2JmZC9lbGYzMi1pMzg2LmMK QEAgLTM2NDgsMTEgKzM2NDgsMTAgQEAgZWxmX2kzODZfcmVsb2NhdGVfc2VjdGlvbiAoc3RydWN0 IGJmZF9saW5rX2luZm8gKmluZm8sCiAJICAgICAgIChiZmRfdm1hKSAwLCBpbnB1dF9iZmQsIGlu cHV0X3NlY3Rpb24sIHJlbC0+cl9vZmZzZXQpOwogCSAgZWxzZQogCSAgICB7Ci0JICAgICAgX2Jm ZF9lcnJvcl9oYW5kbGVyCi0JCS8qIHhnZXR0ZXh0OmMtZm9ybWF0ICovCi0JCShfKCIlcEIoJXBB KyUjIiBQUkl4NjQgIik6IHJlbG9jIGFnYWluc3QgYCVzJzogZXJyb3IgJWQiKSwKLQkJIGlucHV0 X2JmZCwgaW5wdXRfc2VjdGlvbiwKLQkJICh1aW50NjRfdCkgcmVsLT5yX29mZnNldCwgbmFtZSwg KGludCkgcik7CisJICAgICAgX2JmZF94ODZfZWxmX2xpbmtfcmVwb3J0X3JlbG9jYXRpb25fZXJy b3IgKGlucHV0X2JmZCwKKwkJCQkJCQkgaW5wdXRfc2VjdGlvbiwKKwkJCQkJCQkgbmFtZSwgcmVs LAorCQkJCQkJCSBob3d0bywgcik7CiAJICAgICAgcmV0dXJuIGZhbHNlOwogCSAgICB9CiAJfQpk aWZmIC0tZ2l0IGEvYmZkL2VsZjY0LXg4Ni02NC5jIGIvYmZkL2VsZjY0LXg4Ni02NC5jCmluZGV4 IDNkODU4ODZhM2Q1Li40OWIyYjg4ZTJhZiAxMDA2NDQKLS0tIGEvYmZkL2VsZjY0LXg4Ni02NC5j CisrKyBiL2JmZC9lbGY2NC14ODYtNjQuYwpAQCAtNTE1MiwxMSArNTE1MiwxMCBAQCBlbGZfeDg2 XzY0X3JlbG9jYXRlX3NlY3Rpb24gKHN0cnVjdCBiZmRfbGlua19pbmZvICppbmZvLAogCSAgICB9 CiAJICBlbHNlCiAJICAgIHsKLQkgICAgICBfYmZkX2Vycm9yX2hhbmRsZXIKLQkJLyogeGdldHRl eHQ6Yy1mb3JtYXQgKi8KLQkJKF8oIiVwQiglcEErJSMiIFBSSXg2NCAiKTogcmVsb2MgYWdhaW5z dCBgJXMnOiBlcnJvciAlZCIpLAotCQkgaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLAotCQkgKHVp bnQ2NF90KSByZWwtPnJfb2Zmc2V0LCBuYW1lLCAoaW50KSByKTsKKwkgICAgICBfYmZkX3g4Nl9l bGZfbGlua19yZXBvcnRfcmVsb2NhdGlvbl9lcnJvciAoaW5wdXRfYmZkLAorCQkJCQkJCSBpbnB1 dF9zZWN0aW9uLAorCQkJCQkJCSBuYW1lLCByZWwsCisJCQkJCQkJIGhvd3RvLCByKTsKIAkgICAg ICByZXR1cm4gZmFsc2U7CiAJICAgIH0KIAl9CmRpZmYgLS1naXQgYS9iZmQvZWxmeHgteDg2LmMg Yi9iZmQvZWxmeHgteDg2LmMKaW5kZXggZTA4ZmVjNTI2MzYuLjQzOWNiZTJlOWU3IDEwMDY0NAot LS0gYS9iZmQvZWxmeHgteDg2LmMKKysrIGIvYmZkL2VsZnh4LXg4Ni5jCkBAIC0zNDI0LDYgKzM0 MjQsMzkgQEAgX2JmZF94ODZfZWxmX2xpbmtfcmVwb3J0X2Vycm9yCiAgIGJmZF9zZXRfZXJyb3Ig KGJmZF9lcnJvcl9iYWRfdmFsdWUpOwogfQogCisvKiBSZXBvcnQgbGluayByZWxvY2F0aW9uIGVy cm9yLiAgKi8KKwordm9pZAorX2JmZF94ODZfZWxmX2xpbmtfcmVwb3J0X3JlbG9jYXRpb25fZXJy b3IgKGJmZCAqYWJmZCwgYXNlY3Rpb24gKnNlYywKKwkJCQkJICAgY29uc3QgY2hhciAqbmFtZSwK KwkJCQkJICAgRWxmX0ludGVybmFsX1JlbGEgKnJlbCwKKwkJCQkJICAgcmVsb2NfaG93dG9fdHlw ZSAqaG93dG8sCisJCQkJCSAgIGJmZF9yZWxvY19zdGF0dXNfdHlwZSBzdGF0dXMpCit7CisgIHN3 aXRjaCAoc3RhdHVzKQorICAgIHsKKyAgICBjYXNlIGJmZF9yZWxvY19vdXRvZnJhbmdlOgorICAg ICAgX2JmZF9lcnJvcl9oYW5kbGVyCisJLyogeGdldHRleHQ6Yy1mb3JtYXQgKi8KKwkoXygiJXBC KCVwQSslIyIgUFJJeDY0ICIpOiByZWxvY2F0aW9uIGAlcycgYWdhaW5zdCBgJXMnIGlzICIKKwkg ICAib3V0IG9mIHNlY3Rpb24gcmFuZ2UiKSwgYWJmZCwgc2VjLCAodWludDY0X3QpIHJlbC0+cl9v ZmZzZXQsCisJIGhvd3RvLT5uYW1lLCBuYW1lKTsKKyAgICAgIGJyZWFrOworCisgICAgY2FzZSBi ZmRfcmVsb2Nfbm90c3VwcG9ydGVkOgorICAgICAgX2JmZF9lcnJvcl9oYW5kbGVyCisJLyogeGdl dHRleHQ6Yy1mb3JtYXQgKi8KKwkoXygiJXBCKCVwQSslIyIgUFJJeDY0ICIpOiByZWxvY2F0aW9u IGAlcycgYWdhaW5zdCBgJXMnIGlzICIKKwkgICAibm90IHN1cHBvcnRlZCIpLCBhYmZkLCBzZWMs ICh1aW50NjRfdCkgcmVsLT5yX29mZnNldCwKKwkgaG93dG8tPm5hbWUsIG5hbWUpOworICAgICAg YnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgYWJvcnQgKCk7CisgICAgICBicmVhazsKKyAg ICB9Cit9CisKIC8qIFJldHVybiBUUlVFIGlmIHN5bWJvbCBzaG91bGQgYmUgaGFzaGVkIGluIHRo ZSBgLmdudS5oYXNoJyBzZWN0aW9uLiAgKi8KIAogYm9vbApkaWZmIC0tZ2l0IGEvYmZkL2VsZnh4 LXg4Ni5oIGIvYmZkL2VsZnh4LXg4Ni5oCmluZGV4IDQzMGQ2MWQzMDk3Li40OGU4YWI0YWQ3MyAx MDA2NDQKLS0tIGEvYmZkL2VsZnh4LXg4Ni5oCisrKyBiL2JmZC9lbGZ4eC14ODYuaApAQCAtOTYy LDYgKzk2MiwxMCBAQCBleHRlcm4gdm9pZCBfYmZkX3g4Nl9lbGZfbGlua19yZXBvcnRfZXJyb3IK ICAgIEVsZl9JbnRlcm5hbF9TeW0gKiwgcmVsb2NfaG93dG9fdHlwZSAqLAogICAgZW51bSBlbGZf eDg2X2Vycm9yX3R5cGUpIEFUVFJJQlVURV9ISURERU47CiAKK2V4dGVybiB2b2lkIF9iZmRfeDg2 X2VsZl9saW5rX3JlcG9ydF9yZWxvY2F0aW9uX2Vycm9yCisgIChiZmQgKiwgYXNlY3Rpb24gKiwg Y29uc3QgY2hhciAqLCBFbGZfSW50ZXJuYWxfUmVsYSAqLAorICAgcmVsb2NfaG93dG9fdHlwZSAq LCBiZmRfcmVsb2Nfc3RhdHVzX3R5cGUpIEFUVFJJQlVURV9ISURERU47CisKIGV4dGVybiBib29s CiBfYmZkX2VsZl94ODZfY29weV9zcGVjaWFsX3NlY3Rpb25fZmllbGRzCiAgIChjb25zdCBiZmQg KiwgYmZkICosIGNvbnN0IEVsZl9JbnRlcm5hbF9TaGRyICosCi0tIAoyLjU1LjAKCg== --00000000000061c9d90658305fec--