]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
binutils: Fix gprofng broken symbolic link with gp-*
authorHarish Sadineni <Harish.Sadineni@windriver.com>
Wed, 13 Aug 2025 06:52:07 +0000 (23:52 -0700)
committerSteve Sakoman <steve@sakoman.com>
Wed, 20 Aug 2025 20:27:57 +0000 (13:27 -0700)
In binutils 2.44, application names were changed from the gp- prefix
(e.g., gp-display-text, gp-archive) to the gprofng- prefix
(e.g., gprofng-display-text, gprofng-archive). Temporary gp-*
symlinks were added to maintain compatibility with the older
gprofng-gui.

However, these compatibility symlinks did not support cross-platform
toolchain prefixes, which resulted in broken gp-* symbolic links.

Support for cross-platform prefixes are added upstream in binutils 2.45,
so this change backports that fix to resolve broken symlinks issue.

Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=90803ffdcc4d8c3d17566bf8dccadbad312f07a9]

Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
meta/recipes-devtools/binutils/binutils-2.44.inc
meta/recipes-devtools/binutils/binutils/0020-Fix-for-borken-symlinks.patch [new file with mode: 0644]

index 32928ee167049f2015b716824a7e5002d5f53e91..26c2a413b88f971d44b81c4aaf31b4c22dd75de1 100644 (file)
@@ -45,5 +45,6 @@ SRC_URI = "\
      file://0018-CVE-2025-5245.patch \
      file://0019-CVE-2025-7545.patch \
      file://0018-CVE-2025-7546.patch \
+     file://0020-Fix-for-borken-symlinks.patch \
 "
 S  = "${WORKDIR}/git"
diff --git a/meta/recipes-devtools/binutils/binutils/0020-Fix-for-borken-symlinks.patch b/meta/recipes-devtools/binutils/binutils/0020-Fix-for-borken-symlinks.patch
new file mode 100644 (file)
index 0000000..b26cf8a
--- /dev/null
@@ -0,0 +1,62 @@
+From 90803ffdcc4d8c3d17566bf8dccadbad312f07a9 Mon Sep 17 00:00:00 2001
+From: Zheng Junjie <zhengjunjie@iscas.ac.cn>
+Date: Mon, 10 Feb 2025 17:04:55 +0800
+Subject: [PATCH] gprofng: Fix cross-compilation binary name.
+
+commit d25ba4596e85da6d8af78c88b5917e14763afbe1 create symbolic link
+no care cross-compilation prefix.
+
+(cherry picked from commit:90803ffdcc4d8c3d17566bf8dccadbad312f07a9)
+Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=90803ffdcc4d8c3d17566bf8dccadbad312f07a9]
+
+Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
+---
+ gprofng/src/Makefile.am | 12 +++++-------
+ gprofng/src/Makefile.in | 12 +++++-------
+ 2 files changed, 10 insertions(+), 14 deletions(-)
+
+diff --git a/gprofng/src/Makefile.am b/gprofng/src/Makefile.am
+index a132a9ddb05..0465cdb06e3 100644
+--- a/gprofng/src/Makefile.am
++++ b/gprofng/src/Makefile.am
+@@ -179,10 +179,8 @@ $(srcdir)/DbeSession.cc: QLParser.tab.hh
+ .PHONY: install-exec-local
+ install-exec-local:
+       $(mkinstalldirs) $(DESTDIR)$(bindir)
+-      rm -f $(DESTDIR)$(bindir)/gp-{archive,collect-app,display-html,display-src,display-text}
+-      ln -s gprofng-archive $(DESTDIR)$(bindir)/gp-archive
+-      ln -s gprofng-collect-app $(DESTDIR)$(bindir)/gp-collect-app
+-      ln -s gprofng-display-html $(DESTDIR)$(bindir)/gp-display-html
+-      ln -s gprofng-display-src $(DESTDIR)$(bindir)/gp-display-src
+-      ln -s gprofng-display-text $(DESTDIR)$(bindir)/gp-display-text
+-
++      for i in gp-{archive,collect-app,display-html,display-src,display-text}; do \
++              oldname=`echo $$i | sed '$(transform)'`; \
++              rm -f $(DESTDIR)$(bindir)/$$oldname ; \
++              ln -s `echo $$oldname | sed 's&gp-&gprofng-&'` $(DESTDIR)$(bindir)/$$oldname; \
++      done
+diff --git a/gprofng/src/Makefile.in b/gprofng/src/Makefile.in
+index d0dec12e244..d6f1f9438b6 100644
+--- a/gprofng/src/Makefile.in
++++ b/gprofng/src/Makefile.in
+@@ -1119,13 +1119,11 @@ $(srcdir)/DbeSession.cc: QLParser.tab.hh
+ .PHONY: install-exec-local
+ install-exec-local:
+       $(mkinstalldirs) $(DESTDIR)$(bindir)
+-      rm -f $(DESTDIR)$(bindir)/gp-{archive,collect-app,display-html,display-src,display-text}
+-      ln -s gprofng-archive $(DESTDIR)$(bindir)/gp-archive
+-      ln -s gprofng-collect-app $(DESTDIR)$(bindir)/gp-collect-app
+-      ln -s gprofng-display-html $(DESTDIR)$(bindir)/gp-display-html
+-      ln -s gprofng-display-src $(DESTDIR)$(bindir)/gp-display-src
+-      ln -s gprofng-display-text $(DESTDIR)$(bindir)/gp-display-text
+-
++      for i in gp-{archive,collect-app,display-html,display-src,display-text}; do \
++              oldname=`echo $$i | sed '$(transform)'`; \
++              rm -f $(DESTDIR)$(bindir)/$$oldname ; \
++              ln -s `echo $$oldname | sed 's&gp-&gprofng-&'` $(DESTDIR)$(bindir)/$$oldname; \
++      done
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
+-- 
+2.43.7