Mercurial > vanilla
annotate core/elfutils/musl.patch @ 506:e81cc338d937
perl: convert packages to clang
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 09 Apr 2019 20:08:00 +0200 |
parents | 5f0dfff1e37a |
children |
rev | line source |
---|---|
113
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 It looks like fregs.vregs[] is an array of double? |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 Casting to Dwarf_Word instead of & 0xFFFFFFF should do. |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 --- backends/aarch64_initreg.c 2015-11-27 14:36:29.000000000 +0100 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 +++ backends/aarch64_initreg.c 2016-08-09 03:47:25.428560159 +0200 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 @@ -82,7 +83,7 @@ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 Dwarf_Word dwarf_fregs[32]; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 for (int r = 0; r < 32; r++) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 - dwarf_fregs[r] = fregs.vregs[r] & 0xFFFFFFFF; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 + dwarf_fregs[r] = (Dwarf_Word)fregs.vregs[r]; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 if (! setfunc (64, 32, dwarf_fregs, arg)) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 return false; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 --- libcpu/i386_disasm.c 2015-08-21 14:22:37.000000000 +0200 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 +++ libcpu/i386_disasm.c 2015-11-20 06:30:59.250629957 +0100 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 @@ -1,4 +1,4 @@ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 -/* Disassembler for x86. |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 +/* Disassembler for x86. |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 Copyright (C) 2007, 2008, 2009, 2011 Red Hat, Inc. |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 This file is part of elfutils. |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 Written by Ulrich Drepper <drepper@redhat.com>, 2007. |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 @@ -710,6 +710,7 @@ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 case 'm': |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 /* Mnemonic. */ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 + str = mnebuf; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 if (unlikely (instrtab[cnt].mnemonic == MNE_INVALID)) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 { |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 --- libelf/elf.h 2015-08-21 14:22:37.000000000 +0200 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 +++ libelf/elf.h 2015-11-20 04:54:33.948081321 +0100 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 @@ -21,6 +21,17 @@ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 #include <features.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 +#if !defined(__GLIBC__) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 +/* C++ needs to know that types and declarations are C, not C++. */ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 +#ifdef __cplusplus |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 +# define __BEGIN_DECLS extern "C" { |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 +# define __END_DECLS } |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 +#else |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 +# define __BEGIN_DECLS |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 +# define __END_DECLS |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 +#endif |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 +#endif |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 __BEGIN_DECLS |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 /* Standard ELF types. */ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 --- lib/fixedsizehash.h.orig |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 +++ lib/fixedsizehash.h |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 @@ -30,7 +30,6 @@ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 #include <errno.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 #include <stdlib.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 #include <string.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 -#include <sys/cdefs.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 #include <system.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 --- configure.ac 2015-10-15 15:16:57.000000000 +0200 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 +++ configure.ac 2015-11-20 05:32:57.723901582 +0100 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 @@ -305,6 +305,62 @@ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 fi |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 AC_SUBST([argp_LDADD]) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 +dnl Check if we have fts available from our libc |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
69 +AC_LINK_IFELSE( |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
70 + [AC_LANG_PROGRAM( |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
71 + [#if !defined(__x86_64__) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
72 + #undef _FILE_OFFSET_BITS |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
73 + #define _FILE_OFFSET_BITS 32 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
74 + #endif |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
75 + #include <fts.h>], |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
76 + [FTS* fts = 0; return fts_close(fts); return 0;] |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
77 + )], |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 + [libc_has_fts="true"], |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 + [libc_has_fts="false"] |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
80 +) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
81 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
82 +dnl If our libc doesn't provide fts, then test for libfts |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
83 +if test "$libc_has_fts" = "false" ; then |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
84 + AC_MSG_WARN("libc does not have fts") |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
85 + AC_CHECK_LIB([fts], [fts_close], [have_fts="true"], [have_fts="false"]) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
86 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
87 + if test "$have_fts" = "false"; then |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
88 + AC_MSG_ERROR("no libfts found") |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
89 + else |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
90 + fts_LDADD="-lfts" |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 + fi |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
92 +else |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
93 + fts_LDADD="" |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
94 +fi |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
95 +AC_SUBST([fts_LDADD]) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
96 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
97 +dnl Check if we have obstack available from our libc |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
98 +AC_LINK_IFELSE( |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
99 + [AC_LANG_PROGRAM( |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
100 + [#include <obstack.h>], |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
101 + [_obstack_begin(0, 0, 0, NULL, NULL); return 0;] |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
102 + )], |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
103 + [libc_has_obstack="true"], |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
104 + [libc_has_obstack="false"] |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
105 +) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
106 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
107 +dnl If our libc doesn't provide obstack, then test for libobstack |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
108 +if test "$libc_has_obstack" = "false" ; then |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
109 + AC_MSG_WARN("libc does not have obstack") |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
110 + AC_CHECK_LIB([obstack], [_obstack_begin], [have_obstack="true"], [have_obstack="false"]) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
111 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
112 + if test "$have_obstack" = "false"; then |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
113 + AC_MSG_ERROR("no libobstack found") |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
114 + else |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
115 + obstack_LDADD="-lobstack" |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
116 + fi |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
117 +else |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
118 + obstack_LDADD="" |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
119 +fi |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
120 +AC_SUBST([obstack_LDADD]) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
121 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
122 +dnl The directories with content. |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
123 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
124 dnl The directories with content. |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
125 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
126 dnl Documentation. |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
127 --- src/Makefile.am.orig 2016-08-29 21:38:11.179295769 +0200 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
128 +++ src/Makefile.am 2016-08-03 18:19:47.000000000 +0200 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
129 @@ -67,22 +67,22 @@ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
130 ar_no_Wstack_usage = yes |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
131 unstrip_no_Wstack_usage = yes |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
132 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
133 +readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
134 +nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl \ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
135 -readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
136 -nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl \ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
137 $(demanglelib) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
138 +size_LDADD = $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
139 +strip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
140 +elflint_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
141 +findtextrel_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
142 +addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) $(demanglelib) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
143 +elfcmp_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
144 -size_LDADD = $(libelf) $(libeu) $(argp_LDADD) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
145 -strip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
146 -elflint_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
147 -findtextrel_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
148 -addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(demanglelib) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
149 -elfcmp_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
150 objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
151 +ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
152 +strings_LDADD = $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
153 +ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
154 +unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
155 +stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl $(demanglelib) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
156 +elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
157 -ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
158 -strings_LDADD = $(libelf) $(libeu) $(argp_LDADD) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
159 -ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
160 -unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
161 -stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl $(demanglelib) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
162 -elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
163 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
164 installcheck-binPROGRAMS: $(bin_PROGRAMS) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
165 bad=0; pid=$$$$; list="$(bin_PROGRAMS)"; for p in $$list; do \ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
166 --- libdw/Makefile.am.orig 2017-08-05 01:41:04.103553705 +0000 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
167 +++ libdw/Makefile.am 2017-08-05 01:43:55.366543497 +0000 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
168 @@ -105,7 +105,7 @@ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
169 libdw_so_LIBS = libdw_pic.a ../libdwelf/libdwelf_pic.a \ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
170 ../libdwfl/libdwfl_pic.a ../libebl/libebl.a |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
171 libdw_so_DEPS = ../lib/libeu.a ../libelf/libelf.so |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
172 -libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(zip_LIBS) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
173 +libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) $(zip_LIBS) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
174 libdw_so_SOURCES = |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
175 libdw.so$(EXEEXT): $(srcdir)/libdw.map $(libdw_so_LIBS) $(libdw_so_DEPS) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
176 # The rpath is necessary for libebl because its $ORIGIN use will |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
177 --- src/arlib.h 2015-08-21 14:22:37.000000000 +0200 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
178 +++ src/arlib.h 2015-11-20 08:02:55.153199611 +0100 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
179 @@ -29,6 +29,16 @@ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
180 #include <stdint.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
181 #include <sys/types.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
182 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
183 +#if !defined(ACCESSPERMS) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
184 +# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
185 +#endif |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
186 +#if !defined(ALLPERMS) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
187 +# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
188 +#endif |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
189 +#if !defined(DEFFILEMODE) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
190 +# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
191 +#endif |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
192 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
193 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
194 /* State of -D/-U flags. */ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
195 extern bool arlib_deterministic_output; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
196 --- src/elfcompress.c.orig 2016-04-02 12:51:26.903848894 +0200 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
197 +++ src/elfcompress.c 2016-04-02 12:55:15.076996338 +0200 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
198 @@ -35,6 +35,14 @@ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
199 #include <gelf.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
200 #include "system.h" |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
201 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
202 +#if !defined(FNM_EXTMATCH) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
203 +# define FNM_EXTMATCH 0 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
204 +#endif |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
205 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
206 +#if !defined(ALLPERMS) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
207 +# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
208 +#endif |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
209 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
210 /* Name and version of program. */ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
211 static void print_version (FILE *stream, struct argp_state *state); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
212 ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
213 --- src/strip.c.orig 2017-08-02 12:06:25.000000000 +0000 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
214 +++ src/strip.c 2017-08-05 01:58:01.523493062 +0000 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
215 @@ -47,6 +47,14 @@ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
216 #include <system.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
217 #include <printversion.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
218 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
219 +#if !defined(FNM_EXTMATCH) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
220 +# define FNM_EXTMATCH 0 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
221 +#endif |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
222 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
223 +#if !defined(ACCESSPERMS) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
224 +#define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
225 +#endif |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
226 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
227 typedef uint8_t GElf_Byte; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
228 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
229 /* Name and version of program. */ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
230 --- src/readelf.c |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
231 +++ src/readelf.c |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
232 @@ -4773,10 +4773,11 @@ listptr_base (struct listptr *p) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
233 return cudie_base (&cu); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
234 } |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
235 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
236 +static const char *listptr_name; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
237 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
238 static int |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
239 -compare_listptr (const void *a, const void *b, void *arg) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
240 +compare_listptr (const void *a, const void *b) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
241 { |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
242 - const char *name = arg; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
243 struct listptr *p1 = (void *) a; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
244 struct listptr *p2 = (void *) b; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
245 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
246 @@ -4792,21 +4793,21 @@ compare_listptr (const void *a, const void *b, void *arg) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
247 p1->warned = p2->warned = true; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
248 error (0, 0, |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
249 gettext ("%s %#" PRIx64 " used with different address sizes"), |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
250 - name, (uint64_t) p1->offset); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
251 + listptr_name, (uint64_t) p1->offset); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
252 } |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
253 if (p1->dwarf64 != p2->dwarf64) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
254 { |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
255 p1->warned = p2->warned = true; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
256 error (0, 0, |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
257 gettext ("%s %#" PRIx64 " used with different offset sizes"), |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
258 - name, (uint64_t) p1->offset); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
259 + listptr_name, (uint64_t) p1->offset); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
260 } |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
261 if (listptr_base (p1) != listptr_base (p2)) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
262 { |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
263 p1->warned = p2->warned = true; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
264 error (0, 0, |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
265 gettext ("%s %#" PRIx64 " used with different base addresses"), |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
266 - name, (uint64_t) p1->offset); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
267 + listptr_name, (uint64_t) p1->offset); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
268 } |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
269 if (p1->attr != p2 ->attr) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
270 { |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
271 @@ -4814,7 +4815,7 @@ compare_listptr (const void *a, const void *b, void *arg) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
272 error (0, 0, |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
273 gettext ("%s %#" PRIx64 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
274 " used with different attribute %s and %s"), |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
275 - name, (uint64_t) p1->offset, dwarf_attr_name (p2->attr), |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
276 + listptr_name, (uint64_t) p1->offset, dwarf_attr_name (p2->attr), |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
277 dwarf_attr_name (p2->attr)); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
278 } |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
279 } |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
280 @@ -4885,9 +4886,11 @@ notice_listptr (enum section_e section, struct listptr_table *table, |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
281 static void |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
282 sort_listptr (struct listptr_table *table, const char *name) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
283 { |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
284 - if (table->n > 0) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
285 - qsort_r (table->table, table->n, sizeof table->table[0], |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
286 - &compare_listptr, (void *) name); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
287 + if (table->n > 0) { |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
288 + listptr_name = name; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
289 + qsort (table->table, table->n, sizeof table->table[0], |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
290 + &compare_listptr); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
291 + } |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
292 } |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
293 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
294 static bool |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
295 --- libdwfl/dwfl_error.c 2015-09-29 17:18:51.000000000 +0200 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
296 +++ libdwfl/dwfl_error.c 2015-11-20 05:11:29.889002058 +0100 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
297 @@ -154,7 +154,16 @@ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
298 switch (error &~ 0xffff) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
299 { |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
300 case OTHER_ERROR (ERRNO): |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
301 +#if defined(__GLIBC__) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
302 return strerror_r (error & 0xffff, "bad", 0); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
303 +#else |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
304 + { |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
305 + static __thread char buf[128] = ""; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
306 + if (0 == strerror_r(error & 0xffff, buf, sizeof(buf))) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
307 + return buf; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
308 + } |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
309 + return "strerror_r() failed"; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
310 +#endif |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
311 case OTHER_ERROR (LIBELF): |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
312 return elf_errmsg (error & 0xffff); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
313 case OTHER_ERROR (LIBDW): |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
314 --- src/unstrip.c.orig 2017-04-27 14:26:26.000000000 +0000 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
315 +++ src/unstrip.c 2017-05-05 15:51:33.515154220 +0000 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
316 @@ -56,6 +56,15 @@ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
317 # define _(str) gettext (str) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
318 #endif |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
319 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
320 +#ifndef strndupa |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
321 +#define strndupa(s, n) \ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
322 + (__extension__ ({const char *__in = (s); \ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
323 + size_t __len = strnlen (__in, (n)) + 1; \ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
324 + char *__out = (char *) alloca (__len); \ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
325 + __out[__len-1] = '\0'; \ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
326 + (char *) memcpy (__out, __in, __len-1);})) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
327 +#endif |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
328 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
329 /* Name and version of program. */ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
330 ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
331 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
332 --- /dev/null 2019-03-09 09:00:22.527999555 +0100 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
333 +++ src/error.h 2019-03-09 16:37:44.828481636 +0100 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
334 @@ -0,0 +1,27 @@ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
335 +#ifndef _ERROR_H_ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
336 +#define _ERROR_H_ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
337 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
338 +#include <stdarg.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
339 +#include <stdio.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
340 +#include <stdlib.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
341 +#include <string.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
342 +#include <errno.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
343 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
344 +static unsigned int error_message_count = 0; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
345 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
346 +static inline void error(int status, int errnum, const char* format, ...) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
347 +{ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
348 + va_list ap; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
349 + fprintf(stderr, "%s: ", program_invocation_name); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
350 + va_start(ap, format); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
351 + vfprintf(stderr, format, ap); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
352 + va_end(ap); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
353 + if (errnum) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
354 + fprintf(stderr, ": %s", strerror(errnum)); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
355 + fprintf(stderr, "\n"); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
356 + error_message_count++; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
357 + if (status) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
358 + exit(status); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
359 +} |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
360 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
361 +#endif /* _ERROR_H_ */ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
362 --- /dev/null 2019-03-09 09:00:22.527999555 +0100 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
363 +++ lib/error.h 2019-03-09 16:37:46.732481531 +0100 |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
364 @@ -0,0 +1,27 @@ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
365 +#ifndef _ERROR_H_ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
366 +#define _ERROR_H_ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
367 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
368 +#include <stdarg.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
369 +#include <stdio.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
370 +#include <stdlib.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
371 +#include <string.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
372 +#include <errno.h> |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
373 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
374 +static unsigned int error_message_count = 0; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
375 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
376 +static inline void error(int status, int errnum, const char* format, ...) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
377 +{ |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
378 + va_list ap; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
379 + fprintf(stderr, "%s: ", program_invocation_name); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
380 + va_start(ap, format); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
381 + vfprintf(stderr, format, ap); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
382 + va_end(ap); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
383 + if (errnum) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
384 + fprintf(stderr, ": %s", strerror(errnum)); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
385 + fprintf(stderr, "\n"); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
386 + error_message_count++; |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
387 + if (status) |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
388 + exit(status); |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
389 +} |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
390 + |
2d954d043296
core/elfutils: initial import, closes #1142
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
391 +#endif /* _ERROR_H_ */ |
132
5f0dfff1e37a
core/elfutils: add necessary changes to build with musl
David Demelier <markand@malikania.fr>
parents:
113
diff
changeset
|
392 --- /dev/null 2019-03-10 12:27:13.816667173 +0100 |
5f0dfff1e37a
core/elfutils: add necessary changes to build with musl
David Demelier <markand@malikania.fr>
parents:
113
diff
changeset
|
393 +++ lib/libintl.h 2019-03-10 19:04:03.646840388 +0100 |
5f0dfff1e37a
core/elfutils: add necessary changes to build with musl
David Demelier <markand@malikania.fr>
parents:
113
diff
changeset
|
394 @@ -0,0 +1,6 @@ |
5f0dfff1e37a
core/elfutils: add necessary changes to build with musl
David Demelier <markand@malikania.fr>
parents:
113
diff
changeset
|
395 +#ifndef LIBINTL_H |
5f0dfff1e37a
core/elfutils: add necessary changes to build with musl
David Demelier <markand@malikania.fr>
parents:
113
diff
changeset
|
396 +#define LIBINTL_H |
5f0dfff1e37a
core/elfutils: add necessary changes to build with musl
David Demelier <markand@malikania.fr>
parents:
113
diff
changeset
|
397 + |
5f0dfff1e37a
core/elfutils: add necessary changes to build with musl
David Demelier <markand@malikania.fr>
parents:
113
diff
changeset
|
398 +#define _(x) (x) |
5f0dfff1e37a
core/elfutils: add necessary changes to build with musl
David Demelier <markand@malikania.fr>
parents:
113
diff
changeset
|
399 + |
5f0dfff1e37a
core/elfutils: add necessary changes to build with musl
David Demelier <markand@malikania.fr>
parents:
113
diff
changeset
|
400 +#endif |