diff options
author | Xiretza | 2021-07-13 21:56:44 +0200 |
---|---|---|
committer | Xiretza | 2021-07-14 11:28:30 +0200 |
commit | 1d4e8a5cb982e79135a0aaa3ef87654bed1fe4f0 (patch) | |
tree | 2a267194b94f4c548ec3250e6eb4ed5d2f077cf7 | |
parent | aa5ed088ab87baf1b2a257712b21436eec1cab89 (diff) | |
download | aur-1d4e8a5cb982e79135a0aaa3ef87654bed1fe4f0.tar.gz |
Use ld as Library_Partial_Linker in gprconfig
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | 0001-Use-ld-as-Library_Partial_Linker.patch | 39 | ||||
-rw-r--r-- | PKGBUILD | 10 |
3 files changed, 50 insertions, 3 deletions
@@ -1,7 +1,7 @@ pkgbase = gprbuild pkgdesc = Builder for multi-language systems pkgver = 21.0.0 - pkgrel = 3 + pkgrel = 4 epoch = 1 url = https://github.com/AdaCore/gprbuild/ arch = i686 @@ -14,10 +14,12 @@ pkgbase = gprbuild source = gprconfig_kb-21.0.0.tar.gz::https://github.com/AdaCore/gprconfig_kb/archive/v21.0.0.tar.gz source = relocatable-build.patch source = always-use-host-gprinstall.patch + source = 0001-Use-ld-as-Library_Partial_Linker.patch sha256sums = 54b7d1a3298160109aaee4d8c263c1ab3ab4abae75d354f3e90a4c51639167a2 sha256sums = 2aec26afad5bb1a4685d9c041c9c797ff5beda211a5e81f2a97452d2ceabc557 sha256sums = d6479e03e6b6cfb09c133d94e3c47ea5d5e5e756b95554ab3106a679c3d57de4 sha256sums = 3fe0fd1df3156c9a8488d98ee6e7e822ae904ce410838661c8fc14c29abe2620 + sha256sums = 1749c8cdecf42bec9103fd9d1b7f79556eeb37de5a51c115eda8368dba3cc7c0 pkgname = libgpr pkgdesc = Ada library to handle Gnat project files diff --git a/0001-Use-ld-as-Library_Partial_Linker.patch b/0001-Use-ld-as-Library_Partial_Linker.patch new file mode 100644 index 000000000000..24316cb0d093 --- /dev/null +++ b/0001-Use-ld-as-Library_Partial_Linker.patch @@ -0,0 +1,39 @@ +From f17b183cbc296edc7d5f3611053e47229a7cb4e2 Mon Sep 17 00:00:00 2001 +From: Xiretza <xiretza@xiretza.xyz> +Date: Tue, 13 Jul 2021 20:18:29 +0200 +Subject: [PATCH] Use ld as Library_Partial_Linker + +Arch's GCC is built with --enable-default-pie, so if it's used as a linker +frontend, it passes -pie to ld internally. Because -pie is incompatible +with -r, stand-alone libraries[1], which use partial linking, fail to build. + +[1]: https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug/gnat_project_manager.html#stand-alone-library-projects +--- + db/linker.xml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/db/linker.xml b/db/linker.xml +index e14f4fb..6f85636 100644 +--- a/db/linker.xml ++++ b/db/linker.xml +@@ -1128,7 +1128,7 @@ + </targets> + <config> + for Library_Partial_Linker use +- ("${PATH(ada)}${PREFIX(ada)}gcc", "-nostdlib", "-Wl,-r", "-o"); ++ ("${PATH(ada)}${PREFIX(ada)}ld", "-nostdlib", "-r", "-o"); + </config> + </configuration> + +@@ -1147,7 +1147,7 @@ + </targets> + <config> + for Library_Partial_Linker use +- ("${PATH(c)}${PREFIX(c)}gcc", "-nostdlib", "-Wl,-r", "-o"); ++ ("${PATH(c)}${PREFIX(c)}ld", "-nostdlib", "-r", "-o"); + </config> + </configuration> + +-- +2.32.0 + @@ -7,7 +7,7 @@ pkgbase=gprbuild pkgname=(libgpr gprbuild) epoch=1 pkgver=21.0.0 -pkgrel=3 +pkgrel=4 pkgdesc="Builder for multi-language systems" arch=('i686' 'x86_64') url="https://github.com/AdaCore/gprbuild/" @@ -19,13 +19,19 @@ source=( "gprconfig_kb-$pkgver.tar.gz::https://github.com/AdaCore/gprconfig_kb/archive/v$pkgver.tar.gz" 'relocatable-build.patch' 'always-use-host-gprinstall.patch' + '0001-Use-ld-as-Library_Partial_Linker.patch' ) sha256sums=('54b7d1a3298160109aaee4d8c263c1ab3ab4abae75d354f3e90a4c51639167a2' '2aec26afad5bb1a4685d9c041c9c797ff5beda211a5e81f2a97452d2ceabc557' 'd6479e03e6b6cfb09c133d94e3c47ea5d5e5e756b95554ab3106a679c3d57de4' - '3fe0fd1df3156c9a8488d98ee6e7e822ae904ce410838661c8fc14c29abe2620') + '3fe0fd1df3156c9a8488d98ee6e7e822ae904ce410838661c8fc14c29abe2620' + '1749c8cdecf42bec9103fd9d1b7f79556eeb37de5a51c115eda8368dba3cc7c0') prepare() { + cd "$srcdir/gprconfig_kb-$pkgver" + + patch -Np1 -i "$srcdir/0001-Use-ld-as-Library_Partial_Linker.patch" + cd "$srcdir/$pkgbase-$pkgver" patch -Np1 -i "$srcdir/relocatable-build.patch" |