svn commit: r217395 - head/contrib/binutils/ld/emultempl
Konstantin Belousov
kib at FreeBSD.org
Fri Jan 14 11:28:34 UTC 2011
Author: kib
Date: Fri Jan 14 11:28:34 2011
New Revision: 217395
URL: http://svn.freebsd.org/changeset/base/217395
Log:
On PowerPC64, linker emits a fake object into each linked object,
'linker stubs'. Add .note.GNU-stack for the stubs objects. Without this,
final binary will have RWE mode for PT_GNU_STACK regardless of the
actual requirements.
Tested by: nwhitehorn
Reviewed by: dim, nwhitehorn
Modified:
head/contrib/binutils/ld/emultempl/ppc64elf.em
Modified: head/contrib/binutils/ld/emultempl/ppc64elf.em
==============================================================================
--- head/contrib/binutils/ld/emultempl/ppc64elf.em Fri Jan 14 11:25:11 2011 (r217394)
+++ head/contrib/binutils/ld/emultempl/ppc64elf.em Fri Jan 14 11:28:34 2011 (r217395)
@@ -60,6 +60,7 @@ ppc_create_output_section_statements (vo
{
extern const bfd_target bfd_elf64_powerpc_vec;
extern const bfd_target bfd_elf64_powerpcle_vec;
+ asection *sect;
if (link_info.hash->creator != &bfd_elf64_powerpc_vec
&& link_info.hash->creator != &bfd_elf64_powerpcle_vec)
@@ -80,6 +81,8 @@ ppc_create_output_section_statements (vo
return;
}
+ if (bfd_get_section_by_name (stub_file->the_bfd, ".note.GNU-stack") == NULL)
+ sect = bfd_make_section (stub_file->the_bfd, ".note.GNU-stack");
ldlang_add_file (stub_file);
ppc64_elf_init_stub_bfd (stub_file->the_bfd, &link_info);
}
More information about the svn-src-all
mailing list