summaryrefslogtreecommitdiffstats
path: root/debian/patches/ada-armel-libatomic.diff
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:22:56 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:22:56 +0000
commit3f472a4e5ca21e3ddb13737473e636b2b11a408a (patch)
tree7db1ab317884b9f6e04b6e13737c1679879cb97a /debian/patches/ada-armel-libatomic.diff
parentAdding upstream version 13.2.0. (diff)
downloadgcc-13-debian/13.2.0-10.tar.xz
gcc-13-debian/13.2.0-10.zip
Adding debian version 13.2.0-10.debian/13.2.0-10debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/patches/ada-armel-libatomic.diff')
-rw-r--r--debian/patches/ada-armel-libatomic.diff44
1 files changed, 44 insertions, 0 deletions
diff --git a/debian/patches/ada-armel-libatomic.diff b/debian/patches/ada-armel-libatomic.diff
new file mode 100644
index 0000000..681a459
--- /dev/null
+++ b/debian/patches/ada-armel-libatomic.diff
@@ -0,0 +1,44 @@
+Description: link libgnat with libatomic on armel
+ On other architectures, the library is ignored thanks to --as-needed.
+ .
+ Libatomic becomes an artificial dependency for Ada in Makefile.def,
+ so a better solution is welcome.
+ .
+ Please read ada-changes-in-autogen-output.diff about src/Makefile.def.
+ .
+ TODO: if this is caused by ada-arm.diff, merge the two patches.
+Bug-Debian: https://bugs.debian.org/861734
+Author: Matthias Klose <doko@debian.org>
+Author: Nicolas Boulenguez <nicolas@debian.org>
+
+--- a/src/gcc/ada/Makefile.rtl
++++ b/src/gcc/ada/Makefile.rtl
+@@ -2211,6 +2211,7 @@ endif
+
+ # ARM linux, GNU eabi
+ ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(target_cpu) $(target_os))),)
++ MISCLIB = ../../../$(target_alias)/libatomic/.libs/libatomic.so
+ LIBGNAT_TARGET_PAIRS = \
+ a-intnam.ads<libgnarl/a-intnam__linux.ads \
+ s-inmaop.adb<libgnarl/s-inmaop__posix.adb \
+--- a/src/Makefile.def
++++ b/src/Makefile.def
+@@ -396,6 +396,8 @@ dependencies = { module=all-target-libad
+ dependencies = { module=all-gnattools; on=all-target-libada; };
+ dependencies = { module=all-gnattools; on=all-target-libstdc++-v3; };
+
++dependencies = { module=all-target-libada; on=all-target-libatomic; };
++
+ // Depending on the specific configuration, the LTO plugin will either use the
+ // generic libiberty build or the specific build for linker plugins.
+ dependencies = { module=all-lto-plugin; on=all-libiberty; };
+--- a/src/gcc/ada/gcc-interface/Makefile.in
++++ b/src/gcc/ada/gcc-interface/Makefile.in
+@@ -709,6 +709,7 @@ gnatlib-shared-default:
+ $(GNATRTL_TASKING_OBJS) \
+ $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+ libgnat$(hyphen)$(LIBRARY_VERSION).so \
++ $(MISCLIB) \
+ $(THREADSLIB)
+ cd $(RTSDIR); $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+ libgnat$(soext)