6 information" ELF header type "SUNW_syminfo" and Solaris 10 "DTrace |
6 information" ELF header type "SUNW_syminfo" and Solaris 10 "DTrace |
7 Object Format" ELF header type. Also, fix the path to the dynamic |
7 Object Format" ELF header type. Also, fix the path to the dynamic |
8 linker under Solaris 10/amd64. |
8 linker under Solaris 10/amd64. |
9 |
9 |
10 Index: include/elf/common.h |
10 Index: include/elf/common.h |
11 --- include/elf/common.h.orig 2010-05-18 05:31:06.000000000 +0200 |
11 --- include/elf/common.h.orig 2011-07-22 22:22:36.000000000 +0200 |
12 +++ include/elf/common.h 2010-12-09 16:48:56.000000000 +0100 |
12 +++ include/elf/common.h 2011-11-22 21:09:42.000000000 +0100 |
13 @@ -474,6 +474,9 @@ |
13 @@ -475,6 +475,9 @@ |
14 #define SHT_SUNW_verdef 0x6ffffffd /* Versions defined by file */ |
14 #define SHT_SUNW_verdef 0x6ffffffd /* Versions defined by file */ |
15 #define SHT_SUNW_verneed 0x6ffffffe /* Versions needed by file */ |
15 #define SHT_SUNW_verneed 0x6ffffffe /* Versions needed by file */ |
16 #define SHT_SUNW_versym 0x6fffffff /* Symbol versions */ |
16 #define SHT_SUNW_versym 0x6fffffff /* Symbol versions */ |
17 +#define SHT_SUNW_syminfo 0x6ffffffc /* Symbol information */ |
17 +#define SHT_SUNW_syminfo 0x6ffffffc /* Symbol information */ |
18 +#define SHT_SUNW_signature 0x6ffffff6 /* Solaris Cryptographic Framework: Digital Signature */ |
18 +#define SHT_SUNW_signature 0x6ffffff6 /* Solaris Cryptographic Framework: Digital Signature */ |
19 +#define SHT_SUNW_dof 0x6ffffff4 /* Solaris DTrace Object Format */ |
19 +#define SHT_SUNW_dof 0x6ffffff4 /* Solaris DTrace Object Format */ |
20 |
20 |
21 #define SHT_GNU_verdef SHT_SUNW_verdef |
21 #define SHT_GNU_verdef SHT_SUNW_verdef |
22 #define SHT_GNU_verneed SHT_SUNW_verneed |
22 #define SHT_GNU_verneed SHT_SUNW_verneed |
23 Index: bfd/elf.c |
23 Index: bfd/elf.c |
24 --- bfd/elf.c.orig 2010-10-29 14:10:24.000000000 +0200 |
24 --- bfd/elf.c.orig 2011-07-03 15:37:06.000000000 +0200 |
25 +++ bfd/elf.c 2010-12-09 16:48:57.000000000 +0100 |
25 +++ bfd/elf.c 2011-11-22 21:09:42.000000000 +0100 |
26 @@ -1884,6 +1884,11 @@ |
26 @@ -1907,6 +1907,11 @@ |
27 elf_tdata (abfd)->dynverref_hdr = *hdr; |
27 elf_tdata (abfd)->dynverref_hdr = *hdr; |
28 return _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex); |
28 return _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex); |
29 |
29 |
30 + case SHT_SUNW_syminfo: |
30 + case SHT_SUNW_syminfo: |
31 + /* case SHT_SUNW_signature: conflicts with new SHT_GNU_HASH in Binutils 2.18 */ |
31 + /* case SHT_SUNW_signature: conflicts with new SHT_GNU_HASH in Binutils 2.18 */ |
47 + |
47 + |
48 switch (bfd_get_arch (abfd)) |
48 switch (bfd_get_arch (abfd)) |
49 { |
49 { |
50 case bfd_arch_unknown: |
50 case bfd_arch_unknown: |
51 Index: bfd/elf64-x86-64.c |
51 Index: bfd/elf64-x86-64.c |
52 --- bfd/elf64-x86-64.c.orig 2010-10-21 14:29:02.000000000 +0200 |
52 --- bfd/elf64-x86-64.c.orig 2011-11-21 10:29:25.000000000 +0100 |
53 +++ bfd/elf64-x86-64.c 2010-12-09 16:48:57.000000000 +0100 |
53 +++ bfd/elf64-x86-64.c 2011-11-22 21:12:41.000000000 +0100 |
54 @@ -360,7 +360,11 @@ |
54 @@ -512,8 +512,13 @@ |
55 /* The name of the dynamic interpreter. This is put in the .interp |
55 /* The name of the dynamic interpreter. This is put in the .interp |
56 section. */ |
56 section. */ |
57 |
57 |
58 +#if defined(OPENPKG_OS_SOLARIS) |
58 +#if defined(OPENPKG_OS_SOLARIS) |
59 +#define ELF_DYNAMIC_INTERPRETER "/lib/amd64/ld.so.1" |
59 +#define ELF64_DYNAMIC_INTERPRETER "/lib/amd64/ld.so.1" |
|
60 +#define ELF32_DYNAMIC_INTERPRETER "/lib/ld32.so.1" |
60 +#else |
61 +#else |
61 #define ELF_DYNAMIC_INTERPRETER "/lib/ld64.so.1" |
62 #define ELF64_DYNAMIC_INTERPRETER "/lib/ld64.so.1" |
|
63 #define ELF32_DYNAMIC_INTERPRETER "/lib/ld32.so.1" |
62 +#endif |
64 +#endif |
63 |
65 |
64 /* If ELIMINATE_COPY_RELOCS is non-zero, the linker will try to avoid |
66 /* If ELIMINATE_COPY_RELOCS is non-zero, the linker will try to avoid |
65 copying dynamic variables from a shared lib into an app's dynbss |
67 copying dynamic variables from a shared lib into an app's dynbss |
66 |
68 |
67 ----------------------------------------------------------------------------- |
69 ----------------------------------------------------------------------------- |
68 |
70 |
69 Support FreeBSD >= 4.10 by fixing platform detection. |
|
70 |
|
71 Index: bfd/configure |
|
72 --- bfd/configure.orig 2010-12-08 09:37:34.000000000 +0100 |
|
73 +++ bfd/configure 2010-12-09 16:48:57.000000000 +0100 |
|
74 @@ -13876,6 +13876,10 @@ |
|
75 i[3-7]86-*-bsdi) |
|
76 COREFILE= |
|
77 ;; |
|
78 + i[3456]86-*-freebsd4.1[0-9]*) |
|
79 + COREFILE='' |
|
80 + TRAD_HEADER='"hosts/i386bsd.h"' |
|
81 + ;; |
|
82 i[3-7]86-*-bsd* | i[3-7]86-*-freebsd[123] | i[3-7]86-*-freebsd[123]\.* | i[3-7]86-*-freebsd4\.[01234] | i[3-7]86-*-freebsd4\.[01234]\.* | i[3-7]86-*-freebsd*aout*) |
|
83 COREFILE=trad-core.lo |
|
84 TRAD_HEADER='"hosts/i386bsd.h"' |
|
85 |
|
86 ----------------------------------------------------------------------------- |
|
87 |
|
88 Fight problems with --disable-nls under Solaris |
71 Fight problems with --disable-nls under Solaris |
89 |
72 |
90 Index: gas/asintl.h |
73 Index: gas/asintl.h |
91 --- gas/asintl.h.orig 2007-07-03 13:01:02.000000000 +0200 |
74 --- gas/asintl.h.orig 2007-07-03 13:01:02.000000000 +0200 |
92 +++ gas/asintl.h 2010-12-09 16:48:57.000000000 +0100 |
75 +++ gas/asintl.h 2011-11-22 21:09:42.000000000 +0100 |
93 @@ -20,6 +20,11 @@ |
76 @@ -20,6 +20,11 @@ |
94 Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA |
77 Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA |
95 02110-1301, USA. */ |
78 02110-1301, USA. */ |
96 |
79 |
97 +#ifndef ENABLE_NLS |
80 +#ifndef ENABLE_NLS |
116 + |
99 + |
117 #ifdef HAVE_LOCALE_H |
100 #ifdef HAVE_LOCALE_H |
118 #endif |
101 #endif |
119 #ifndef SEEK_CUR |
102 #ifndef SEEK_CUR |
120 Index: ld/Makefile.in |
103 Index: ld/Makefile.in |
121 --- ld/Makefile.in.orig 2010-11-05 11:34:22.000000000 +0100 |
104 --- ld/Makefile.in.orig 2011-07-22 22:22:37.000000000 +0200 |
122 +++ ld/Makefile.in 2010-12-09 16:48:57.000000000 +0100 |
105 +++ ld/Makefile.in 2011-11-22 21:09:42.000000000 +0100 |
123 @@ -360,7 +360,7 @@ |
106 @@ -366,7 +366,7 @@ |
124 # We put the scripts in the directory $(scriptdir)/ldscripts. |
107 # We put the scripts in the directory $(scriptdir)/ldscripts. |
125 # We can't put the scripts in $(datadir) because the SEARCH_DIR |
108 # We can't put the scripts in $(datadir) because the SEARCH_DIR |
126 # directives need to be different for native and cross linkers. |
109 # directives need to be different for native and cross linkers. |
127 -scriptdir = $(tooldir)/lib |
110 -scriptdir = $(tooldir)/lib |
128 +scriptdir = $(libdir) |
111 +scriptdir = $(libdir) |
159 like the issue itself exists since a longer time, but in recent GNU |
142 like the issue itself exists since a longer time, but in recent GNU |
160 binutils this additional message was introduced. As we cannot observe |
143 binutils this additional message was introduced. As we cannot observe |
161 any problems and this message really confused, just disable it for now. |
144 any problems and this message really confused, just disable it for now. |
162 |
145 |
163 Index: bfd/elf-eh-frame.c |
146 Index: bfd/elf-eh-frame.c |
164 --- bfd/elf-eh-frame.c.orig 2010-04-09 16:40:15.000000000 +0200 |
147 --- bfd/elf-eh-frame.c.orig 2011-06-20 15:18:47.000000000 +0200 |
165 +++ bfd/elf-eh-frame.c 2010-12-09 16:48:57.000000000 +0100 |
148 +++ bfd/elf-eh-frame.c 2011-11-22 21:09:42.000000000 +0100 |
166 @@ -909,9 +909,11 @@ |
149 @@ -913,9 +913,11 @@ |
167 goto success; |
150 goto success; |
168 |
151 |
169 free_no_table: |
152 free_no_table: |
170 +#if 0 |
153 +#if 0 |
171 (*info->callbacks->einfo) |
154 (*info->callbacks->einfo) |