SHA256
1
0
forked from pool/binutils

- Update to 2.23.90 prerelease, remove patches that

are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
  aarch64-execstack.patch, aarch64-gc-section-support.patch,
  aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
  aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
  binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
  binutils-2.23.52.0.1-64-bit-thin-archives.patch,
  s390-machinemode.patch, warning-symbol-sections.patch).

OBS-URL: https://build.opensuse.org/package/show/devel:gcc/binutils?expand=0&rev=143
This commit is contained in:
Michael Matz 2013-09-20 15:57:46 +00:00 committed by Git OBS Bridge
parent 318c193067
commit 08a0196e76
51 changed files with 261 additions and 1710 deletions

View File

@ -1,38 +0,0 @@
Index: binutils-2.23.1/ld/emulparams/aarch64elf.sh
===================================================================
--- binutils-2.23.1.orig/ld/emulparams/aarch64elf.sh
+++ binutils-2.23.1/ld/emulparams/aarch64elf.sh
@@ -33,3 +33,14 @@ ATTRS_SECTIONS='.ARM.attributes 0 : { KE
# This sets the stack to the top of the simulator memory (2^19 bytes).
STACK_ADDR=0x80000
+
+# For Linux modify the default library search path
+# to first include a 64-bit specific directory.
+case "$target" in
+ aarch64*-linux*)
+ case "$EMULATION_NAME" in
+ *) LIBPATH_SUFFIX=64 ;;
+ esac
+ ;;
+esac
+
Index: binutils-2.23.1/ld/emulparams/aarch64linux.sh
===================================================================
--- binutils-2.23.1.orig/ld/emulparams/aarch64linux.sh
+++ binutils-2.23.1/ld/emulparams/aarch64linux.sh
@@ -34,3 +34,14 @@ OTHER_SECTIONS='.note.gnu.arm.ident 0 :
ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }'
# Ensure each PLT entry is aligned to a cache line.
PLT=".plt ${RELOCATING-0} : ALIGN(16) { *(.plt)${IREL_IN_PLT+ *(.iplt)} }"
+
+# For Linux modify the default library search path
+# to first include a 64-bit specific directory.
+case "$target" in
+ aarch64*-linux*)
+ case "$EMULATION_NAME" in
+ *) LIBPATH_SUFFIX=64 ;;
+ esac
+ ;;
+esac
+

View File

@ -1,337 +0,0 @@
2013-07-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
* elf64-aarch64.c (aarch64_elf_create_got_section): New.
(elf64_aarch64_check_relocs): Use aarch64_elf_create_got_section.
(elf64_aarch64_create_dynamic_sections): Do not define
_GLOBAL_OFFSET_TABLE_; call aarch64_elf_create_got_section.
ld/testsuite/
* ld-aarch64/gc-plt-relocs.d: Adjust expected .got offsets.
* ld-aarch64/tls-desc-ie.d: Likewise.
* ld-aarch64/emit-relocs-311.d: Adjust expected symbol.
* ld-aarch64/tls-relax-all.d: Likewise.
* ld-aarch64/tls-relax-gd-ie.d: Likewise.
* ld-aarch64/tls-relax-gdesc-ie.d: Likewise.
* ld-aarch64/tls-relax-gdesc-ie-2.d: Likewise.
2013-07-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
* ld-aarch64/emit-relocs-309-low.d: Adjust .text address.
* ld-aarch64/emit-relocs-309-up.d: Adjust .got address.
* ld-aarch64/emit-relocs-312.d: Adjust offsets into .got.
* ld-aarch64/tls-relax-all.d: Likewise.
* ld-aarch64/gc-got-relocs.d: Adjust expected .got content.
* ld-aarch64/gc-tls-relocs.d: Likewise.
* ld-aarch64/tls-relax-gd-ie.d: Likewise.
* ld-aarch64/tls-relax-gdesc-ie-2.d: Likewise.
* ld-aarch64/tls-relax-gdesc-ie.d: Likewise.
2013-06-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
* elf64-aarch64.c (elf64_aarch64_check_relocs): Reserve one slot
in sgot.
(elf64_aarch64_finish_dynamic_sections): Place the &_DYNAMIC reference
in sgot[0] rather than sgotplt[0].
Index: binutils-2.23.2/bfd/elf64-aarch64.c
===================================================================
--- binutils-2.23.2.orig/bfd/elf64-aarch64.c
+++ binutils-2.23.2/bfd/elf64-aarch64.c
@@ -5077,6 +5077,70 @@ elf64_aarch64_allocate_local_symbols (bf
return TRUE;
}
+/* Create the .got section to hold the global offset table. */
+
+static bfd_boolean
+aarch64_elf_create_got_section (bfd *abfd, struct bfd_link_info *info)
+{
+ const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ flagword flags;
+ asection *s;
+ struct elf_link_hash_entry *h;
+ struct elf_link_hash_table *htab = elf_hash_table (info);
+
+ /* This function may be called more than once. */
+ s = bfd_get_linker_section (abfd, ".got");
+ if (s != NULL)
+ return TRUE;
+
+ flags = bed->dynamic_sec_flags;
+
+ s = bfd_make_section_anyway_with_flags (abfd,
+ (bed->rela_plts_and_copies_p
+ ? ".rela.got" : ".rel.got"),
+ (bed->dynamic_sec_flags
+ | SEC_READONLY));
+ if (s == NULL
+ || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+ return FALSE;
+ htab->srelgot = s;
+
+ s = bfd_make_section_anyway_with_flags (abfd, ".got", flags);
+ if (s == NULL
+ || !bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+ return FALSE;
+ htab->sgot = s;
+ htab->sgot->size += GOT_ENTRY_SIZE;
+
+ if (bed->want_got_sym)
+ {
+ /* Define the symbol _GLOBAL_OFFSET_TABLE_ at the start of the .got
+ (or .got.plt) section. We don't do this in the linker script
+ because we don't want to define the symbol if we are not creating
+ a global offset table. */
+ h = _bfd_elf_define_linkage_sym (abfd, info, s,
+ "_GLOBAL_OFFSET_TABLE_");
+ elf_hash_table (info)->hgot = h;
+ if (h == NULL)
+ return FALSE;
+ }
+
+ if (bed->want_got_plt)
+ {
+ s = bfd_make_section_anyway_with_flags (abfd, ".got.plt", flags);
+ if (s == NULL
+ || !bfd_set_section_alignment (abfd, s,
+ bed->s->log_file_align))
+ return FALSE;
+ htab->sgotplt = s;
+ }
+
+ /* The first bit of the global offset table is the header. */
+ s->size += bed->got_header_size;
+
+ return TRUE;
+}
+
/* Look through the relocs for a section during the first phase. */
static bfd_boolean
@@ -5315,13 +5379,10 @@ elf64_aarch64_check_relocs (bfd *abfd, s
}
}
- if (htab->root.sgot == NULL)
- {
- if (htab->root.dynobj == NULL)
- htab->root.dynobj = abfd;
- if (!_bfd_elf_create_got_section (htab->root.dynobj, info))
- return FALSE;
- }
+ if (htab->root.dynobj == NULL)
+ htab->root.dynobj = abfd;
+ if (! aarch64_elf_create_got_section (htab->root.dynobj, info))
+ return FALSE;
break;
}
@@ -5908,7 +5969,10 @@ elf64_aarch64_create_dynamic_sections (b
struct bfd_link_info *info)
{
struct elf64_aarch64_link_hash_table *htab;
- struct elf_link_hash_entry *h;
+
+ /* We need to create .got section. */
+ if (!aarch64_elf_create_got_section (dynobj, info))
+ return FALSE;
if (!_bfd_elf_create_dynamic_sections (dynobj, info))
return FALSE;
@@ -5921,16 +5985,6 @@ elf64_aarch64_create_dynamic_sections (b
if (!htab->sdynbss || (!info->shared && !htab->srelbss))
abort ();
- /* Define the symbol _GLOBAL_OFFSET_TABLE_ at the start of the
- dynobj's .got section. We don't do this in the linker script
- because we don't want to define the symbol if we are not creating
- a global offset table. */
- h = _bfd_elf_define_linkage_sym (dynobj, info,
- htab->root.sgot, "_GLOBAL_OFFSET_TABLE_");
- elf_hash_table (info)->hgot = h;
- if (h == NULL)
- return FALSE;
-
return TRUE;
}
@@ -6939,15 +6993,8 @@ elf64_aarch64_finish_dynamic_sections (b
/* Fill in the first three entries in the global offset table. */
if (htab->root.sgotplt->size > 0)
{
- /* Set the first entry in the global offset table to the address of
- the dynamic section. */
- if (sdyn == NULL)
- bfd_put_64 (output_bfd, (bfd_vma) 0,
- htab->root.sgotplt->contents);
- else
- bfd_put_64 (output_bfd,
- sdyn->output_section->vma + sdyn->output_offset,
- htab->root.sgotplt->contents);
+ bfd_put_64 (output_bfd, (bfd_vma) 0, htab->root.sgotplt->contents);
+
/* Write GOT[1] and GOT[2], needed for the dynamic linker. */
bfd_put_64 (output_bfd,
(bfd_vma) 0,
@@ -6957,6 +7004,16 @@ elf64_aarch64_finish_dynamic_sections (b
htab->root.sgotplt->contents + GOT_ENTRY_SIZE * 2);
}
+ if (htab->root.sgot)
+ {
+ if (htab->root.sgot->size > 0)
+ {
+ bfd_vma addr =
+ sdyn ? sdyn->output_section->vma + sdyn->output_offset : 0;
+ bfd_put_64 (output_bfd, addr, htab->root.sgot->contents);
+ }
+ }
+
elf_section_data (htab->root.sgotplt->output_section)->
this_hdr.sh_entsize = GOT_ENTRY_SIZE;
}
Index: binutils-2.23.2/ld/testsuite/ld-aarch64/emit-relocs-311.d
===================================================================
--- binutils-2.23.2.orig/ld/testsuite/ld-aarch64/emit-relocs-311.d
+++ binutils-2.23.2/ld/testsuite/ld-aarch64/emit-relocs-311.d
@@ -10,5 +10,5 @@
+1000c: R_AARCH64_ADR_PREL_PG_HI21 tempy2
+10010: b0ffff91 adrp x17, 1000 <tempy3-0x234>
+10010: R_AARCH64_ADR_PREL_PG_HI21 tempy3
- +10014: 90000083 adrp x3, 20000 <tempy[+]0xf000>
+ +10014: 90000083 adrp x3, 20000 <_GLOBAL_OFFSET_TABLE_>
+10014: R_AARCH64_ADR_GOT_PAGE gempy
Index: binutils-2.23.2/ld/testsuite/ld-aarch64/emit-relocs-312.d
===================================================================
--- binutils-2.23.2.orig/ld/testsuite/ld-aarch64/emit-relocs-312.d
+++ binutils-2.23.2/ld/testsuite/ld-aarch64/emit-relocs-312.d
@@ -10,10 +10,10 @@
+1000c: R_AARCH64_LD_PREL_LO19 tempy2
+10010: 58f89131 ldr x17, 1234 <tempy3>
+10010: R_AARCH64_LD_PREL_LO19 tempy3
- +10014: f9400843 ldr x3, \[x2.*
+ +10014: f9400c43 ldr x3, \[x2.*
+10014: R_AARCH64_LD64_GOT_LO12_NC jempy
- +10018: f9400444 ldr x4, \[x2.*
+ +10018: f9400844 ldr x4, \[x2.*
+10018: R_AARCH64_LD64_GOT_LO12_NC gempy
- +1001c: f9400045 ldr x5, \[x2.*
+ +1001c: f9400445 ldr x5, \[x2.*
+1001c: R_AARCH64_LD64_GOT_LO12_NC lempy
Index: binutils-2.23.2/ld/testsuite/ld-aarch64/tls-desc-ie.d
===================================================================
--- binutils-2.23.2.orig/ld/testsuite/ld-aarch64/tls-desc-ie.d
+++ binutils-2.23.2/ld/testsuite/ld-aarch64/tls-desc-ie.d
@@ -3,18 +3,18 @@
#objdump: -dr
#...
+10000: 90000080 adrp x0, 20000 <_GLOBAL_OFFSET_TABLE_>
- +10004: 91002000 add x0, x0, #0x8
+ +10004: 91004000 add x0, x0, #0x10
+10008: 94000016 bl 10060 <v1\+0x10060>
+1000c: d503201f nop
+10010: 90000080 adrp x0, 20000 <_GLOBAL_OFFSET_TABLE_>
- +10014: f9400000 ldr x0, \[x0\]
+ +10014: f9400400 ldr x0, \[x0,#8\]
+10018: d503201f nop
+1001c: d503201f nop
+10020: d53bd041 mrs x1, tpidr_el0
+10024: 8b000020 add x0, x1, x0
+10028: d53bd042 mrs x2, tpidr_el0
+1002c: 90000080 adrp x0, 20000 <_GLOBAL_OFFSET_TABLE_>
- +10030: f9400000 ldr x0, \[x0\]
+ +10030: f9400400 ldr x0, \[x0,#8\]
+10034: 8b000040 add x0, x2, x0
+10038: b9400000 ldr w0, \[x0\]
+1003c: 0b000020 add w0, w1, w0
@@ -24,13 +24,13 @@ Disassembly of section .plt:
0000000000010040 <.plt>:
+10040: a9bf7bf0 stp x16, x30, \[sp,#-16\]!
+10044: 90000090 adrp x16, 20000 <_GLOBAL_OFFSET_TABLE_>
- +10048: f9401611 ldr x17, \[x16,#40\]
- +1004c: 9100a210 add x16, x16, #0x28
+ +10048: f9401a11 ldr x17, \[x16,#48\]
+ +1004c: 9100c210 add x16, x16, #0x30
+10050: d61f0220 br x17
+10054: d503201f nop
+10058: d503201f nop
+1005c: d503201f nop
+10060: 90000090 adrp x16, 20000 <_GLOBAL_OFFSET_TABLE_>
- +10064: f9401a11 ldr x17, \[x16,#48\]
- +10068: 9100c210 add x16, x16, #0x30
+ +10064: f9401e11 ldr x17, \[x16,#56\]
+ +10068: 9100e210 add x16, x16, #0x38
+1006c: d61f0220 br x17
Index: binutils-2.23.2/ld/testsuite/ld-aarch64/tls-relax-all.d
===================================================================
--- binutils-2.23.2.orig/ld/testsuite/ld-aarch64/tls-relax-all.d
+++ binutils-2.23.2/ld/testsuite/ld-aarch64/tls-relax-all.d
@@ -4,8 +4,8 @@
#...
+10000: a9bf7bfd stp x29, x30, \[sp,#-16\]!
+10004: 910003fd mov x29, sp
- +10008: 90000080 adrp x0, 20000 <ie_var\+0x1fff0>
- +1000c: f9400000 ldr x0, \[x0\]
+ +10008: 90000080 adrp x0, 20000 <_GLOBAL_OFFSET_TABLE_>
+ +1000c: f9400400 ldr x0, \[x0,#8\]
+10010: d503201f nop
+10014: d503201f nop
+10018: d53bd041 mrs x1, tpidr_el0
@@ -19,8 +19,8 @@
+10038: 8b000040 add x0, x2, x0
+1003c: b9400000 ldr w0, \[x0\]
+10040: 0b000021 add w1, w1, w0
- +10044: 90000080 adrp x0, 20000 <ie_var\+0x1fff0>
- +10048: f9400400 ldr x0, \[x0,#8\]
+ +10044: 90000080 adrp x0, 20000 <_GLOBAL_OFFSET_TABLE_>
+ +10048: f9400800 ldr x0, \[x0,#16\]
+1004c: d53bd041 mrs x1, tpidr_el0
+10050: 8b000020 add x0, x1, x0
+10054: b9400000 ldr w0, \[x0\]
Index: binutils-2.23.2/ld/testsuite/ld-aarch64/tls-relax-gd-ie.d
===================================================================
--- binutils-2.23.2.orig/ld/testsuite/ld-aarch64/tls-relax-gd-ie.d
+++ binutils-2.23.2/ld/testsuite/ld-aarch64/tls-relax-gd-ie.d
@@ -2,8 +2,8 @@
#ld: -T relocs.ld -e0
#objdump: -dr
#...
- +10000: 90000080 adrp x0, 20000 <var\+0x20000>
- +10004: f9400000 ldr x0, \[x0\]
+ +10000: 90000080 adrp x0, 20000 <_GLOBAL_OFFSET_TABLE_>
+ +10004: f9400400 ldr x0, \[x0,#8\]
+10008: d53bd041 mrs x1, tpidr_el0
+1000c: 8b000020 add x0, x1, x0
+10010: b9400000 ldr w0, \[x0\]
Index: binutils-2.23.2/ld/testsuite/ld-aarch64/tls-relax-gdesc-ie-2.d
===================================================================
--- binutils-2.23.2.orig/ld/testsuite/ld-aarch64/tls-relax-gdesc-ie-2.d
+++ binutils-2.23.2/ld/testsuite/ld-aarch64/tls-relax-gdesc-ie-2.d
@@ -2,9 +2,9 @@
#ld: -T relocs.ld -e0
#objdump: -dr
#...
- +10000: 90000080 adrp x0, 20000 <var\+0x20000>
+ +10000: 90000080 adrp x0, 20000 <_GLOBAL_OFFSET_TABLE_>
+10004: d503201f nop
- +10008: f9400000 ldr x0, \[x0\]
+ +10008: f9400400 ldr x0, \[x0,#8\]
+1000c: d503201f nop
+10010: d503201f nop
+10014: d503201f nop
Index: binutils-2.23.2/ld/testsuite/ld-aarch64/tls-relax-gdesc-ie.d
===================================================================
--- binutils-2.23.2.orig/ld/testsuite/ld-aarch64/tls-relax-gdesc-ie.d
+++ binutils-2.23.2/ld/testsuite/ld-aarch64/tls-relax-gdesc-ie.d
@@ -2,8 +2,8 @@
#ld: -T relocs.ld -e0
#objdump: -dr
#...
- +10000: 90000080 adrp x0, 20000 <var\+0x20000>
- +10004: f9400000 ldr x0, \[x0\]
+ +10000: 90000080 adrp x0, 20000 <_GLOBAL_OFFSET_TABLE_>
+ +10004: f9400400 ldr x0, \[x0,#8\]
+10008: d503201f nop
+1000c: d503201f nop
+10010: d53bd041 mrs x1, tpidr_el0

View File

@ -1,25 +0,0 @@
From 13cfe5d13f05b3887fb1e1827dd0834f6a109637 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Tue, 14 May 2013 17:12:55 +0200
Subject: [PATCH] Define elf_backend_default_execstack to 0 for aarch64
* elf64-aarch64.c (elf_backend_default_execstack): Define to 0.
---
bfd/elf64-aarch64.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/bfd/elf64-aarch64.c b/bfd/elf64-aarch64.c
index e3cae95..aef472f 100644
--- a/bfd/elf64-aarch64.c
+++ b/bfd/elf64-aarch64.c
@@ -7181,6 +7181,7 @@ const struct elf_size_info elf64_aarch64_size_info =
#define elf_backend_may_use_rela_p 1
#define elf_backend_default_use_rela_p 1
#define elf_backend_got_header_size (GOT_ENTRY_SIZE * 3)
+#define elf_backend_default_execstack 0
#undef elf_backend_obj_attrs_section
#define elf_backend_obj_attrs_section ".ARM.attributes"
--
1.8.2.3

View File

@ -1,166 +0,0 @@
Index: binutils-2.23.1/bfd/elf64-aarch64.c
===================================================================
--- binutils-2.23.1.orig/bfd/elf64-aarch64.c
+++ binutils-2.23.1/bfd/elf64-aarch64.c
@@ -4823,6 +4823,138 @@ elf64_aarch64_gc_sweep_hook (bfd *abfd A
const Elf_Internal_Rela *
relocs ATTRIBUTE_UNUSED)
{
+ struct elf64_aarch64_link_hash_table *htab;
+ Elf_Internal_Shdr *symtab_hdr;
+ struct elf_link_hash_entry **sym_hashes;
+ bfd_signed_vma *local_got_refcounts;
+ const Elf_Internal_Rela *rel, *relend;
+
+ if (info->relocatable)
+ return TRUE;
+
+ htab = elf64_aarch64_hash_table (info);
+
+ if (htab == NULL)
+ return FALSE;
+
+ elf_section_data (sec)->local_dynrel = NULL;
+
+ symtab_hdr = &elf_symtab_hdr (abfd);
+ sym_hashes = elf_sym_hashes (abfd);
+
+ local_got_refcounts = elf_local_got_refcounts (abfd);
+
+ relend = relocs + sec->reloc_count;
+ for (rel = relocs; rel < relend; rel++)
+ {
+ unsigned long r_symndx;
+ unsigned int r_type;
+ struct elf_link_hash_entry *h = NULL;
+
+ r_symndx = ELF64_R_SYM (rel->r_info);
+
+ if (r_symndx >= symtab_hdr->sh_info)
+ {
+ struct elf64_aarch64_link_hash_entry *eh;
+ struct elf_dyn_relocs **pp;
+ struct elf_dyn_relocs *p;
+
+ h = sym_hashes[r_symndx - symtab_hdr->sh_info];
+ while (h->root.type == bfd_link_hash_indirect
+ || h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+ eh = (struct elf64_aarch64_link_hash_entry *) h;
+
+ for (pp = &eh->dyn_relocs; (p = *pp) != NULL; pp = &p->next)
+ {
+ if (p->sec == sec)
+ {
+ /* Everything must go for SEC. */
+ *pp = p->next;
+ break;
+ }
+ }
+ }
+ else
+ {
+ Elf_Internal_Sym *isym;
+
+ /* A local symbol. */
+ isym = bfd_sym_from_r_symndx (&htab->sym_cache,
+ abfd, r_symndx);
+ if (isym == NULL)
+ return FALSE;
+ }
+
+ r_type = ELF64_R_TYPE (rel->r_info);
+ r_type = aarch64_tls_transition (abfd,info, r_type, h ,r_symndx);
+ switch (r_type)
+ {
+ case R_AARCH64_LD64_GOT_LO12_NC:
+ case R_AARCH64_ADR_GOT_PAGE:
+ case R_AARCH64_TLSGD_ADR_PAGE21:
+ case R_AARCH64_TLSGD_ADD_LO12_NC:
+ case R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
+ case R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
+ case R_AARCH64_TLSLE_ADD_TPREL_LO12:
+ case R_AARCH64_TLSLE_ADD_TPREL_HI12:
+ case R_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
+ case R_AARCH64_TLSLE_MOVW_TPREL_G2:
+ case R_AARCH64_TLSLE_MOVW_TPREL_G1:
+ case R_AARCH64_TLSLE_MOVW_TPREL_G1_NC:
+ case R_AARCH64_TLSLE_MOVW_TPREL_G0:
+ case R_AARCH64_TLSLE_MOVW_TPREL_G0_NC:
+ case R_AARCH64_TLSDESC_ADR_PAGE:
+ case R_AARCH64_TLSDESC_ADD_LO12_NC:
+ case R_AARCH64_TLSDESC_LD64_LO12_NC:
+ if (h != NULL)
+ {
+ if (h->got.refcount > 0)
+ h->got.refcount -= 1;
+ }
+ else if (local_got_refcounts != NULL)
+ {
+ if (local_got_refcounts[r_symndx] > 0)
+ local_got_refcounts[r_symndx] -= 1;
+ }
+ break;
+
+ case R_AARCH64_ADR_PREL_PG_HI21_NC:
+ case R_AARCH64_ADR_PREL_PG_HI21:
+ case R_AARCH64_ADR_PREL_LO21:
+ if (h != NULL && info->executable)
+ {
+ if (h->plt.refcount > 0)
+ h->plt.refcount -= 1;
+ }
+ break;
+
+ case R_AARCH64_CALL26:
+ case R_AARCH64_JUMP26:
+ /* If this is a local symbol then we resolve it
+ directly without creating a PLT entry. */
+ if (h == NULL)
+ continue;
+
+ if (h->plt.refcount > 0)
+ h->plt.refcount -= 1;
+ break;
+
+ case R_AARCH64_ABS64:
+ if (h != NULL && info->executable)
+ {
+ if (h->plt.refcount > 0)
+ h->plt.refcount -= 1;
+ }
+ break;
+
+ default:
+ break;
+
+ }
+
+ }
+
return TRUE;
}
@@ -6994,7 +7127,7 @@ const struct elf_size_info elf64_aarch64
elf64_aarch64_size_info
#define elf_backend_can_refcount 1
-#define elf_backend_can_gc_sections 0
+#define elf_backend_can_gc_sections 1
#define elf_backend_plt_readonly 1
#define elf_backend_want_got_plt 1
#define elf_backend_want_plt_sym 0
Index: binutils-2.23.1/ld/testsuite/lib/ld-lib.exp
===================================================================
--- binutils-2.23.1.orig/ld/testsuite/lib/ld-lib.exp
+++ binutils-2.23.1/ld/testsuite/lib/ld-lib.exp
@@ -1500,8 +1500,7 @@ proc check_gc_sections_available { } {
if {![info exists gc_sections_available_saved]} {
# Some targets don't support gc-sections despite whatever's
# advertised by ld's options.
- if {[istarget aarch64*-*-*]
- || [istarget arc-*-*]
+ if {[istarget arc-*-*]
|| [istarget d30v-*-*]
|| [istarget dlx-*-*]
|| [istarget i960-*-*]

View File

@ -1,115 +0,0 @@
From: Yufeng Zhang <yufeng.zhang@arm.com>
Date: Mon, 13 May 2013 22:50:00 +0000 (+0000)
Subject: gas/
X-Git-Url: http://sourceware.org/git/?p=binutils.git;a=commitdiff_plain;h=1796bf893c4729d5c523502318d72cae78495d6c
gas/
Backport from mainline:
2013-02-27 Yufeng Zhang <yufeng.zhang@arm.com>
* config/tc-aarch64.c (parse_sys_reg): Allow the full range of CRn
for system registers.
gas/testsuite/
Backport from mainline:
2013-02-27 Yufeng Zhang <yufeng.zhang@arm.com>
* gas/aarch64/illegal.l: Delete the error message for
msr S3_1_C13_C15_1,x7.
* gas/aarch64/sysreg.s: Add new tests.
* gas/aarch64/sysreg.d: Update.
---
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 821acc9..3d09792 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,11 @@
+2013-05-13 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ Backport from mainline:
+
+ 2013-02-27 Yufeng Zhang <yufeng.zhang@arm.com>
+ * config/tc-aarch64.c (parse_sys_reg): Allow the full range of CRn
+ for system registers.
+
2013-03-05 Yufeng Zhang <yufeng.zhang@arm.com>
* config/tc-aarch64.c (aarch64_imm_float_p): Rename 'e' to 'pattern';
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 162c865..db28c71 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -3243,10 +3243,14 @@ parse_sys_reg (char **str, struct hash_control *sys_regs, int imple_defined_p)
unsigned int op0, op1, cn, cm, op2;
if (sscanf (buf, "s%u_%u_c%u_c%u_%u", &op0, &op1, &cn, &cm, &op2) != 5)
return PARSE_FAIL;
- /* Register access is encoded as follows:
+ /* The architecture specifies the encoding space for implementation
+ defined registers as:
op0 op1 CRn CRm op2
- 11 xxx 1x11 xxxx xxx. */
- if (op0 != 3 || op1 > 7 || (cn | 0x4) != 0xf || cm > 15 || op2 > 7)
+ 11 xxx 1x11 xxxx xxx
+ For convenience GAS accepts a wider encoding space, as follows:
+ op0 op1 CRn CRm op2
+ 11 xxx xxxx xxxx xxx */
+ if (op0 != 3 || op1 > 7 || cn > 15 || cm > 15 || op2 > 7)
return PARSE_FAIL;
value = (op0 << 14) | (op1 << 11) | (cn << 7) | (cm << 3) | op2;
}
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index d1ebc3b..8ee06c8 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,13 @@
+2013-05-13 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ Backport from mainline:
+
+ 2013-02-27 Yufeng Zhang <yufeng.zhang@arm.com>
+ * gas/aarch64/illegal.l: Delete the error message for
+ msr S3_1_C13_C15_1,x7.
+ * gas/aarch64/sysreg.s: Add new tests.
+ * gas/aarch64/sysreg.d: Update.
+
2013-03-08 Christian Groessler <chris@groessler.org>
Backport from mainline:
diff --git a/gas/testsuite/gas/aarch64/illegal.l b/gas/testsuite/gas/aarch64/illegal.l
index e17a1de..f7e4074 100644
--- a/gas/testsuite/gas/aarch64/illegal.l
+++ b/gas/testsuite/gas/aarch64/illegal.l
@@ -520,7 +520,6 @@
[^:]*:496: Error: .*`str x1,page_table_count'
[^:]*:498: Error: .*`prfm PLDL3KEEP,\[x9,x15,sxtx#2\]'
[^:]*:500: Error: .*`mrs x5,S1_0_C13_C8_0'
-[^:]*:501: Error: .*`msr S3_1_C13_C15_1,x7'
[^:]*:502: Error: .*`msr S3_1_C11_C15_-1,x7'
[^:]*:503: Error: .*`msr S3_1_11_15_1,x7'
[^:]*:506: Error: .*`movi w1,#15'
diff --git a/gas/testsuite/gas/aarch64/sysreg.d b/gas/testsuite/gas/aarch64/sysreg.d
index b83b270..c7cf00e 100644
--- a/gas/testsuite/gas/aarch64/sysreg.d
+++ b/gas/testsuite/gas/aarch64/sysreg.d
@@ -23,3 +23,6 @@ Disassembly of section \.text:
3c: d5380260 mrs x0, id_isar3_el1
40: d5380280 mrs x0, id_isar4_el1
44: d53802a0 mrs x0, id_isar5_el1
+ 48: d538cc00 mrs x0, s3_0_c12_c12_0
+ 4c: d5384600 mrs x0, s3_0_c4_c6_0
+ 50: d5184600 msr s3_0_c4_c6_0, x0
diff --git a/gas/testsuite/gas/aarch64/sysreg.s b/gas/testsuite/gas/aarch64/sysreg.s
index e6f770e..3287594 100644
--- a/gas/testsuite/gas/aarch64/sysreg.s
+++ b/gas/testsuite/gas/aarch64/sysreg.s
@@ -22,3 +22,7 @@
mrs x0, id_isar3_el1
mrs x0, id_isar4_el1
mrs x0, id_isar5_el1
+
+ mrs x0, s3_0_c12_c12_0
+ mrs x0, s3_0_c4_c6_0
+ msr s3_0_c4_c6_0, x0

View File

@ -1,142 +0,0 @@
From: Yufeng Zhang <yufeng.zhang@arm.com>
Date: Mon, 13 May 2013 23:09:51 +0000 (+0000)
Subject: gas/testsuite/
X-Git-Url: http://sourceware.org/git/?p=binutils.git;a=commitdiff_plain;h=f426901e1be0f58fe4e9386cada50ca57d0a4f3
gas/testsuite/
Backport from mainline:
2013-05-13 Yufeng Zhang <yufeng.zhang@arm.com>
* gas/aarch64/diagnostic.s: Update.
* gas/aarch64/diagnostic.l: Ditto.
* gas/aarch64/movi.s: Add new tests.
* gas/aarch64/movi.d: Update.
opcodes/
Backport from mainline:
2013-05-13 Yufeng Zhang <yufeng.zhang@arm.com>
* aarch64-asm.c (aarch64_ins_advsimd_imm_modified): Remove assertion.
* aarch64-opc.c (operand_general_constraint_met_p): Relax the range
check from [0, 255] to [-128, 255].
---
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 8ee06c8..475c93a 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,13 @@
+2013-05-13 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ Backport from mainline:
+
+ 2013-05-13 Yufeng Zhang <yufeng.zhang@arm.com>
+ * gas/aarch64/diagnostic.s: Update.
+ * gas/aarch64/diagnostic.l: Ditto.
+ * gas/aarch64/movi.s: Add new tests.
+ * gas/aarch64/movi.d: Update.
+
2013-05-13 Yufeng Zhang <yufeng.zhang@arm.com>
Backport from mainline:
diff --git a/gas/testsuite/gas/aarch64/diagnostic.l b/gas/testsuite/gas/aarch64/diagnostic.l
index f37f11c..d7a1347 100644
--- a/gas/testsuite/gas/aarch64/diagnostic.l
+++ b/gas/testsuite/gas/aarch64/diagnostic.l
@@ -38,8 +38,8 @@
[^:]*:40: Error: invalid shift amount at operand 3 -- `shll v1.4s,v2.4h,#32'
[^:]*:41: Error: immediate value out of range 0 to 31 at operand 3 -- `shl v1.2s,v2.2s,32'
[^:]*:42: Error: immediate value out of range 1 to 8 at operand 3 -- `sqshrn2 v2.16b,v3.8h,#17'
-[^:]*:43: Error: immediate value out of range 0 to 255 at operand 2 -- `movi v1.4h,256'
-[^:]*:44: Error: immediate value out of range 0 to 255 at operand 2 -- `movi v1.4h,-1'
+[^:]*:43: Error: immediate value out of range -128 to 255 at operand 2 -- `movi v1.4h,256'
+[^:]*:44: Error: immediate value out of range -128 to 255 at operand 2 -- `movi v1.4h,-129'
[^:]*:45: Error: invalid shift operator at operand 2 -- `movi v1.4h,255,msl#8'
[^:]*:46: Error: invalid value for immediate at operand 2 -- `movi d0,256'
[^:]*:47: Error: immediate value should be a multiple of 8 at operand 2 -- `movi v1.4h,255,lsl#7'
diff --git a/gas/testsuite/gas/aarch64/diagnostic.s b/gas/testsuite/gas/aarch64/diagnostic.s
index 99ebf8f..e5443ab 100644
--- a/gas/testsuite/gas/aarch64/diagnostic.s
+++ b/gas/testsuite/gas/aarch64/diagnostic.s
@@ -41,7 +41,7 @@
shl v1.2s, v2.2s, 32
sqshrn2 v2.16b, v3.8h, #17
movi v1.4h, 256
- movi v1.4h, -1
+ movi v1.4h, -129
movi v1.4h, 255, msl #8
movi d0, 256
movi v1.4h, 255, lsl #7
diff --git a/gas/testsuite/gas/aarch64/movi.d b/gas/testsuite/gas/aarch64/movi.d
index 2c73cc4..c225b21 100644
--- a/gas/testsuite/gas/aarch64/movi.d
+++ b/gas/testsuite/gas/aarch64/movi.d
@@ -8201,3 +8201,6 @@ Disassembly of section \.text:
8004: 6f07e7e0 movi v0.2d, #0xffffffffffffffff
8008: 6f07e7e0 movi v0.2d, #0xffffffffffffffff
800c: 2f07e7ff movi d31, #0xffffffffffffffff
+ 8010: 0f04e403 movi v3.8b, #0x80
+ 8014: 0f04e423 movi v3.8b, #0x81
+ 8018: 0f07e7e3 movi v3.8b, #0xff
diff --git a/gas/testsuite/gas/aarch64/movi.s b/gas/testsuite/gas/aarch64/movi.s
index 99ca34a..76f2d47 100644
--- a/gas/testsuite/gas/aarch64/movi.s
+++ b/gas/testsuite/gas/aarch64/movi.s
@@ -102,3 +102,8 @@
movi v0.2d, bignum
movi d31, 18446744073709551615
.set bignum, 0xffffffffffffffff
+
+ // Allow -128 to 255 in #<imm8>
+ movi v3.8b, -128
+ movi v3.8b, -127
+ movi v3.8b, -1
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 96dfaeb..4adbc86 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,12 @@
+2013-05-13 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ Backport from mainline:
+
+ 2013-05-13 Yufeng Zhang <yufeng.zhang@arm.com>
+ * aarch64-asm.c (aarch64_ins_advsimd_imm_modified): Remove assertion.
+ * aarch64-opc.c (operand_general_constraint_met_p): Relax the range
+ check from [0, 255] to [-128, 255].
+
2013-03-25 Tristan Gingold <gingold@adacore.com>
Backport of: 2013-03-08 Yann Sionneau <yann.sionneau@gmail.com>
diff --git a/opcodes/aarch64-asm.c b/opcodes/aarch64-asm.c
index 16cdaa9..ba463d9 100644
--- a/opcodes/aarch64-asm.c
+++ b/opcodes/aarch64-asm.c
@@ -369,7 +369,6 @@ aarch64_ins_advsimd_imm_modified (const aarch64_operand *self ATTRIBUTE_UNUSED,
imm = aarch64_shrink_expanded_imm8 (imm);
assert ((int)imm >= 0);
}
- assert (imm <= 255);
insert_fields (code, imm, 0, 2, FLD_defgh, FLD_abc);
if (kind == AARCH64_MOD_NONE)
diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c
index 73a760a..32f34c6 100644
--- a/opcodes/aarch64-opc.c
+++ b/opcodes/aarch64-opc.c
@@ -1724,10 +1724,10 @@ operand_general_constraint_met_p (const aarch64_opnd_info *opnds, int idx,
assert (idx == 1);
if (aarch64_get_qualifier_esize (opnds[0].qualifier) != 8)
{
- /* uimm8 */
- if (!value_in_range_p (opnd->imm.value, 0, 255))
+ /* uimm8 or simm8 */
+ if (!value_in_range_p (opnd->imm.value, -128, 255))
{
- set_imm_out_of_range_error (mismatch_detail, idx, 0, 255);
+ set_imm_out_of_range_error (mismatch_detail, idx, -128, 255);
return 0;
}
}

View File

@ -1,104 +0,0 @@
This patches fixes an integer overflow in libiberty, which leads to
crashes in binutils. The long version of the objalloc_alloc macro
would have needed another conditional, so I removed that and replaced
it with a call to the actual implementation.
This has been compiled-tested only. We do not use this function in
GCC, therefore I want to commit this just to the trunk.
2012-08-29 Florian Weimer <fw@deneb.enyo.de>
PR other/54411
* objalloc.h (objalloc_alloc): Always use the simple definition of
the macro.
2012-08-29 Florian Weimer <fw@deneb.enyo.de>
PR other/54411
* objalloc.c (_objalloc_alloc): Add overflow check covering
alignment and CHUNK_HEADER_SIZE addition.
Index: include/objalloc.h
===================================================================
--- include/objalloc.h.orig
+++ include/objalloc.h
@@ -1,5 +1,5 @@
/* objalloc.h -- routines to allocate memory for objects
- Copyright 1997, 2001 Free Software Foundation, Inc.
+ Copyright 1997-2012 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Solutions.
This program is free software; you can redistribute it and/or modify it
@@ -71,38 +71,8 @@ extern struct objalloc *objalloc_create
extern void *_objalloc_alloc (struct objalloc *, unsigned long);
-/* The macro version of objalloc_alloc. We only define this if using
- gcc, because otherwise we would have to evaluate the arguments
- multiple times, or use a temporary field as obstack.h does. */
-
-#if defined (__GNUC__) && defined (__STDC__) && __STDC__
-
-/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and
- does not implement __extension__. But that compiler doesn't define
- __GNUC_MINOR__. */
-#if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__)
-#define __extension__
-#endif
-
-#define objalloc_alloc(o, l) \
- __extension__ \
- ({ struct objalloc *__o = (o); \
- unsigned long __len = (l); \
- if (__len == 0) \
- __len = 1; \
- __len = (__len + OBJALLOC_ALIGN - 1) &~ (OBJALLOC_ALIGN - 1); \
- (__len <= __o->current_space \
- ? (__o->current_ptr += __len, \
- __o->current_space -= __len, \
- (void *) (__o->current_ptr - __len)) \
- : _objalloc_alloc (__o, __len)); })
-
-#else /* ! __GNUC__ */
-
#define objalloc_alloc(o, l) _objalloc_alloc ((o), (l))
-#endif /* ! __GNUC__ */
-
/* Free an entire objalloc structure. */
extern void objalloc_free (struct objalloc *);
Index: libiberty/objalloc.c
===================================================================
--- libiberty/objalloc.c.orig
+++ libiberty/objalloc.c
@@ -1,5 +1,5 @@
/* objalloc.c -- routines to allocate memory for objects
- Copyright 1997 Free Software Foundation, Inc.
+ Copyright 1997-2012 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Solutions.
This program is free software; you can redistribute it and/or modify it
@@ -112,8 +112,9 @@ objalloc_create (void)
/* Allocate space from an objalloc structure. */
PTR
-_objalloc_alloc (struct objalloc *o, unsigned long len)
+_objalloc_alloc (struct objalloc *o, unsigned long original_len)
{
+ unsigned long len = original_len;
/* We avoid confusion from zero sized objects by always allocating
at least 1 byte. */
if (len == 0)
@@ -121,6 +122,11 @@ _objalloc_alloc (struct objalloc *o, uns
len = (len + OBJALLOC_ALIGN - 1) &~ (OBJALLOC_ALIGN - 1);
+ /* Check for overflow in the alignment operator above and the malloc
+ argument below. */
+ if (len + CHUNK_HEADER_SIZE < original_len)
+ return NULL;
+
if (len <= o->current_space)
{
o->current_ptr += len;

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fe914e56fed7a9ec2eb45274b1f2e14b0d8b4f41906a5194eac6883cfe5c1097
size 21440347

View File

@ -1,25 +0,0 @@
*** ../binutils-2.23.52.0.1.orig/bfd/archive64.c 2013-03-01 17:20:39.873535502 +0000
--- bfd/archive64.c 2013-03-01 17:22:30.410538566 +0000
*************** bfd_elf64_archive_write_armap (bfd *arch
*** 210,218 ****
if (bfd_bwrite (buf, 8, arch) != 8)
return FALSE;
}
/* Add size of this archive entry */
! archive_member_file_ptr += (arelt_size (current)
! + sizeof (struct ar_hdr));
/* remember about the even alignment */
archive_member_file_ptr += archive_member_file_ptr % 2;
}
--- 210,220 ----
if (bfd_bwrite (buf, 8, arch) != 8)
return FALSE;
}
+
/* Add size of this archive entry */
! archive_member_file_ptr += sizeof (struct ar_hdr);
! if (! bfd_is_thin_archive (arch))
! archive_member_file_ptr += arelt_size (current);
/* remember about the even alignment */
archive_member_file_ptr += archive_member_file_ptr % 2;
}

3
binutils-2.23.90.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d7c26b5f430d2a533eb3e5c65009c9944d7e582ea0696377eda7011e2236bf73
size 22735108

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 20 15:53:55 UTC 2013 - matz@suse.de
- Update to 2.23.90 prerelease, remove patches that
are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
aarch64-execstack.patch, aarch64-gc-section-support.patch,
aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
binutils-2.23.52.0.1-64-bit-thin-archives.patch,
s390-machinemode.patch, warning-symbol-sections.patch).
-------------------------------------------------------------------
Sat Aug 31 13:11:36 UTC 2013 - idonmez@suse.com

View File

@ -35,7 +35,7 @@ BuildRequires: zlib-devel-static
%else
BuildRequires: zlib-devel
%endif
Version: 2.23.2
Version: 2.23.90
Release: 0
#
# RUN_TESTS
@ -94,19 +94,9 @@ Patch11: use-hashtype-both-by-default.diff
Patch12: s390-pic-dso.diff
Patch14: binutils-build-as-needed.diff
Patch18: gold-depend-on-opcodes.diff
Patch21: binutils-2.22-objalloc.patch
Patch22: binutils-bfd_h.patch
Patch23: warning-symbol-sections.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch101: aarch64-biarch.patch
Patch102: aarch64-gc-section-support.patch
Patch103: aarch64-execstack.patch
Patch201: s390-machinemode.patch
Patch202: aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff
Patch203: aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff
Patch204: aarch64-dynamic-placement.patch
Patch205: binutils-2.23.52.0.1-64-bit-thin-archives.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@ -170,17 +160,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
%patch12
%patch14
%patch18
%patch21
%patch22
%patch23 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 20 15:53:55 UTC 2013 - matz@suse.de
- Update to 2.23.90 prerelease, remove patches that
are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
aarch64-execstack.patch, aarch64-gc-section-support.patch,
aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
binutils-2.23.52.0.1-64-bit-thin-archives.patch,
s390-machinemode.patch, warning-symbol-sections.patch).
-------------------------------------------------------------------
Sat Aug 31 13:11:36 UTC 2013 - idonmez@suse.com

View File

@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static
%else
BuildRequires: zlib-devel
%endif
Version: 2.23.2
Version: 2.23.90
Release: 0
#
# RUN_TESTS
@ -97,19 +97,9 @@ Patch11: use-hashtype-both-by-default.diff
Patch12: s390-pic-dso.diff
Patch14: binutils-build-as-needed.diff
Patch18: gold-depend-on-opcodes.diff
Patch21: binutils-2.22-objalloc.patch
Patch22: binutils-bfd_h.patch
Patch23: warning-symbol-sections.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch101: aarch64-biarch.patch
Patch102: aarch64-gc-section-support.patch
Patch103: aarch64-execstack.patch
Patch201: s390-machinemode.patch
Patch202: aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff
Patch203: aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff
Patch204: aarch64-dynamic-placement.patch
Patch205: binutils-2.23.52.0.1-64-bit-thin-archives.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@ -173,17 +163,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
%patch12
%patch14
%patch18
%patch21
%patch22
%patch23 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 20 15:53:55 UTC 2013 - matz@suse.de
- Update to 2.23.90 prerelease, remove patches that
are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
aarch64-execstack.patch, aarch64-gc-section-support.patch,
aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
binutils-2.23.52.0.1-64-bit-thin-archives.patch,
s390-machinemode.patch, warning-symbol-sections.patch).
-------------------------------------------------------------------
Sat Aug 31 13:11:36 UTC 2013 - idonmez@suse.com

View File

@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static
%else
BuildRequires: zlib-devel
%endif
Version: 2.23.2
Version: 2.23.90
Release: 0
#
# RUN_TESTS
@ -97,19 +97,9 @@ Patch11: use-hashtype-both-by-default.diff
Patch12: s390-pic-dso.diff
Patch14: binutils-build-as-needed.diff
Patch18: gold-depend-on-opcodes.diff
Patch21: binutils-2.22-objalloc.patch
Patch22: binutils-bfd_h.patch
Patch23: warning-symbol-sections.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch101: aarch64-biarch.patch
Patch102: aarch64-gc-section-support.patch
Patch103: aarch64-execstack.patch
Patch201: s390-machinemode.patch
Patch202: aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff
Patch203: aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff
Patch204: aarch64-dynamic-placement.patch
Patch205: binutils-2.23.52.0.1-64-bit-thin-archives.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@ -173,17 +163,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
%patch12
%patch14
%patch18
%patch21
%patch22
%patch23 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 20 15:53:55 UTC 2013 - matz@suse.de
- Update to 2.23.90 prerelease, remove patches that
are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
aarch64-execstack.patch, aarch64-gc-section-support.patch,
aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
binutils-2.23.52.0.1-64-bit-thin-archives.patch,
s390-machinemode.patch, warning-symbol-sections.patch).
-------------------------------------------------------------------
Sat Aug 31 13:11:36 UTC 2013 - idonmez@suse.com

View File

@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static
%else
BuildRequires: zlib-devel
%endif
Version: 2.23.2
Version: 2.23.90
Release: 0
#
# RUN_TESTS
@ -97,19 +97,9 @@ Patch11: use-hashtype-both-by-default.diff
Patch12: s390-pic-dso.diff
Patch14: binutils-build-as-needed.diff
Patch18: gold-depend-on-opcodes.diff
Patch21: binutils-2.22-objalloc.patch
Patch22: binutils-bfd_h.patch
Patch23: warning-symbol-sections.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch101: aarch64-biarch.patch
Patch102: aarch64-gc-section-support.patch
Patch103: aarch64-execstack.patch
Patch201: s390-machinemode.patch
Patch202: aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff
Patch203: aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff
Patch204: aarch64-dynamic-placement.patch
Patch205: binutils-2.23.52.0.1-64-bit-thin-archives.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@ -173,17 +163,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
%patch12
%patch14
%patch18
%patch21
%patch22
%patch23 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 20 15:53:55 UTC 2013 - matz@suse.de
- Update to 2.23.90 prerelease, remove patches that
are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
aarch64-execstack.patch, aarch64-gc-section-support.patch,
aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
binutils-2.23.52.0.1-64-bit-thin-archives.patch,
s390-machinemode.patch, warning-symbol-sections.patch).
-------------------------------------------------------------------
Sat Aug 31 13:11:36 UTC 2013 - idonmez@suse.com

View File

@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static
%else
BuildRequires: zlib-devel
%endif
Version: 2.23.2
Version: 2.23.90
Release: 0
#
# RUN_TESTS
@ -97,19 +97,9 @@ Patch11: use-hashtype-both-by-default.diff
Patch12: s390-pic-dso.diff
Patch14: binutils-build-as-needed.diff
Patch18: gold-depend-on-opcodes.diff
Patch21: binutils-2.22-objalloc.patch
Patch22: binutils-bfd_h.patch
Patch23: warning-symbol-sections.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch101: aarch64-biarch.patch
Patch102: aarch64-gc-section-support.patch
Patch103: aarch64-execstack.patch
Patch201: s390-machinemode.patch
Patch202: aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff
Patch203: aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff
Patch204: aarch64-dynamic-placement.patch
Patch205: binutils-2.23.52.0.1-64-bit-thin-archives.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@ -173,17 +163,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
%patch12
%patch14
%patch18
%patch21
%patch22
%patch23 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 20 15:53:55 UTC 2013 - matz@suse.de
- Update to 2.23.90 prerelease, remove patches that
are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
aarch64-execstack.patch, aarch64-gc-section-support.patch,
aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
binutils-2.23.52.0.1-64-bit-thin-archives.patch,
s390-machinemode.patch, warning-symbol-sections.patch).
-------------------------------------------------------------------
Sat Aug 31 13:11:36 UTC 2013 - idonmez@suse.com

View File

@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static
%else
BuildRequires: zlib-devel
%endif
Version: 2.23.2
Version: 2.23.90
Release: 0
#
# RUN_TESTS
@ -97,19 +97,9 @@ Patch11: use-hashtype-both-by-default.diff
Patch12: s390-pic-dso.diff
Patch14: binutils-build-as-needed.diff
Patch18: gold-depend-on-opcodes.diff
Patch21: binutils-2.22-objalloc.patch
Patch22: binutils-bfd_h.patch
Patch23: warning-symbol-sections.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch101: aarch64-biarch.patch
Patch102: aarch64-gc-section-support.patch
Patch103: aarch64-execstack.patch
Patch201: s390-machinemode.patch
Patch202: aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff
Patch203: aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff
Patch204: aarch64-dynamic-placement.patch
Patch205: binutils-2.23.52.0.1-64-bit-thin-archives.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@ -173,17 +163,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
%patch12
%patch14
%patch18
%patch21
%patch22
%patch23 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 20 15:53:55 UTC 2013 - matz@suse.de
- Update to 2.23.90 prerelease, remove patches that
are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
aarch64-execstack.patch, aarch64-gc-section-support.patch,
aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
binutils-2.23.52.0.1-64-bit-thin-archives.patch,
s390-machinemode.patch, warning-symbol-sections.patch).
-------------------------------------------------------------------
Sat Aug 31 13:11:36 UTC 2013 - idonmez@suse.com

View File

@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static
%else
BuildRequires: zlib-devel
%endif
Version: 2.23.2
Version: 2.23.90
Release: 0
#
# RUN_TESTS
@ -97,19 +97,9 @@ Patch11: use-hashtype-both-by-default.diff
Patch12: s390-pic-dso.diff
Patch14: binutils-build-as-needed.diff
Patch18: gold-depend-on-opcodes.diff
Patch21: binutils-2.22-objalloc.patch
Patch22: binutils-bfd_h.patch
Patch23: warning-symbol-sections.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch101: aarch64-biarch.patch
Patch102: aarch64-gc-section-support.patch
Patch103: aarch64-execstack.patch
Patch201: s390-machinemode.patch
Patch202: aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff
Patch203: aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff
Patch204: aarch64-dynamic-placement.patch
Patch205: binutils-2.23.52.0.1-64-bit-thin-archives.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@ -173,17 +163,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
%patch12
%patch14
%patch18
%patch21
%patch22
%patch23 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 20 15:53:55 UTC 2013 - matz@suse.de
- Update to 2.23.90 prerelease, remove patches that
are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
aarch64-execstack.patch, aarch64-gc-section-support.patch,
aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
binutils-2.23.52.0.1-64-bit-thin-archives.patch,
s390-machinemode.patch, warning-symbol-sections.patch).
-------------------------------------------------------------------
Sat Aug 31 13:11:36 UTC 2013 - idonmez@suse.com

View File

@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static
%else
BuildRequires: zlib-devel
%endif
Version: 2.23.2
Version: 2.23.90
Release: 0
#
# RUN_TESTS
@ -97,19 +97,9 @@ Patch11: use-hashtype-both-by-default.diff
Patch12: s390-pic-dso.diff
Patch14: binutils-build-as-needed.diff
Patch18: gold-depend-on-opcodes.diff
Patch21: binutils-2.22-objalloc.patch
Patch22: binutils-bfd_h.patch
Patch23: warning-symbol-sections.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch101: aarch64-biarch.patch
Patch102: aarch64-gc-section-support.patch
Patch103: aarch64-execstack.patch
Patch201: s390-machinemode.patch
Patch202: aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff
Patch203: aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff
Patch204: aarch64-dynamic-placement.patch
Patch205: binutils-2.23.52.0.1-64-bit-thin-archives.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@ -173,17 +163,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
%patch12
%patch14
%patch18
%patch21
%patch22
%patch23 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 20 15:53:55 UTC 2013 - matz@suse.de
- Update to 2.23.90 prerelease, remove patches that
are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
aarch64-execstack.patch, aarch64-gc-section-support.patch,
aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
binutils-2.23.52.0.1-64-bit-thin-archives.patch,
s390-machinemode.patch, warning-symbol-sections.patch).
-------------------------------------------------------------------
Sat Aug 31 13:11:36 UTC 2013 - idonmez@suse.com

View File

@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static
%else
BuildRequires: zlib-devel
%endif
Version: 2.23.2
Version: 2.23.90
Release: 0
#
# RUN_TESTS
@ -97,19 +97,9 @@ Patch11: use-hashtype-both-by-default.diff
Patch12: s390-pic-dso.diff
Patch14: binutils-build-as-needed.diff
Patch18: gold-depend-on-opcodes.diff
Patch21: binutils-2.22-objalloc.patch
Patch22: binutils-bfd_h.patch
Patch23: warning-symbol-sections.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch101: aarch64-biarch.patch
Patch102: aarch64-gc-section-support.patch
Patch103: aarch64-execstack.patch
Patch201: s390-machinemode.patch
Patch202: aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff
Patch203: aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff
Patch204: aarch64-dynamic-placement.patch
Patch205: binutils-2.23.52.0.1-64-bit-thin-archives.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@ -173,17 +163,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
%patch12
%patch14
%patch18
%patch21
%patch22
%patch23 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 20 15:53:55 UTC 2013 - matz@suse.de
- Update to 2.23.90 prerelease, remove patches that
are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
aarch64-execstack.patch, aarch64-gc-section-support.patch,
aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
binutils-2.23.52.0.1-64-bit-thin-archives.patch,
s390-machinemode.patch, warning-symbol-sections.patch).
-------------------------------------------------------------------
Sat Aug 31 13:11:36 UTC 2013 - idonmez@suse.com

View File

@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static
%else
BuildRequires: zlib-devel
%endif
Version: 2.23.2
Version: 2.23.90
Release: 0
#
# RUN_TESTS
@ -97,19 +97,9 @@ Patch11: use-hashtype-both-by-default.diff
Patch12: s390-pic-dso.diff
Patch14: binutils-build-as-needed.diff
Patch18: gold-depend-on-opcodes.diff
Patch21: binutils-2.22-objalloc.patch
Patch22: binutils-bfd_h.patch
Patch23: warning-symbol-sections.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch101: aarch64-biarch.patch
Patch102: aarch64-gc-section-support.patch
Patch103: aarch64-execstack.patch
Patch201: s390-machinemode.patch
Patch202: aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff
Patch203: aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff
Patch204: aarch64-dynamic-placement.patch
Patch205: binutils-2.23.52.0.1-64-bit-thin-archives.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@ -173,17 +163,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
%patch12
%patch14
%patch18
%patch21
%patch22
%patch23 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 20 15:53:55 UTC 2013 - matz@suse.de
- Update to 2.23.90 prerelease, remove patches that
are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
aarch64-execstack.patch, aarch64-gc-section-support.patch,
aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
binutils-2.23.52.0.1-64-bit-thin-archives.patch,
s390-machinemode.patch, warning-symbol-sections.patch).
-------------------------------------------------------------------
Sat Aug 31 13:11:36 UTC 2013 - idonmez@suse.com

View File

@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static
%else
BuildRequires: zlib-devel
%endif
Version: 2.23.2
Version: 2.23.90
Release: 0
#
# RUN_TESTS
@ -97,19 +97,9 @@ Patch11: use-hashtype-both-by-default.diff
Patch12: s390-pic-dso.diff
Patch14: binutils-build-as-needed.diff
Patch18: gold-depend-on-opcodes.diff
Patch21: binutils-2.22-objalloc.patch
Patch22: binutils-bfd_h.patch
Patch23: warning-symbol-sections.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch101: aarch64-biarch.patch
Patch102: aarch64-gc-section-support.patch
Patch103: aarch64-execstack.patch
Patch201: s390-machinemode.patch
Patch202: aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff
Patch203: aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff
Patch204: aarch64-dynamic-placement.patch
Patch205: binutils-2.23.52.0.1-64-bit-thin-archives.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@ -173,17 +163,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
%patch12
%patch14
%patch18
%patch21
%patch22
%patch23 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 20 15:53:55 UTC 2013 - matz@suse.de
- Update to 2.23.90 prerelease, remove patches that
are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
aarch64-execstack.patch, aarch64-gc-section-support.patch,
aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
binutils-2.23.52.0.1-64-bit-thin-archives.patch,
s390-machinemode.patch, warning-symbol-sections.patch).
-------------------------------------------------------------------
Sat Aug 31 13:11:36 UTC 2013 - idonmez@suse.com

View File

@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static
%else
BuildRequires: zlib-devel
%endif
Version: 2.23.2
Version: 2.23.90
Release: 0
#
# RUN_TESTS
@ -97,19 +97,9 @@ Patch11: use-hashtype-both-by-default.diff
Patch12: s390-pic-dso.diff
Patch14: binutils-build-as-needed.diff
Patch18: gold-depend-on-opcodes.diff
Patch21: binutils-2.22-objalloc.patch
Patch22: binutils-bfd_h.patch
Patch23: warning-symbol-sections.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch101: aarch64-biarch.patch
Patch102: aarch64-gc-section-support.patch
Patch103: aarch64-execstack.patch
Patch201: s390-machinemode.patch
Patch202: aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff
Patch203: aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff
Patch204: aarch64-dynamic-placement.patch
Patch205: binutils-2.23.52.0.1-64-bit-thin-archives.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@ -173,17 +163,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
%patch12
%patch14
%patch18
%patch21
%patch22
%patch23 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 20 15:53:55 UTC 2013 - matz@suse.de
- Update to 2.23.90 prerelease, remove patches that
are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
aarch64-execstack.patch, aarch64-gc-section-support.patch,
aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
binutils-2.23.52.0.1-64-bit-thin-archives.patch,
s390-machinemode.patch, warning-symbol-sections.patch).
-------------------------------------------------------------------
Sat Aug 31 13:11:36 UTC 2013 - idonmez@suse.com

View File

@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static
%else
BuildRequires: zlib-devel
%endif
Version: 2.23.2
Version: 2.23.90
Release: 0
#
# RUN_TESTS
@ -97,19 +97,9 @@ Patch11: use-hashtype-both-by-default.diff
Patch12: s390-pic-dso.diff
Patch14: binutils-build-as-needed.diff
Patch18: gold-depend-on-opcodes.diff
Patch21: binutils-2.22-objalloc.patch
Patch22: binutils-bfd_h.patch
Patch23: warning-symbol-sections.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch101: aarch64-biarch.patch
Patch102: aarch64-gc-section-support.patch
Patch103: aarch64-execstack.patch
Patch201: s390-machinemode.patch
Patch202: aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff
Patch203: aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff
Patch204: aarch64-dynamic-placement.patch
Patch205: binutils-2.23.52.0.1-64-bit-thin-archives.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@ -173,17 +163,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
%patch12
%patch14
%patch18
%patch21
%patch22
%patch23 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 20 15:53:55 UTC 2013 - matz@suse.de
- Update to 2.23.90 prerelease, remove patches that
are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
aarch64-execstack.patch, aarch64-gc-section-support.patch,
aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
binutils-2.23.52.0.1-64-bit-thin-archives.patch,
s390-machinemode.patch, warning-symbol-sections.patch).
-------------------------------------------------------------------
Sat Aug 31 13:11:36 UTC 2013 - idonmez@suse.com

View File

@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static
%else
BuildRequires: zlib-devel
%endif
Version: 2.23.2
Version: 2.23.90
Release: 0
#
# RUN_TESTS
@ -97,19 +97,9 @@ Patch11: use-hashtype-both-by-default.diff
Patch12: s390-pic-dso.diff
Patch14: binutils-build-as-needed.diff
Patch18: gold-depend-on-opcodes.diff
Patch21: binutils-2.22-objalloc.patch
Patch22: binutils-bfd_h.patch
Patch23: warning-symbol-sections.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch101: aarch64-biarch.patch
Patch102: aarch64-gc-section-support.patch
Patch103: aarch64-execstack.patch
Patch201: s390-machinemode.patch
Patch202: aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff
Patch203: aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff
Patch204: aarch64-dynamic-placement.patch
Patch205: binutils-2.23.52.0.1-64-bit-thin-archives.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@ -173,17 +163,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
%patch12
%patch14
%patch18
%patch21
%patch22
%patch23 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 20 15:53:55 UTC 2013 - matz@suse.de
- Update to 2.23.90 prerelease, remove patches that
are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
aarch64-execstack.patch, aarch64-gc-section-support.patch,
aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
binutils-2.23.52.0.1-64-bit-thin-archives.patch,
s390-machinemode.patch, warning-symbol-sections.patch).
-------------------------------------------------------------------
Sat Aug 31 13:11:36 UTC 2013 - idonmez@suse.com

View File

@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static
%else
BuildRequires: zlib-devel
%endif
Version: 2.23.2
Version: 2.23.90
Release: 0
#
# RUN_TESTS
@ -97,19 +97,9 @@ Patch11: use-hashtype-both-by-default.diff
Patch12: s390-pic-dso.diff
Patch14: binutils-build-as-needed.diff
Patch18: gold-depend-on-opcodes.diff
Patch21: binutils-2.22-objalloc.patch
Patch22: binutils-bfd_h.patch
Patch23: warning-symbol-sections.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch101: aarch64-biarch.patch
Patch102: aarch64-gc-section-support.patch
Patch103: aarch64-execstack.patch
Patch201: s390-machinemode.patch
Patch202: aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff
Patch203: aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff
Patch204: aarch64-dynamic-placement.patch
Patch205: binutils-2.23.52.0.1-64-bit-thin-archives.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@ -173,17 +163,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
%patch12
%patch14
%patch18
%patch21
%patch22
%patch23 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 20 15:53:55 UTC 2013 - matz@suse.de
- Update to 2.23.90 prerelease, remove patches that
are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
aarch64-execstack.patch, aarch64-gc-section-support.patch,
aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
binutils-2.23.52.0.1-64-bit-thin-archives.patch,
s390-machinemode.patch, warning-symbol-sections.patch).
-------------------------------------------------------------------
Sat Aug 31 13:11:36 UTC 2013 - idonmez@suse.com

View File

@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static
%else
BuildRequires: zlib-devel
%endif
Version: 2.23.2
Version: 2.23.90
Release: 0
#
# RUN_TESTS
@ -97,19 +97,9 @@ Patch11: use-hashtype-both-by-default.diff
Patch12: s390-pic-dso.diff
Patch14: binutils-build-as-needed.diff
Patch18: gold-depend-on-opcodes.diff
Patch21: binutils-2.22-objalloc.patch
Patch22: binutils-bfd_h.patch
Patch23: warning-symbol-sections.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch101: aarch64-biarch.patch
Patch102: aarch64-gc-section-support.patch
Patch103: aarch64-execstack.patch
Patch201: s390-machinemode.patch
Patch202: aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff
Patch203: aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff
Patch204: aarch64-dynamic-placement.patch
Patch205: binutils-2.23.52.0.1-64-bit-thin-archives.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@ -173,17 +163,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
%patch12
%patch14
%patch18
%patch21
%patch22
%patch23 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 20 15:53:55 UTC 2013 - matz@suse.de
- Update to 2.23.90 prerelease, remove patches that
are upstream ( aarch64-biarch.patch, aarch64-dynamic-placement.patch,
aarch64-execstack.patch, aarch64-gc-section-support.patch,
aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff,
aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff,
binutils-2.22-objalloc.patch, binutils-2.23.2.tar.bz2,
binutils-2.23.52.0.1-64-bit-thin-archives.patch,
s390-machinemode.patch, warning-symbol-sections.patch).
-------------------------------------------------------------------
Sat Aug 31 13:11:36 UTC 2013 - idonmez@suse.com

View File

@ -38,7 +38,7 @@ BuildRequires: zlib-devel-static
%else
BuildRequires: zlib-devel
%endif
Version: 2.23.2
Version: 2.23.90
Release: 0
#
# RUN_TESTS
@ -97,19 +97,9 @@ Patch11: use-hashtype-both-by-default.diff
Patch12: s390-pic-dso.diff
Patch14: binutils-build-as-needed.diff
Patch18: gold-depend-on-opcodes.diff
Patch21: binutils-2.22-objalloc.patch
Patch22: binutils-bfd_h.patch
Patch23: warning-symbol-sections.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch101: aarch64-biarch.patch
Patch102: aarch64-gc-section-support.patch
Patch103: aarch64-execstack.patch
Patch201: s390-machinemode.patch
Patch202: aarch64-support-1796bf893c4729d5c523502318d72cae78495d6c.diff
Patch203: aarch64-support-f426901e1be0f58fe4e9386cada50ca57d0a4f36.diff
Patch204: aarch64-dynamic-placement.patch
Patch205: binutils-2.23.52.0.1-64-bit-thin-archives.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@ -173,17 +163,7 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
%patch12
%patch14
%patch18
%patch21
%patch22
%patch23 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90

View File

@ -1,20 +1,20 @@
Index: Makefile.def
===================================================================
--- Makefile.def.orig
+++ Makefile.def
@@ -404,6 +404,7 @@ dependencies = { module=configure-gold;
--- Makefile.def.orig 2013-08-12 13:36:35.000000000 +0200
+++ Makefile.def 2013-09-20 16:13:38.000000000 +0200
@@ -423,6 +423,7 @@ dependencies = { module=configure-gold;
dependencies = { module=all-gold; on=all-libiberty; };
dependencies = { module=all-gold; on=all-intl; };
dependencies = { module=all-gold; on=all-bfd; };
+dependencies = { module=all-gold; on=all-opcodes; };
dependencies = { module=all-gold; on=all-build-bison; };
dependencies = { module=all-gold; on=all-gas; };
dependencies = { module=check-gold; on=all-binutils; };
dependencies = { module=check-gold; on=all-gas; };
Index: Makefile.in
===================================================================
--- Makefile.in.orig
+++ Makefile.in
@@ -42851,6 +42851,14 @@ all-stage3-gold: maybe-all-stage3-bfd
--- Makefile.in.orig 2013-09-18 13:57:35.000000000 +0200
+++ Makefile.in 2013-09-20 16:13:38.000000000 +0200
@@ -47061,6 +47061,14 @@ all-stage3-gold: maybe-all-stage3-bfd
all-stage4-gold: maybe-all-stage4-bfd
all-stageprofile-gold: maybe-all-stageprofile-bfd
all-stagefeedback-gold: maybe-all-stagefeedback-bfd

View File

@ -1,21 +1,21 @@
Index: binutils-2.23.1/ld/ld.texinfo
Index: binutils-2.23.90/ld/ld.texinfo
===================================================================
--- binutils-2.23.1.orig/ld/ld.texinfo
+++ binutils-2.23.1/ld/ld.texinfo
@@ -2089,7 +2089,7 @@ This linker can create the new dynamic t
systems may not understand them. If you specify
@option{--enable-new-dtags}, the dynamic tags will be created as needed.
--- binutils-2.23.90.orig/ld/ld.texinfo 2013-08-28 11:17:35.000000000 +0200
+++ binutils-2.23.90/ld/ld.texinfo 2013-09-20 15:31:49.000000000 +0200
@@ -2117,7 +2117,7 @@ systems may not understand them. If you
@option{--enable-new-dtags}, the new dynamic tags will be created as needed
and older dynamic tags will be omitted.
If you specify @option{--disable-new-dtags}, no new dynamic tags will be
-created. By default, the new dynamic tags are not created. Note that
+created. By default, the new dynamic tags are created. Note that
those options are only available for ELF systems.
@kindex --hash-size=@var{number}
Index: binutils-2.23.1/ld/ldmain.c
Index: binutils-2.23.90/ld/ldmain.c
===================================================================
--- binutils-2.23.1.orig/ld/ldmain.c
+++ binutils-2.23.1/ld/ldmain.c
@@ -275,6 +275,7 @@ main (int argc, char **argv)
--- binutils-2.23.90.orig/ld/ldmain.c 2013-06-22 18:44:15.000000000 +0200
+++ binutils-2.23.90/ld/ldmain.c 2013-09-20 15:31:49.000000000 +0200
@@ -276,6 +276,7 @@ main (int argc, char **argv)
link_info.allow_undefined_version = TRUE;
link_info.keep_memory = TRUE;

View File

@ -1,7 +1,7 @@
Index: ld/emulparams/elf_s390.sh
===================================================================
--- ld/emulparams/elf_s390.sh.orig
+++ ld/emulparams/elf_s390.sh
--- ld/emulparams/elf_s390.sh.orig 2013-01-10 21:08:02.000000000 +0100
+++ ld/emulparams/elf_s390.sh 2013-09-20 15:20:48.000000000 +0200
@@ -12,3 +12,18 @@ GENERATE_SHLIB_SCRIPT=yes
GENERATE_PIE_SCRIPT=yes
NO_SMALL_DATA=yes

View File

@ -1,203 +0,0 @@
binutils:e593ec3bee996af0d129eb53b2039d409e6e1d42
2012-09-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/tc-s390.c (set_highgprs_p): New variable.
(s390_machinemode): New function.
(md_pseudo_table): Add new pseudo command machinemode.
(md_parse_option): Set set_highgprs_p to TRUE if -mzarch was
specified on command line.
(s390_elf_final_processing): Set the highgprs flag in the ELF
header depending on set_highgprs_p.
* doc/c-s390.texi: Document new pseudo machinemode.
diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c
index 9bc582f..47ec175 100644
--- a/gas/config/tc-s390.c
+++ b/gas/config/tc-s390.c
@@ -44,6 +44,10 @@ static int s390_arch_size = 0;
static unsigned int current_cpu = S390_OPCODE_MAXCPU - 1;
static unsigned int current_mode_mask = 0;
+/* Set to TRUE if the highgprs flag in the ELF header needs to be set
+ for the output file. */
+static bfd_boolean set_highgprs_p = FALSE;
+
/* Whether to use user friendly register names. Default is TRUE. */
#ifndef TARGET_REG_NAMES_P
#define TARGET_REG_NAMES_P TRUE
@@ -86,22 +90,24 @@ static void s390_bss (int);
static void s390_insn (int);
static void s390_literals (int);
static void s390_machine (int);
+static void s390_machinemode (int);
const pseudo_typeS md_pseudo_table[] =
{
- { "align", s_align_bytes, 0 },
+ { "align", s_align_bytes, 0 },
/* Pseudo-ops which must be defined. */
- { "bss", s390_bss, 0 },
- { "insn", s390_insn, 0 },
+ { "bss", s390_bss, 0 },
+ { "insn", s390_insn, 0 },
/* Pseudo-ops which must be overridden. */
- { "byte", s390_byte, 0 },
- { "short", s390_elf_cons, 2 },
- { "long", s390_elf_cons, 4 },
- { "quad", s390_elf_cons, 8 },
- { "ltorg", s390_literals, 0 },
- { "string", stringer, 8 + 1 },
- { "machine", s390_machine, 0 },
- { NULL, NULL, 0 }
+ { "byte", s390_byte, 0 },
+ { "short", s390_elf_cons, 2 },
+ { "long", s390_elf_cons, 4 },
+ { "quad", s390_elf_cons, 8 },
+ { "ltorg", s390_literals, 0 },
+ { "string", stringer, 8 + 1 },
+ { "machine", s390_machine, 0 },
+ { "machinemode", s390_machinemode, 0 },
+ { NULL, NULL, 0 }
};
@@ -409,7 +415,11 @@ md_parse_option (int c, char *arg)
current_mode_mask = 1 << S390_OPCODE_ESA;
else if (arg != NULL && strcmp (arg, "zarch") == 0)
- current_mode_mask = 1 << S390_OPCODE_ZARCH;
+ {
+ if (s390_arch_size == 32)
+ set_highgprs_p = TRUE;
+ current_mode_mask = 1 << S390_OPCODE_ZARCH;
+ }
else if (arg != NULL && strncmp (arg, "arch=", 5) == 0)
{
@@ -1799,7 +1809,7 @@ s390_literals (int ignore ATTRIBUTE_UNUSED)
/* The .machine pseudo op allows to switch to a different CPU level in
the asm listing. The current CPU setting can be stored on a stack
- with .machine push and restored with .machined pop. */
+ with .machine push and restored with .machine pop. */
static void
s390_machine (int ignore ATTRIBUTE_UNUSED)
@@ -1863,6 +1873,83 @@ s390_machine (int ignore ATTRIBUTE_UNUSED)
demand_empty_rest_of_line ();
}
+/* The .machinemode pseudo op allows to switch to a different
+ architecture mode in the asm listing. The current architecture
+ mode setting can be stored on a stack with .machinemode push and
+ restored with .machinemode pop. */
+
+static void
+s390_machinemode (int ignore ATTRIBUTE_UNUSED)
+{
+ char *mode_string;
+#define MAX_HISTORY 100
+ static unsigned int *mode_history;
+ static int curr_hist;
+
+ SKIP_WHITESPACE ();
+
+ if (*input_line_pointer == '"')
+ {
+ int len;
+ mode_string = demand_copy_C_string (&len);
+ }
+ else
+ {
+ char c;
+ mode_string = input_line_pointer;
+ c = get_symbol_end ();
+ mode_string = xstrdup (mode_string);
+ *input_line_pointer = c;
+ }
+
+ if (mode_string != NULL)
+ {
+ unsigned int old_mode_mask = current_mode_mask;
+ char *p;
+
+ for (p = mode_string; *p != 0; p++)
+ *p = TOLOWER (*p);
+
+ if (strcmp (mode_string, "push") == 0)
+ {
+ if (mode_history == NULL)
+ mode_history = xmalloc (MAX_HISTORY * sizeof (*mode_history));
+
+ if (curr_hist >= MAX_HISTORY)
+ as_bad (_(".machinemode stack overflow"));
+ else
+ mode_history[curr_hist++] = current_mode_mask;
+ }
+ else if (strcmp (mode_string, "pop") == 0)
+ {
+ if (curr_hist <= 0)
+ as_bad (_(".machinemode stack underflow"));
+ else
+ current_mode_mask = mode_history[--curr_hist];
+ }
+ else
+ {
+ if (strcmp (mode_string, "esa") == 0)
+ current_mode_mask = 1 << S390_OPCODE_ESA;
+ else if (strcmp (mode_string, "zarch") == 0)
+ {
+ if (s390_arch_size == 32)
+ set_highgprs_p = TRUE;
+ current_mode_mask = 1 << S390_OPCODE_ZARCH;
+ }
+ else if (strcmp (mode_string, "zarch_nohighgprs") == 0)
+ current_mode_mask = 1 << S390_OPCODE_ZARCH;
+ else
+ as_bad (_("invalid machine `%s'"), mode_string);
+ }
+
+ if (current_mode_mask != old_mode_mask)
+ s390_setup_opcodes ();
+ }
+
+ demand_empty_rest_of_line ();
+}
+
char *
md_atof (int type, char *litp, int *sizep)
{
@@ -2381,6 +2468,6 @@ tc_s390_regname_to_dw2regnum (char *regname)
void
s390_elf_final_processing (void)
{
- if (s390_arch_size == 32 && (current_mode_mask & (1 << S390_OPCODE_ZARCH)))
+ if (set_highgprs_p)
elf_elfheader (stdoutput)->e_flags |= EF_S390_HIGH_GPRS;
}
diff --git a/gas/doc/c-s390.texi b/gas/doc/c-s390.texi
index 7971327..76dc144 100644
--- a/gas/doc/c-s390.texi
+++ b/gas/doc/c-s390.texi
@@ -873,6 +873,19 @@ restored with @code{.machine pop}. Be aware that the cpu string has
to be put into double quotes in case it contains characters not
appropriate for identifiers. So you have to write @code{"z9-109"}
instead of just @code{z9-109}.
+
+@cindex @code{.machinemode} directive, s390
+@item .machinemode string
+This directive allows to change the architecture mode for which code
+is being generated. @code{string} may be @code{esa}, @code{zarch},
+@code{zarch_nohighgprs}, @code{push}, or @code{pop}.
+@code{.machinemode zarch_nohighgprs} can be used to prevent the
+@code{highgprs} flag from being set in the ELF header of the output
+file. This is useful in situations where the code is gated with a
+runtime check which makes sure that the code is only executed on
+kernels providing the @code{highgprs} feature.
+@code{.machinemode push} saves the currently selected mode, which may
+be restored with @code{.machinemode pop}.
@end table
@node s390 Floating Point

View File

@ -1,6 +1,8 @@
--- bfd/elf32-s390.c.orig 2013-04-03 15:04:56.274458632 +0200
+++ bfd/elf32-s390.c 2013-04-03 15:06:35.071564928 +0200
@@ -2649,13 +2649,34 @@
Index: bfd/elf32-s390.c
===================================================================
--- bfd/elf32-s390.c.orig 2013-09-20 16:04:50.000000000 +0200
+++ bfd/elf32-s390.c 2013-09-20 16:10:02.000000000 +0200
@@ -2707,15 +2707,36 @@ elf_s390_relocate_section (bfd *output_b
unresolved_reloc = FALSE;
break;
@ -8,7 +10,9 @@
- case R_390_16:
- case R_390_32:
case R_390_PC16:
case R_390_PC12DBL:
case R_390_PC16DBL:
case R_390_PC24DBL:
case R_390_PC32DBL:
case R_390_PC32:
+ /* This is strictly required only for PC32DBL, which

View File

@ -1,161 +0,0 @@
2013-07-25 Alan Modra <amodra@gmail.com>
PR ld/15762
PR ld/12761
* elflink.c (elf_link_add_object_symbols): Correct test in
last patch. Remove unnecessary code.
2013-07-20 Alan Modra <amodra@gmail.com>
PR ld/15762
PR ld/12761
* elflink.c (elf_link_add_object_symbols): Don't clobber
.gnu.warning.symbol sections when shared.
Index: binutils-2.23.2/bfd/elflink.c
===================================================================
--- binutils-2.23.2.orig/bfd/elflink.c
+++ binutils-2.23.2/bfd/elflink.c
@@ -3368,6 +3368,7 @@ elf_link_add_object_symbols (bfd *abfd,
bfd_size_type old_dynstr_size = 0;
size_t tabsize = 0;
size_t hashsize = 0;
+ asection *s;
htab = elf_hash_table (info);
bed = get_elf_backend_data (abfd);
@@ -3409,75 +3410,64 @@ elf_link_add_object_symbols (bfd *abfd,
symbol. This differs from .gnu.warning sections, which generate
warnings when they are included in an output file. */
/* PR 12761: Also generate this warning when building shared libraries. */
- if (info->executable || info->shared)
+ for (s = abfd->sections; s != NULL; s = s->next)
{
- asection *s;
+ const char *name;
- for (s = abfd->sections; s != NULL; s = s->next)
+ name = bfd_get_section_name (abfd, s);
+ if (CONST_STRNEQ (name, ".gnu.warning."))
{
- const char *name;
+ char *msg;
+ bfd_size_type sz;
- name = bfd_get_section_name (abfd, s);
- if (CONST_STRNEQ (name, ".gnu.warning."))
+ name += sizeof ".gnu.warning." - 1;
+
+ /* If this is a shared object, then look up the symbol
+ in the hash table. If it is there, and it is already
+ been defined, then we will not be using the entry
+ from this shared object, so we don't need to warn.
+ FIXME: If we see the definition in a regular object
+ later on, we will warn, but we shouldn't. The only
+ fix is to keep track of what warnings we are supposed
+ to emit, and then handle them all at the end of the
+ link. */
+ if (dynamic)
{
- char *msg;
- bfd_size_type sz;
+ struct elf_link_hash_entry *h;
+
+ h = elf_link_hash_lookup (htab, name, FALSE, FALSE, TRUE);
+
+ /* FIXME: What about bfd_link_hash_common? */
+ if (h != NULL
+ && (h->root.type == bfd_link_hash_defined
+ || h->root.type == bfd_link_hash_defweak))
+ continue;
+ }
- name += sizeof ".gnu.warning." - 1;
+ sz = s->size;
+ msg = (char *) bfd_alloc (abfd, sz + 1);
+ if (msg == NULL)
+ goto error_return;
- /* If this is a shared object, then look up the symbol
- in the hash table. If it is there, and it is already
- been defined, then we will not be using the entry
- from this shared object, so we don't need to warn.
- FIXME: If we see the definition in a regular object
- later on, we will warn, but we shouldn't. The only
- fix is to keep track of what warnings we are supposed
- to emit, and then handle them all at the end of the
- link. */
- if (dynamic)
- {
- struct elf_link_hash_entry *h;
-
- h = elf_link_hash_lookup (htab, name, FALSE, FALSE, TRUE);
-
- /* FIXME: What about bfd_link_hash_common? */
- if (h != NULL
- && (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak))
- {
- /* We don't want to issue this warning. Clobber
- the section size so that the warning does not
- get copied into the output file. */
- s->size = 0;
- continue;
- }
- }
-
- sz = s->size;
- msg = (char *) bfd_alloc (abfd, sz + 1);
- if (msg == NULL)
- goto error_return;
-
- if (! bfd_get_section_contents (abfd, s, msg, 0, sz))
- goto error_return;
-
- msg[sz] = '\0';
-
- if (! (_bfd_generic_link_add_one_symbol
- (info, abfd, name, BSF_WARNING, s, 0, msg,
- FALSE, bed->collect, NULL)))
- goto error_return;
-
- if (! info->relocatable)
- {
- /* Clobber the section size so that the warning does
- not get copied into the output file. */
- s->size = 0;
-
- /* Also set SEC_EXCLUDE, so that symbols defined in
- the warning section don't get copied to the output. */
- s->flags |= SEC_EXCLUDE;
- }
+ if (! bfd_get_section_contents (abfd, s, msg, 0, sz))
+ goto error_return;
+
+ msg[sz] = '\0';
+
+ if (! (_bfd_generic_link_add_one_symbol
+ (info, abfd, name, BSF_WARNING, s, 0, msg,
+ FALSE, bed->collect, NULL)))
+ goto error_return;
+
+ if (!info->relocatable && info->executable)
+ {
+ /* Clobber the section size so that the warning does
+ not get copied into the output file. */
+ s->size = 0;
+
+ /* Also set SEC_EXCLUDE, so that symbols defined in
+ the warning section don't get copied to the output. */
+ s->flags |= SEC_EXCLUDE;
}
}
}
@@ -3503,7 +3493,6 @@ elf_link_add_object_symbols (bfd *abfd,
goto error_return;
else
{
- asection *s;
const char *soname = NULL;
char *audit = NULL;
struct bfd_link_needed_list *rpath = NULL, *runpath = NULL;

View File

@ -1,13 +1,12 @@
Index: ld/emulparams/elf_i386.sh
===================================================================
--- ld/emulparams/elf_i386.sh.orig 2012-06-11 15:23:50.000000000 +0200
+++ ld/emulparams/elf_i386.sh 2012-09-14 14:00:17.501168779 +0200
@@ -13,3 +13,8 @@ GENERATE_PIE_SCRIPT=yes
NO_SMALL_DATA=yes
SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 12 ? 12 : 0"
IREL_IN_PLT=
+
+# Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first.
+case "$EMULATION_NAME" in
+ *64*) LIBPATH_SUFFIX=64 ;;
+esac
--- ld/emulparams/elf_i386.sh.orig 2013-09-20 15:29:51.000000000 +0200
+++ ld/emulparams/elf_i386.sh 2013-09-20 15:30:48.000000000 +0200
@@ -20,6 +20,7 @@ case "$target" in
x86_64*-linux* | i[3-7]86*-linux*)
case "$EMULATION_NAME" in
*i386*) LIBPATH_SUFFIX=32 ;;
+ *64*) LIBPATH_SUFFIX=64 ;;
esac
;;
esac