x86: Disallow TLS relocation in non executable section

Since TLS relocations are applied to executable machine instructions,
disallow TLS relocation in non-SHT_PROGBITS, non-SHF_EXECINSTR section.

	PR ld/33451
	PR ld/33502
	* elf32-i386.c (elf_i386_tls_transition): Disallow TLS relocation
	in non-SHT_PROGBITS, non-SHF_EXECINSTR section.
	(elf_i386_scan_relocs): Likewise.
	* elf64-x86-64.c (elf_x86_64_tls_transition): Likewise.
	(elf_x86_64_scan_relocs): Likewise.
	* elfxx-x86.c (_bfd_x86_elf_link_report_tls_invalid_section_error):
	New.
	* elfxx-x86.h (_bfd_x86_elf_link_report_tls_invalid_section_error):
	Likewise.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
4 files changed