summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorfelix2016-05-07 22:53:19 +0200
committerfelix2016-05-08 12:42:26 +0200
commitfebc6805eb0a5f324ba9504dc4ab6460e14d7ecc (patch)
tree82cdec361c66f9a54f933a8fa01559dfabbd8fd0
parentf7b37203d1058a061ef82a9b5f7070f4dfe60301 (diff)
downloadaur-febc6805eb0a5f324ba9504dc4ab6460e14d7ecc.tar.gz
Add patch to put .ctors and .dtors where they belong
-rw-r--r--.SRCINFO2
-rw-r--r--PKGBUILD5
-rw-r--r--xtors.patch30
3 files changed, 37 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
index c2fc98b42493..9c0001ff12e7 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -13,9 +13,11 @@ pkgbase = djgpp-binutils
options = !emptydirs
source = http://ftp.gnu.org/gnu/binutils/binutils-2.26.tar.bz2
source = http://ftp.gnu.org/gnu/binutils/binutils-2.26.tar.bz2.sig
+ source = xtors.patch
validpgpkeys = EAF1C276A747E9ED86210CBAC3126D3B4AE55E93
sha512sums = e77e1b8dbbcbaf9ac2fae95c4403615808af3be03b2e1d32448cd3a7d32c43273f8bcace3f2de84ec120a982879295673029da306e2885dbf5f990584932cfc7
sha512sums = SKIP
+ sha512sums = d1d1052167e84720a771cd526166997c8a2b14135bb7c1f956d7940cfc2336191825118426cfe4c5fdfd1c8718088c1ba327d90874658baf2738c8d5a7ed0bec
pkgname = djgpp-binutils
diff --git a/PKGBUILD b/PKGBUILD
index 40db23eaf6e0..96e03fb60bf4 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -17,10 +17,12 @@ options=('!libtool' '!emptydirs')
source=(
"http://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.bz2"
"http://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.bz2.sig"
+ xtors.patch
)
sha512sums=(
'e77e1b8dbbcbaf9ac2fae95c4403615808af3be03b2e1d32448cd3a7d32c43273f8bcace3f2de84ec120a982879295673029da306e2885dbf5f990584932cfc7'
'SKIP'
+ 'd1d1052167e84720a771cd526166997c8a2b14135bb7c1f956d7940cfc2336191825118426cfe4c5fdfd1c8718088c1ba327d90874658baf2738c8d5a7ed0bec'
)
validpgpkeys=('EAF1C276A747E9ED86210CBAC3126D3B4AE55E93') # Tristan Gingold <adacore dot com, gingold>
@@ -34,6 +36,9 @@ prepare() {
# hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
+
+ # put .ctors and .dtors where they belong
+ patch -Np1 < ../xtors.patch
}
build() {
diff --git a/xtors.patch b/xtors.patch
new file mode 100644
index 000000000000..b64ce8c0e2d7
--- /dev/null
+++ b/xtors.patch
@@ -0,0 +1,30 @@
+--- binutils-2.26/ld/scripttempl/i386go32.sc
++++ binutils-2.26/ld/scripttempl/i386go32.sc
+@@ -13,11 +13,11 @@
+ # conditional expansion.
+ CTOR='.ctor : {
+ *(SORT(.ctors.*))
+- *(.ctor)
++ *(.ctor) *(.ctors)
+ }'
+ DTOR='.dtor : {
+ *(SORT(.dtors.*))
+- *(.dtor)
++ *(.dtor) *(.dtors)
+ }'
+
+ cat <<EOF
+@@ -46,11 +46,11 @@
+ .data ${RELOCATING+ ${DATA_ALIGNMENT}} : {
+ ${RELOCATING+djgpp_first_ctor = . ;
+ *(SORT(.ctors.*))
+- *(.ctor)
++ *(.ctor) *(.ctors)
+ djgpp_last_ctor = . ;}
+ ${RELOCATING+djgpp_first_dtor = . ;
+ *(SORT(.dtors.*))
+- *(.dtor)
++ *(.dtor) *(.dtors)
+ djgpp_last_dtor = . ;}
+ *(.data)
+ ${RELOCATING+*(.data.*)}