summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf32-s390.c9
-rw-r--r--binutils/ChangeLog4
-rw-r--r--binutils/readelf.c4
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/config/tc-s390.c7
-rw-r--r--gas/config/tc-s390.h4
-rw-r--r--include/ChangeLog4
-rw-r--r--include/elf/s390.h4
9 files changed, 48 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 75574a7fc5..470610ee8d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2010-01-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * elf32-s390.c (elf32_s390_merge_private_bfd_data): New function.
+ (bfd_elf32_bfd_merge_private_bfd_data): New macro definition.
+
2010-01-19 Cary Coutant <ccoutant@google.com>
* dwarf2.c (read_attribute_value): Add DW_FORM_ref_sig8.
diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c
index 094a8dc38d..41178d6833 100644
--- a/bfd/elf32-s390.c
+++ b/bfd/elf32-s390.c
@@ -3483,6 +3483,13 @@ elf_s390_plt_sym_val (bfd_vma i, const asection *plt,
return plt->vma + PLT_FIRST_ENTRY_SIZE + i * PLT_ENTRY_SIZE;
}
+static bfd_boolean
+elf32_s390_merge_private_bfd_data (bfd *ibfd, bfd *obfd)
+{
+ elf_elfheader (obfd)->e_flags |= elf_elfheader (ibfd)->e_flags;
+ return TRUE;
+}
+
#define TARGET_BIG_SYM bfd_elf32_s390_vec
#define TARGET_BIG_NAME "elf32-s390"
@@ -3506,6 +3513,8 @@ elf_s390_plt_sym_val (bfd_vma i, const asection *plt,
#define bfd_elf32_bfd_reloc_type_lookup elf_s390_reloc_type_lookup
#define bfd_elf32_bfd_reloc_name_lookup elf_s390_reloc_name_lookup
+#define bfd_elf32_bfd_merge_private_bfd_data elf32_s390_merge_private_bfd_data
+
#define elf_backend_adjust_dynamic_symbol elf_s390_adjust_dynamic_symbol
#define elf_backend_check_relocs elf_s390_check_relocs
#define elf_backend_copy_indirect_symbol elf_s390_copy_indirect_symbol
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index c980f858cb..52645fef37 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,7 @@
+2010-01-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * readelf.c (get_machine_flags): Handle EF_S390_HIGH_GPRS.
+
2010-01-19 Ian Lance Taylor <iant@google.com>
* objcopy.c (copy_main): Rewrite OPTION_ADD_SECTION code to work
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 8c9edce232..b9de73a116 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -2508,6 +2508,10 @@ get_machine_flags (unsigned e_flags, unsigned e_machine)
strcat (buf, ", 64-bit doubles");
if (e_flags & E_FLAG_RX_DSP)
strcat (buf, ", dsp");
+
+ case EM_S390:
+ if (e_flags & EF_S390_HIGH_GPRS)
+ strcat (buf, ", highgprs");
}
}
diff --git a/gas/ChangeLog b/gas/ChangeLog
index a1195e8087..ea20cf6116 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2010-01-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/tc-s390.c (s390_elf_final_processing): New function.
+ * config/tc-s390.h (elf_tc_final_processing): New macro definition.
+ (s390_elf_final_processing): Added prototype.
+
+
2010-01-20 Nick Clifton <nickc@redhat.com>
PR 11109
diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c
index b0c453a5c2..70a1adcdb4 100644
--- a/gas/config/tc-s390.c
+++ b/gas/config/tc-s390.c
@@ -2265,3 +2265,10 @@ tc_s390_regname_to_dw2regnum (char *regname)
regnum = 33;
return regnum;
}
+
+void
+s390_elf_final_processing (void)
+{
+ if (s390_arch_size == 32 && (current_mode_mask & (1 << S390_OPCODE_ZARCH)))
+ elf_elfheader (stdoutput)->e_flags |= EF_S390_HIGH_GPRS;
+}
diff --git a/gas/config/tc-s390.h b/gas/config/tc-s390.h
index f8fe581b2e..f896e44775 100644
--- a/gas/config/tc-s390.h
+++ b/gas/config/tc-s390.h
@@ -95,3 +95,7 @@ extern int s390_cie_data_alignment;
#define DWARF2_LINE_MIN_INSN_LENGTH 1
#define DWARF2_DEFAULT_RETURN_COLUMN 14
#define DWARF2_CIE_DATA_ALIGNMENT s390_cie_data_alignment
+
+extern void s390_elf_final_processing (void);
+
+#define elf_tc_final_processing s390_elf_final_processing
diff --git a/include/ChangeLog b/include/ChangeLog
index db4665407f..18d8e1000c 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,7 @@
+2010-01-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * s390.h (EF_S390_HIGH_GPRS): Added macro definition.
+
2010-01-13 Joel Brobecker <brobecker@adacore.com>
Add new DW_AT_use_GNAT_descriptive_type CU attribute.
diff --git a/include/elf/s390.h b/include/elf/s390.h
index c62b110166..17c4abfe1f 100644
--- a/include/elf/s390.h
+++ b/include/elf/s390.h
@@ -33,6 +33,10 @@
#include "elf/reloc-macros.h"
+/* Processor specific flags for the ELF header e_flags field. */
+
+#define EF_S390_HIGH_GPRS 0x00000001
+
/* Relocation types. */
START_RELOC_NUMBERS (elf_s390_reloc_type)
OpenPOWER on IntegriCloud