[arch-commits] Commit in arm-none-eabi-binutils/repos (6 files)
Anatol Pomozov
anatolik at archlinux.org
Thu Feb 12 19:16:41 UTC 2015
Date: Thursday, February 12, 2015 @ 20:16:41
Author: anatolik
Revision: 127626
archrelease: copy trunk to community-testing-i686, community-testing-x86_64
Added:
arm-none-eabi-binutils/repos/community-testing-i686/
arm-none-eabi-binutils/repos/community-testing-i686/PKGBUILD
(from rev 127625, arm-none-eabi-binutils/trunk/PKGBUILD)
arm-none-eabi-binutils/repos/community-testing-i686/enable_link_arm_no_attributes.patch
(from rev 127625, arm-none-eabi-binutils/trunk/enable_link_arm_no_attributes.patch)
arm-none-eabi-binutils/repos/community-testing-x86_64/
arm-none-eabi-binutils/repos/community-testing-x86_64/PKGBUILD
(from rev 127625, arm-none-eabi-binutils/trunk/PKGBUILD)
arm-none-eabi-binutils/repos/community-testing-x86_64/enable_link_arm_no_attributes.patch
(from rev 127625, arm-none-eabi-binutils/trunk/enable_link_arm_no_attributes.patch)
--------------------------------------------------------------+
community-testing-i686/PKGBUILD | 61 +++++
community-testing-i686/enable_link_arm_no_attributes.patch | 115 ++++++++++
community-testing-x86_64/PKGBUILD | 61 +++++
community-testing-x86_64/enable_link_arm_no_attributes.patch | 115 ++++++++++
4 files changed, 352 insertions(+)
Copied: arm-none-eabi-binutils/repos/community-testing-i686/PKGBUILD (from rev 127625, arm-none-eabi-binutils/trunk/PKGBUILD)
===================================================================
--- community-testing-i686/PKGBUILD (rev 0)
+++ community-testing-i686/PKGBUILD 2015-02-12 19:16:41 UTC (rev 127626)
@@ -0,0 +1,61 @@
+# $Id$
+# Maintainer: Anatol Pomozov <anatol.pomozov at gmail.com>
+# Contributor: Martin Schmölzer <mschmoelzer at gmail.com>
+
+_target=arm-none-eabi
+pkgname=$_target-binutils
+pkgver=2.25
+pkgrel=2
+pkgdesc='A set of programs to assemble and manipulate binary and object files for the ARM EABI (bare-metal) target'
+arch=(i686 x86_64)
+url='http://www.gnu.org/software/binutils/'
+license=(GPL)
+depends=(zlib)
+source=(ftp://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.bz2{,.sig}
+ enable_link_arm_no_attributes.patch)
+sha1sums=('b46cc90ebaba7ffcf6c6d996d60738881b14e50d'
+ 'SKIP'
+ 'c88cc0ed5f884332fa76b733fb47a26f307bde0f')
+validpgpkeys=('EAF1C276A747E9ED86210CBAC3126D3B4AE55E93') # Tristan Gingold <gingold at adacore.com>
+
+prepare() {
+ cd binutils-$pkgver
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
+ patch -p1 < ../enable_link_arm_no_attributes.patch # FS#43794
+}
+
+build() {
+ cd binutils-$pkgver
+
+ ./configure --target=$_target \
+ --with-sysroot=/usr/$_target \
+ --prefix=/usr \
+ --enable-multilib \
+ --enable-interwork \
+ --with-gnu-as \
+ --with-gnu-ld \
+ --disable-nls \
+ --enable-plugins
+
+ make
+}
+
+check() {
+ cd binutils-$pkgver
+
+ # unset LDFLAGS as testsuite makes assumptions about which ones are active
+ # do not abort on errors - manually check log files
+ make LDFLAGS="" -k check
+}
+
+package() {
+ cd binutils-$pkgver
+
+ make DESTDIR="$pkgdir" install
+
+ # Remove file conflicting with host binutils and manpages for MS Windows tools
+ rm "$pkgdir"/usr/share/man/man1/arm-none-eabi-{dlltool,nlmconv,windres,windmc}*
+
+ # Remove info documents that conflict with host version
+ rm -rf "$pkgdir"/usr/share/info
+}
Copied: arm-none-eabi-binutils/repos/community-testing-i686/enable_link_arm_no_attributes.patch (from rev 127625, arm-none-eabi-binutils/trunk/enable_link_arm_no_attributes.patch)
===================================================================
--- community-testing-i686/enable_link_arm_no_attributes.patch (rev 0)
+++ community-testing-i686/enable_link_arm_no_attributes.patch 2015-02-12 19:16:41 UTC (rev 127626)
@@ -0,0 +1,115 @@
+commit 9274e9de160a98d737bb2bd068c22d37ec66d98d
+Author: Terry Guo <terry.guo at arm.com>
+Date: Thu Nov 20 13:54:27 2014 +0800
+
+ Enable to link ARM object file that hasn't attribute section.
+
+ bfd/ChangeLog
+
+ 2014-11-20 Terry Guo <terry.guo at arm.com>
+
+ * elf32-arm.c (elf32_arm_merge_eabi_attributes): Skip if input bfd
+ hasn't attribute section.
+
+ ld/testsuite/ChangeLog:
+
+ 2014-11-20 Terry Guo <terry.guo at arm.com>
+
+ * ld-arm/attr-merge-nosection-1.d: New file.
+ * ld-arm/attr-merge-nosection-1a.s: Likewise.
+ * ld-arm/attr-merge-nosection-1b.s: Likewise.
+ * ld-arm/arm-elf.exp: Include the new test.
+
+diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
+index 49d0f65..95f59d5 100644
+--- a/bfd/elf32-arm.c
++++ b/bfd/elf32-arm.c
+@@ -11700,6 +11700,7 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd)
+ static const int order_021[3] = {0, 2, 1};
+ int i;
+ bfd_boolean result = TRUE;
++ const char *sec_name = get_elf_backend_data (ibfd)->obj_attrs_section;
+
+ /* Skip the linker stubs file. This preserves previous behavior
+ of accepting unknown attributes in the first input file - but
+@@ -11707,6 +11708,12 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd)
+ if (ibfd->flags & BFD_LINKER_CREATED)
+ return TRUE;
+
++ /* Skip any input that hasn't attribute section.
++ This enables to link object files without attribute section with
++ any others. */
++ if (bfd_get_section_by_name (ibfd, sec_name) == NULL)
++ return TRUE;
++
+ if (!elf_known_obj_attributes_proc (obfd)[0].i)
+ {
+ /* This is the first object. Copy the attributes. */
+diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp
+index 3c8cc68..d00b74d 100644
+--- a/ld/testsuite/ld-arm/arm-elf.exp
++++ b/ld/testsuite/ld-arm/arm-elf.exp
+@@ -879,6 +879,7 @@ run_dump_test "attr-merge-vfp-7"
+ run_dump_test "attr-merge-vfp-7r"
+ run_dump_test "attr-merge-incompatible"
+ run_dump_test "attr-merge-arch-2"
++run_dump_test "attr-merge-nosection-1"
+ run_dump_test "unresolved-1"
+ if { ![istarget "arm*-*-nacl*"] } {
+ run_dump_test "unresolved-1-dyn"
+diff --git a/ld/testsuite/ld-arm/attr-merge-nosection-1.d b/ld/testsuite/ld-arm/attr-merge-nosection-1.d
+new file mode 100644
+index 0000000..a2b8d73
+--- /dev/null
++++ b/ld/testsuite/ld-arm/attr-merge-nosection-1.d
+@@ -0,0 +1,18 @@
++#source: attr-merge-nosection-1a.s RUN_OBJCOPY
++#source: attr-merge-nosection-1b.s
++#as:
++#objcopy_objects: -R '.ARM.attributes'
++#ld:
++#readelf: -A
++# This test is only valid on ELF based ports.
++# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
++
++Attribute Section: aeabi
++File Attributes
++ Tag_CPU_name: "Cortex-M4"
++ Tag_CPU_arch: v7E-M
++ Tag_CPU_arch_profile: Microcontroller
++ Tag_THUMB_ISA_use: Thumb-2
++ Tag_FP_arch: VFPv4-D16
++ Tag_ABI_HardFP_use: SP only
++
+diff --git a/ld/testsuite/ld-arm/attr-merge-nosection-1a.s b/ld/testsuite/ld-arm/attr-merge-nosection-1a.s
+new file mode 100644
+index 0000000..ab358e3
+--- /dev/null
++++ b/ld/testsuite/ld-arm/attr-merge-nosection-1a.s
+@@ -0,0 +1,10 @@
++ .cpu cortex-m0
++ .fpu softvfp
++ .syntax unified
++ .thumb
++ .text
++ .global foo
++ .thumb_func
++ .type foo, %function
++foo:
++ bx lr
+diff --git a/ld/testsuite/ld-arm/attr-merge-nosection-1b.s b/ld/testsuite/ld-arm/attr-merge-nosection-1b.s
+new file mode 100644
+index 0000000..cd656bd
+--- /dev/null
++++ b/ld/testsuite/ld-arm/attr-merge-nosection-1b.s
+@@ -0,0 +1,10 @@
++ .syntax unified
++ .cpu cortex-m4
++ .fpu fpv4-sp-d16
++ .thumb
++ .text
++ .global _start
++ .thumb_func
++ .type _start, %function
++_start:
++ bl foo
Copied: arm-none-eabi-binutils/repos/community-testing-x86_64/PKGBUILD (from rev 127625, arm-none-eabi-binutils/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD (rev 0)
+++ community-testing-x86_64/PKGBUILD 2015-02-12 19:16:41 UTC (rev 127626)
@@ -0,0 +1,61 @@
+# $Id$
+# Maintainer: Anatol Pomozov <anatol.pomozov at gmail.com>
+# Contributor: Martin Schmölzer <mschmoelzer at gmail.com>
+
+_target=arm-none-eabi
+pkgname=$_target-binutils
+pkgver=2.25
+pkgrel=2
+pkgdesc='A set of programs to assemble and manipulate binary and object files for the ARM EABI (bare-metal) target'
+arch=(i686 x86_64)
+url='http://www.gnu.org/software/binutils/'
+license=(GPL)
+depends=(zlib)
+source=(ftp://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.bz2{,.sig}
+ enable_link_arm_no_attributes.patch)
+sha1sums=('b46cc90ebaba7ffcf6c6d996d60738881b14e50d'
+ 'SKIP'
+ 'c88cc0ed5f884332fa76b733fb47a26f307bde0f')
+validpgpkeys=('EAF1C276A747E9ED86210CBAC3126D3B4AE55E93') # Tristan Gingold <gingold at adacore.com>
+
+prepare() {
+ cd binutils-$pkgver
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
+ patch -p1 < ../enable_link_arm_no_attributes.patch # FS#43794
+}
+
+build() {
+ cd binutils-$pkgver
+
+ ./configure --target=$_target \
+ --with-sysroot=/usr/$_target \
+ --prefix=/usr \
+ --enable-multilib \
+ --enable-interwork \
+ --with-gnu-as \
+ --with-gnu-ld \
+ --disable-nls \
+ --enable-plugins
+
+ make
+}
+
+check() {
+ cd binutils-$pkgver
+
+ # unset LDFLAGS as testsuite makes assumptions about which ones are active
+ # do not abort on errors - manually check log files
+ make LDFLAGS="" -k check
+}
+
+package() {
+ cd binutils-$pkgver
+
+ make DESTDIR="$pkgdir" install
+
+ # Remove file conflicting with host binutils and manpages for MS Windows tools
+ rm "$pkgdir"/usr/share/man/man1/arm-none-eabi-{dlltool,nlmconv,windres,windmc}*
+
+ # Remove info documents that conflict with host version
+ rm -rf "$pkgdir"/usr/share/info
+}
Copied: arm-none-eabi-binutils/repos/community-testing-x86_64/enable_link_arm_no_attributes.patch (from rev 127625, arm-none-eabi-binutils/trunk/enable_link_arm_no_attributes.patch)
===================================================================
--- community-testing-x86_64/enable_link_arm_no_attributes.patch (rev 0)
+++ community-testing-x86_64/enable_link_arm_no_attributes.patch 2015-02-12 19:16:41 UTC (rev 127626)
@@ -0,0 +1,115 @@
+commit 9274e9de160a98d737bb2bd068c22d37ec66d98d
+Author: Terry Guo <terry.guo at arm.com>
+Date: Thu Nov 20 13:54:27 2014 +0800
+
+ Enable to link ARM object file that hasn't attribute section.
+
+ bfd/ChangeLog
+
+ 2014-11-20 Terry Guo <terry.guo at arm.com>
+
+ * elf32-arm.c (elf32_arm_merge_eabi_attributes): Skip if input bfd
+ hasn't attribute section.
+
+ ld/testsuite/ChangeLog:
+
+ 2014-11-20 Terry Guo <terry.guo at arm.com>
+
+ * ld-arm/attr-merge-nosection-1.d: New file.
+ * ld-arm/attr-merge-nosection-1a.s: Likewise.
+ * ld-arm/attr-merge-nosection-1b.s: Likewise.
+ * ld-arm/arm-elf.exp: Include the new test.
+
+diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
+index 49d0f65..95f59d5 100644
+--- a/bfd/elf32-arm.c
++++ b/bfd/elf32-arm.c
+@@ -11700,6 +11700,7 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd)
+ static const int order_021[3] = {0, 2, 1};
+ int i;
+ bfd_boolean result = TRUE;
++ const char *sec_name = get_elf_backend_data (ibfd)->obj_attrs_section;
+
+ /* Skip the linker stubs file. This preserves previous behavior
+ of accepting unknown attributes in the first input file - but
+@@ -11707,6 +11708,12 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd)
+ if (ibfd->flags & BFD_LINKER_CREATED)
+ return TRUE;
+
++ /* Skip any input that hasn't attribute section.
++ This enables to link object files without attribute section with
++ any others. */
++ if (bfd_get_section_by_name (ibfd, sec_name) == NULL)
++ return TRUE;
++
+ if (!elf_known_obj_attributes_proc (obfd)[0].i)
+ {
+ /* This is the first object. Copy the attributes. */
+diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp
+index 3c8cc68..d00b74d 100644
+--- a/ld/testsuite/ld-arm/arm-elf.exp
++++ b/ld/testsuite/ld-arm/arm-elf.exp
+@@ -879,6 +879,7 @@ run_dump_test "attr-merge-vfp-7"
+ run_dump_test "attr-merge-vfp-7r"
+ run_dump_test "attr-merge-incompatible"
+ run_dump_test "attr-merge-arch-2"
++run_dump_test "attr-merge-nosection-1"
+ run_dump_test "unresolved-1"
+ if { ![istarget "arm*-*-nacl*"] } {
+ run_dump_test "unresolved-1-dyn"
+diff --git a/ld/testsuite/ld-arm/attr-merge-nosection-1.d b/ld/testsuite/ld-arm/attr-merge-nosection-1.d
+new file mode 100644
+index 0000000..a2b8d73
+--- /dev/null
++++ b/ld/testsuite/ld-arm/attr-merge-nosection-1.d
+@@ -0,0 +1,18 @@
++#source: attr-merge-nosection-1a.s RUN_OBJCOPY
++#source: attr-merge-nosection-1b.s
++#as:
++#objcopy_objects: -R '.ARM.attributes'
++#ld:
++#readelf: -A
++# This test is only valid on ELF based ports.
++# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
++
++Attribute Section: aeabi
++File Attributes
++ Tag_CPU_name: "Cortex-M4"
++ Tag_CPU_arch: v7E-M
++ Tag_CPU_arch_profile: Microcontroller
++ Tag_THUMB_ISA_use: Thumb-2
++ Tag_FP_arch: VFPv4-D16
++ Tag_ABI_HardFP_use: SP only
++
+diff --git a/ld/testsuite/ld-arm/attr-merge-nosection-1a.s b/ld/testsuite/ld-arm/attr-merge-nosection-1a.s
+new file mode 100644
+index 0000000..ab358e3
+--- /dev/null
++++ b/ld/testsuite/ld-arm/attr-merge-nosection-1a.s
+@@ -0,0 +1,10 @@
++ .cpu cortex-m0
++ .fpu softvfp
++ .syntax unified
++ .thumb
++ .text
++ .global foo
++ .thumb_func
++ .type foo, %function
++foo:
++ bx lr
+diff --git a/ld/testsuite/ld-arm/attr-merge-nosection-1b.s b/ld/testsuite/ld-arm/attr-merge-nosection-1b.s
+new file mode 100644
+index 0000000..cd656bd
+--- /dev/null
++++ b/ld/testsuite/ld-arm/attr-merge-nosection-1b.s
+@@ -0,0 +1,10 @@
++ .syntax unified
++ .cpu cortex-m4
++ .fpu fpv4-sp-d16
++ .thumb
++ .text
++ .global _start
++ .thumb_func
++ .type _start, %function
++_start:
++ bl foo
More information about the arch-commits
mailing list