!19 [sync] PR-17: Handle DT_MIPS_RLD_MAP_REL on MIPS (debian bug#820335)
From: @openeuler-sync-bot Reviewed-by: @dillon_chen Signed-off-by: @dillon_chen
This commit is contained in:
commit
c8b547856e
31
chrpath-fix-mips-segfault.patch
Normal file
31
chrpath-fix-mips-segfault.patch
Normal file
@ -0,0 +1,31 @@
|
||||
--- chrpath-0.18.orig/killrpath.c
|
||||
+++ chrpath-0.18/killrpath.c
|
||||
@@ -78,10 +78,26 @@
|
||||
dynpos = 0;
|
||||
for (i = 0; DYNSS(i, d_tag) != DT_NULL; i++)
|
||||
{
|
||||
- if (is_e32())
|
||||
+ if (is_e32()) {
|
||||
((Elf32_Dyn *)dyns)[dynpos] = ((Elf32_Dyn *)dyns)[i];
|
||||
- else
|
||||
+#ifdef DT_MIPS_RLD_MAP_REL
|
||||
+ /* DT_MIPS_RLD_MAP_REL is relative to the offset of the tag.
|
||||
+ Adjust it consequently. */
|
||||
+ if (DYNSS(i, d_tag) == DT_MIPS_RLD_MAP_REL)
|
||||
+ ((Elf32_Dyn *)dyns)[dynpos].d_un.d_val =
|
||||
+ DO_SWAPU32(DYNSU(i, d_un.d_val) +
|
||||
+ (i - dynpos) * sizeof(Elf32_Dyn));
|
||||
+#endif
|
||||
+ } else {
|
||||
((Elf64_Dyn *)dyns)[dynpos] = ((Elf64_Dyn *)dyns)[i];
|
||||
+#ifdef DT_MIPS_RLD_MAP_REL
|
||||
+ /* Ditto */
|
||||
+ if (DYNSS(i, d_tag) == DT_MIPS_RLD_MAP_REL)
|
||||
+ ((Elf64_Dyn *)dyns)[dynpos].d_un.d_val =
|
||||
+ DO_SWAPU64(DYNSU(i, d_un.d_val) +
|
||||
+ (i - dynpos) * sizeof(Elf64_Dyn));
|
||||
+#endif
|
||||
+ }
|
||||
if ( ! elf_dynpath_tag(DYNSS(i, d_tag)) )
|
||||
dynpos++;
|
||||
}
|
||||
@ -1,10 +1,12 @@
|
||||
Name: chrpath
|
||||
Version: 0.16
|
||||
Release: 13
|
||||
Release: 14
|
||||
Summary: Modify the dynamic library load path (rpath) of compiled programs
|
||||
License: GPL+
|
||||
URL: https://github.com/openEuler-BaseService/chrpath
|
||||
Source0: https://alioth-archive.debian.org/releases/%{name}/%{name}/%{version}/%{name}-%{version}.tar.gz
|
||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820335
|
||||
Patch0: chrpath-fix-mips-segfault.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
|
||||
@ -39,6 +41,9 @@ make check
|
||||
%{_mandir}/man1/chrpath.1*
|
||||
|
||||
%changelog
|
||||
* Mon Nov 04 2024 Funda Wang <fundawang@yeah.net> - 0.16-14
|
||||
- Handle DT_MIPS_RLD_MAP_REL on MIPS (debian bug#820335)
|
||||
|
||||
* Tue Oct 25 2022 yanglongkang <yanglongkang@h-partners.com> - 0.16-13
|
||||
- rebuild for next release
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user