summaryrefslogtreecommitdiff
path: root/bfd/elf32-s390.c
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>2015-04-27 10:32:23 +0200
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>2015-04-27 10:32:23 +0200
commit643f7afb0d7f63dcff873d3cbfd7ed3eaf94197f (patch)
tree4bff220a5e5372b4ab9ee2a33d6bf761dbf3248c /bfd/elf32-s390.c
parent3b78cfe1033fafa6ca36c69cf8587c1bd96996ca (diff)
downloadbinutils-gdb-643f7afb0d7f63dcff873d3cbfd7ed3eaf94197f.tar.gz
S/390: z13 use GNU attribute to indicate vector ABI
bfd/ * elf-s390-common.c (elf_s390_merge_obj_attributes): New function. * elf32-s390.c (elf32_s390_merge_private_bfd_data): Call elf_s390_merge_obj_attributes. * elf64-s390.c (elf64_s390_merge_private_bfd_data): New function. binutils/ * readelf.c (display_s390_gnu_attribute): New function. (process_s390_specific): New function. (process_arch_specific): Call process_s390_specific. gas/ * doc/as.texinfo: Document Tag_GNU_S390_ABI_Vector. include/elf/ * s390.h: Define Tag_GNU_S390_ABI_Vector.
Diffstat (limited to 'bfd/elf32-s390.c')
-rw-r--r--bfd/elf32-s390.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c
index 0127eabe778..19ba0442518 100644
--- a/bfd/elf32-s390.c
+++ b/bfd/elf32-s390.c
@@ -3980,9 +3980,18 @@ elf_s390_plt_sym_val (bfd_vma i, const asection *plt,
return plt->vma + PLT_FIRST_ENTRY_SIZE + i * PLT_ENTRY_SIZE;
}
+/* Merge backend specific data from an object file to the output
+ object file when linking. */
+
static bfd_boolean
elf32_s390_merge_private_bfd_data (bfd *ibfd, bfd *obfd)
{
+ if (!is_s390_elf (ibfd) || !is_s390_elf (obfd))
+ return TRUE;
+
+ if (!elf_s390_merge_obj_attributes (ibfd, obfd))
+ return FALSE;
+
elf_elfheader (obfd)->e_flags |= elf_elfheader (ibfd)->e_flags;
return TRUE;
}