[PATCH] x86: Check if needed dynamic relocation section is created

"H.J. Lu" <[email protected]> Tue, 4 Aug 2026 11:39:08 +0800
Newsgroups gmane.comp.gnu.binutils
Message-ID <CAMe9rOpTBfSWyDtPphPOqaeazfxBiOUPsFfNB5wKgzEuf9ewFg@mail.gmail.com>
--000000000000e230440658306776
Content-Type: text/plain; charset="UTF-8"

Since elf_link_read_relocs_from_section aborts for bad relocation,
further relocations won't be processed and needed dynamic relocation
section won't be created.  Skip dynamic relocation count if needed
dynamic relocation section hasn't been created.

PR ld/34448
* elfxx-x86.c (_bfd_x86_elf_late_size_sections): Skip dynamic
relocation count if needed dynamic relocation section hasn't been
created.


-- 
H.J.

--000000000000e230440658306776
Content-Type: text/x-patch; charset="US-ASCII"; 
	name="0001-x86-Check-if-needed-dynamic-relocation-section-is-cr.patch"
Content-Disposition: attachment; 
	filename="0001-x86-Check-if-needed-dynamic-relocation-section-is-cr.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_mse3z5ef0>
X-Attachment-Id: f_mse3z5ef0

RnJvbSBjOWMyNWI1YTBhZWRjZmI5ZWQ1OTFmZThlYWQ5NDI5ZTUyMTBiZDgyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6
IFNhdCwgMSBBdWcgMjAyNiAxMToyMzozOSArMDgwMApTdWJqZWN0OiBbUEFUQ0hdIHg4NjogQ2hl
Y2sgaWYgbmVlZGVkIGR5bmFtaWMgcmVsb2NhdGlvbiBzZWN0aW9uIGlzIGNyZWF0ZWQKClNpbmNl
IGVsZl9saW5rX3JlYWRfcmVsb2NzX2Zyb21fc2VjdGlvbiBhYm9ydHMgZm9yIGJhZCByZWxvY2F0
aW9uLApmdXJ0aGVyIHJlbG9jYXRpb25zIHdvbid0IGJlIHByb2Nlc3NlZCBhbmQgbmVlZGVkIGR5
bmFtaWMgcmVsb2NhdGlvbgpzZWN0aW9uIHdvbid0IGJlIGNyZWF0ZWQuICBTa2lwIGR5bmFtaWMg
cmVsb2NhdGlvbiBjb3VudCBpZiBuZWVkZWQKZHluYW1pYyByZWxvY2F0aW9uIHNlY3Rpb24gaGFz
bid0IGJlZW4gY3JlYXRlZC4KCglQUiBsZC8zNDQ0OAoJKiBlbGZ4eC14ODYuYyAoX2JmZF94ODZf
ZWxmX2xhdGVfc2l6ZV9zZWN0aW9ucyk6IFNraXAgZHluYW1pYwoJcmVsb2NhdGlvbiBjb3VudCBp
ZiBuZWVkZWQgZHluYW1pYyByZWxvY2F0aW9uIHNlY3Rpb24gaGFzbid0IGJlZW4KCWNyZWF0ZWQu
CgpTaWduZWQtb2ZmLWJ5OiBILkouIEx1IDxoamwudG9vbHNAZ21haWwuY29tPgotLS0KIGJmZC9l
bGZ4eC14ODYuYyB8IDEzICsrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRp
b25zKCspCgpkaWZmIC0tZ2l0IGEvYmZkL2VsZnh4LXg4Ni5jIGIvYmZkL2VsZnh4LXg4Ni5jCmlu
ZGV4IDQzOWNiZTJlOWU3Li5iMWI2NDE4M2M5YyAxMDA2NDQKLS0tIGEvYmZkL2VsZnh4LXg4Ni5j
CisrKyBiL2JmZC9lbGZ4eC14ODYuYwpAQCAtMjMzMSw2ICsyMzMxLDE5IEBAIF9iZmRfeDg2X2Vs
Zl9sYXRlX3NpemVfc2VjdGlvbnMgKHN0cnVjdCBiZmRfbGlua19pbmZvICppbmZvKQogCSAgICAg
IGVsc2UgaWYgKHAtPmNvdW50ICE9IDApCiAJCXsKIAkJICBzcmVsID0gZWxmX3NlY3Rpb25fZGF0
YSAocC0+c2VjKS0+c3JlbG9jOworCQkgIGlmICghc3JlbCkKKwkJICAgIHsKKwkJICAgICAgLyog
TkI6IFNpbmNlIGVsZl9saW5rX3JlYWRfcmVsb2NzX2Zyb21fc2VjdGlvbgorCQkJIGFib3J0cyBm
b3IgYmFkIHJlbG9jYXRpb24sIGZ1cnRoZXIgcmVsb2NhdGlvbnMKKwkJCSB3b24ndCBiZSBwcm9j
ZXNzZWQgYW5kIG5lZWRlZCBkeW5hbWljIHJlbG9jYXRpb24KKwkJCSBzZWN0aW9uIHdvbid0IGJl
IGNyZWF0ZWQgYWZ0ZXJ3YXJkcy4gICovCisJCSAgICAgIF9iZmRfZXJyb3JfaGFuZGxlcgorCQkJ
LyogeGdldHRleHQ6Yy1mb3JtYXQgKi8KKwkJCShfKCIlcEI6IGR5bmFtaWMgcmVsb2NhdGlvbiBz
ZWN0aW9uIGlzIG5lZWRlZCAiCisJCQkgICAiZm9yIHNlY3Rpb24gYCVwQSciKSwKKwkJCSBwLT5z
ZWMtPm93bmVyLCBwLT5zZWMpOworCQkgICAgICBjb250aW51ZTsKKwkJICAgIH0KIAkJICBzcmVs
LT5zaXplICs9IHAtPmNvdW50ICogaHRhYi0+c2l6ZW9mX3JlbG9jOwogCQkgIGlmICgocC0+c2Vj
LT5vdXRwdXRfc2VjdGlvbi0+ZmxhZ3MgJiBTRUNfUkVBRE9OTFkpICE9IDAKIAkJICAgICAgJiYg
KGluZm8tPmZsYWdzICYgREZfVEVYVFJFTCkgPT0gMCkKLS0gCjIuNTUuMAoK
--000000000000e230440658306776--