1 | Summary: An ELF prelinking utility |
---|
2 | Summary(ja): ELF prelink ユーティリティ |
---|
3 | Name: prelink |
---|
4 | Version: 0.4.2 |
---|
5 | Release: 1%{?_dist_release} |
---|
6 | License: GPLv2+ |
---|
7 | Group: System Environment/Base |
---|
8 | %define date 20090925 |
---|
9 | Source: ftp://people.redhat.com/jakub/prelink/prelink-%{date}.tar.bz2 |
---|
10 | Source2: prelink.conf |
---|
11 | Source3: prelink.cron |
---|
12 | Source4: prelink.sysconfig |
---|
13 | Buildroot: %{_tmppath}/%{name}-%{version}-root |
---|
14 | #BuildRequires: libelf-devel >= 0.7.0-5 |
---|
15 | BuildRequires: elfutils-libelf-devel-static |
---|
16 | #BuildRequires: libselinux-static |
---|
17 | Requires: glibc >= 2.2.4-18, coreutils, findutils |
---|
18 | Requires: util-linux, gawk, grep |
---|
19 | # For now |
---|
20 | ExclusiveArch: %{ix86} alpha sparc sparcv9 sparc64 s390 s390x x86_64 ppc ppc64 |
---|
21 | |
---|
22 | |
---|
23 | %description |
---|
24 | The prelink package contains a utility which modifies ELF shared libraries |
---|
25 | and executables, so that far fewer relocations need to be resolved at runtime |
---|
26 | and thus programs come up faster. |
---|
27 | |
---|
28 | |
---|
29 | %prep |
---|
30 | %setup -n prelink |
---|
31 | |
---|
32 | |
---|
33 | %build |
---|
34 | %configure --disable-shared |
---|
35 | make %{_smp_mflags} |
---|
36 | echo ====================TESTING========================= |
---|
37 | make -C testsuite check-harder |
---|
38 | make -C testsuite check-cycle |
---|
39 | echo ====================TESTING END===================== |
---|
40 | |
---|
41 | |
---|
42 | %install |
---|
43 | %{makeinstall} |
---|
44 | mkdir -p %{buildroot}%{_sysconfdir}/rpm |
---|
45 | cp -a %{SOURCE2} %{buildroot}%{_sysconfdir} |
---|
46 | mkdir -p %{buildroot}%{_sysconfdir}/{sysconfig,cron.daily,prelink.conf.d} |
---|
47 | cp -a %{SOURCE3} %{buildroot}%{_sysconfdir}/cron.daily/prelink |
---|
48 | cp -a %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/prelink |
---|
49 | chmod 755 %{buildroot}%{_sysconfdir}/cron.daily/prelink |
---|
50 | chmod 644 %{buildroot}%{_sysconfdir}/{sysconfig/prelink,prelink.conf} |
---|
51 | cat > %{buildroot}%{_sysconfdir}/rpm/macros.prelink <<"EOF" |
---|
52 | # rpm-4.1 verifies prelinked libraries using a prelink undo helper. |
---|
53 | # Note: The 2nd token is used as argv[0] and "library" is a |
---|
54 | # placeholder that will be deleted and replaced with the appropriate |
---|
55 | # library file path. |
---|
56 | %%__prelink_undo_cmd /usr/sbin/prelink prelink -y library |
---|
57 | EOF |
---|
58 | chmod 644 %{buildroot}%{_sysconfdir}/rpm/macros.prelink |
---|
59 | |
---|
60 | mkdir -p %{buildroot}/var/{lib/misc,log/prelink} |
---|
61 | touch %{buildroot}/var/lib/misc/prelink.full |
---|
62 | touch %{buildroot}/var/lib/misc/prelink.quick |
---|
63 | touch %{buildroot}/var/lib/misc/prelink.force |
---|
64 | touch %{buildroot}/var/log/prelink/prelink.log |
---|
65 | |
---|
66 | |
---|
67 | %post |
---|
68 | touch /var/lib/misc/prelink.force |
---|
69 | |
---|
70 | |
---|
71 | %clean |
---|
72 | rm -rf %{buildroot} |
---|
73 | |
---|
74 | |
---|
75 | %files |
---|
76 | %defattr(-,root,root) |
---|
77 | %doc doc/prelink.pdf |
---|
78 | %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/prelink.conf |
---|
79 | %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/sysconfig/prelink |
---|
80 | %{_sysconfdir}/rpm/macros.prelink |
---|
81 | %dir %attr(0755,root,root) %{_sysconfdir}/prelink.conf.d |
---|
82 | %{_sysconfdir}/cron.daily/prelink |
---|
83 | %{_prefix}/sbin/prelink |
---|
84 | %{_prefix}/bin/execstack |
---|
85 | %{_mandir}/man8/prelink.8* |
---|
86 | %{_mandir}/man8/execstack.8* |
---|
87 | %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/lib/misc/prelink.full |
---|
88 | %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/lib/misc/prelink.quick |
---|
89 | %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/lib/misc/prelink.force |
---|
90 | %dir /var/log/prelink |
---|
91 | %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/log/prelink/prelink.log |
---|
92 | |
---|
93 | |
---|
94 | %changelog |
---|
95 | * Fri Oct 23 2009 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 0.4.2-1 |
---|
96 | - synced with Fedora 0.4.2-3 |
---|
97 | |
---|
98 | * Fri Sep 25 2009 Jakub Jelinek <jakub@redhat.com> 0.4.2-3 |
---|
99 | - fix DW_OP_implicit_value handling |
---|
100 | |
---|
101 | * Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> 0.4.2-2 |
---|
102 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild |
---|
103 | |
---|
104 | * Thu Jul 9 2009 Jakub Jelinek <jakub@redhat.com> 0.4.2-1 |
---|
105 | - don't look for *_IRELATIVE relocations in .gnu.conflict section in binaries |
---|
106 | |
---|
107 | * Sun Jul 5 2009 Jakub Jelinek <jakub@redhat.com> 0.4.1-1 |
---|
108 | - add support for STT_GNU_IFUNC on i?86/x86_64 and R_{386,X86_64}_IRELATIVE |
---|
109 | - add support for DWARF3/DWARF4 features generated newly by recent |
---|
110 | gccs |
---|
111 | - temporarily link prelink against -lpthread to workaround -lselinux |
---|
112 | issue |
---|
113 | |
---|
114 | * Wed Mar 11 2009 Jakub Jelinek <jakub@redhat.com> 0.4.0-7 |
---|
115 | - fix prelinking on ppc64 |
---|
116 | |
---|
117 | * Tue Mar 10 2009 Jakub Jelinek <jakub@redhat.com> 0.4.0-6 |
---|
118 | - BuildRequire glibc-static |
---|
119 | - rebuilt with gcc 4.4 |
---|
120 | - sparc64 and ARM TLS support |
---|
121 | |
---|
122 | * Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-5 |
---|
123 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild |
---|
124 | |
---|
125 | * Fri Aug 29 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.4.0-4 |
---|
126 | - fix license tag |
---|
127 | |
---|
128 | * Tue Apr 8 2008 Jakub Jelinek <jakub@redhat.com> 0.4.0-3 |
---|
129 | - BuildRequire libselinux-static rather than libselinux-devel (#440749) |
---|
130 | |
---|
131 | * Tue Oct 9 2007 Jakub Jelinek <jakub@redhat.com> 0.4.0-1 |
---|
132 | - add support for -c /etc/prelink.conf.d/*.conf in prelink.conf (#244452) |
---|
133 | - remove no longer existent directories from default prelink.conf (#248694) |
---|
134 | - reenabled prelink C++ optimizations which have not triggered any longer |
---|
135 | since _ZT[IV]* moved into .data.rel.ro section from .data |
---|
136 | - fixed performance issues in C++ optimizations, especially on GCJ |
---|
137 | CNI programs (#314051) |
---|
138 | - other performance improvements, prelink -avmR after prelink -ua now |
---|
139 | takes roughly 3m4s real time instead of 20m27s before |
---|
140 | - don't run TEXTREL tests if SELinux is enforcing (#245928) |
---|
141 | |
---|
142 | * Fri Dec 1 2006 Jakub Jelinek <jakub@redhat.com> 0.3.10-1 |
---|
143 | - MIPS support (Richard Sandiford) |
---|
144 | - don't leave temporary files behind on prelink --verify failures (#199251) |
---|
145 | |
---|
146 | * Fri Oct 27 2006 Jakub Jelinek <jakub@redhat.com> 0.3.9-4 |
---|
147 | - fix adjusting of .debug_ranges if end of range is at the end of some |
---|
148 | section and there is padding before the following one |
---|
149 | |
---|
150 | * Mon Oct 23 2006 Jakub Jelinek <jakub@redhat.com> 0.3.9-3 |
---|
151 | - rebuilt |
---|
152 | |
---|
153 | * Fri Jul 28 2006 Alexandre Oliva <aoliva@redhat.com> 0.3.9-2 |
---|
154 | - avoid SEGFAULT when sorting cache entries (#197451) |
---|
155 | |
---|
156 | * Wed Jul 12 2006 Jakub Jelinek <jakub@redhat.com> 0.3.9-1 |
---|
157 | - DT_GNU_HASH support |
---|
158 | - handle N_BNSYM and N_ENSYM stabs (#198203) |
---|
159 | - handle upgrades from prelink with smaller maxpagesize to prelink |
---|
160 | with larger maxpagesize (#196941) |
---|
161 | |
---|
162 | * Wed Jun 21 2006 Jakub Jelinek <jakub@redhat.com> 0.3.8-1 |
---|
163 | - fix -q mode canonicalization fix, speed up filename canonicalization |
---|
164 | by caching canonicalization for directories (#145983, #188062) |
---|
165 | - remove bogus e_shoff assertion check (#194016) |
---|
166 | - move prelink log file to /var/log/prelink/prelink.log (#194473) |
---|
167 | - increase x86-64 maxpagesize to 2MB |
---|
168 | |
---|
169 | * Mon May 22 2006 Jakub Jelinek <jakub@redhat.com> 0.3.7-1 |
---|
170 | - in -q mode, recheck the canonicalized filename to avoid |
---|
171 | overwriting symlinks with regular files (#145983, #188062) |
---|
172 | - allow prelinking of binaries with .tbss section |
---|
173 | |
---|
174 | * Mon Feb 13 2006 Jakub Jelinek <jakub@redhat.com> 0.3.6-3 |
---|
175 | - rebuilt again, disable -Wl,-z,nocopyreloc tests on x86_64, |
---|
176 | nocopyreloc really doesn't work on this platform (#180552) |
---|
177 | |
---|
178 | * Wed Dec 12 2005 Jakub Jelinek <jakub@redhat.com> 0.3.6-2 |
---|
179 | - rebuilt with GCC 4.1 |
---|
180 | - link against newer glibc to fix MALLOC_PERTURB_ bug on 64-bit |
---|
181 | arches |
---|
182 | |
---|
183 | * Thu Sep 1 2005 Jakub Jelinek <jakub@redhat.com> 0.3.6-1 |
---|
184 | - remove kernel requires - installed kernel doesn't imply running |
---|
185 | kernel anyway and in FC5 kernels older than 2.4.20 can't be used |
---|
186 | anyway, as LinuxThreads are no longer included |
---|
187 | - don't relocate stabs N_{B,D,}SLINE (reported by Ashley Pittman) |
---|
188 | |
---|
189 | * Fri Jul 29 2005 Jakub Jelinek <jakub@redhat.com> 0.3.5-2 |
---|
190 | - on ppc32 handle -mbss-plt .got sections created with -msecure-plt |
---|
191 | capable binutils (#164615) |
---|
192 | |
---|
193 | * Fri Jun 10 2005 Jakub Jelinek <jakub@redhat.com> 0.3.5-1 |
---|
194 | - support for ppc32 -msecure-plt libraries and binaries |
---|
195 | - don't crash if d_tag is invalid (#155605) |
---|
196 | - rebuilt against robustified libelf (CAN-2005-1704) |
---|
197 | - fix handling of libraries and binaries given on command |
---|
198 | line without any / characters in the filename |
---|
199 | |
---|
200 | * Mon Mar 14 2005 Jakub Jelinek <jakub@redhat.com> 0.3.4-3 |
---|
201 | - fix relocation of .debug_loc (#150194) |
---|
202 | |
---|
203 | * Sat Mar 5 2005 Jakub Jelinek <jakub@redhat.com> 0.3.4-2 |
---|
204 | - rebuilt with GCC 4 |
---|
205 | |
---|
206 | * Mon Feb 7 2005 Jakub Jelinek <jakub@redhat.com> 0.3.4-1 |
---|
207 | - fix prelink -uo when linked against libselinux (#146637) |
---|
208 | and when the -o argument filename is on a different filesystem |
---|
209 | than the object that needs undoing |
---|
210 | |
---|
211 | * Tue Nov 23 2004 Jakub Jelinek <jakub@redhat.com> 0.3.3-1 |
---|
212 | - if layout code needs to re-prelink some library, make sure |
---|
213 | all libraries that depend on it are re-prelinked too (#140081) |
---|
214 | - add several more checks before deciding it is ok to prelink a binary |
---|
215 | (even if another bug like #140081 was in, these checks should hopefully |
---|
216 | catch it and refuse to (re-)prelink the binary) |
---|
217 | - added new PRELINK_NONRPM_CHECK_INTERVAL variable to %{_sysconfdir}/prelink, |
---|
218 | defaulting to 7 days. Prelink nightly job will not do anything |
---|
219 | if that interval has not elapsed since last prelinking and |
---|
220 | and the rpm database has not been modified since that prelinking. |
---|
221 | This is useful if you rely on rpm/up2date/yum/apt-rpm for library |
---|
222 | and binary updates. If you combine it with other means (installs |
---|
223 | from source, tarballs etc.), you probably want to |
---|
224 | set PRELINK_NONRPM_CHECK_INTERVAL=0. |
---|
225 | - update prelink man page (#126468) |
---|
226 | |
---|
227 | * Tue Oct 12 2004 Jakub Jelinek <jakub@redhat.com> 0.3.2-11 |
---|
228 | - update PT_PHDR program header if present when adding new program |
---|
229 | headers (#133734) |
---|
230 | |
---|
231 | * Sat Oct 2 2004 Jakub Jelinek <jakub@redhat.com> 0.3.2-10 |
---|
232 | - support for non-absolute blacklist glob patterns (e.g. -b *.la) |
---|
233 | - cache information about non-prelinkable files (non-ELF, statically linked, |
---|
234 | too small .dynamic, DT_TEXTREL with conflicts against it; #132056) |
---|
235 | - other speedups for prelink -aq |
---|
236 | - for --verify, make sure only read-only fd's are opened for the |
---|
237 | unprelinked temporary file, otherwise a kernel might ETXTBUSY on it |
---|
238 | (#133317) |
---|
239 | - change warning message if some object's dependencies can't be found |
---|
240 | - add buildrequires libselinux-devel and use %%{_tmppath} instead |
---|
241 | of /var/tmp in Buildroot (#132879) |
---|
242 | |
---|
243 | * Wed Sep 8 2004 Jakub Jelinek <jakub@redhat.com> 0.3.2-8 |
---|
244 | - handle overlapping .opd sections on ppc64 |
---|
245 | |
---|
246 | * Tue Sep 7 2004 Jakub Jelinek <jakub@redhat.com> 0.3.2-7 |
---|
247 | - fix warning messages if setting of security context fails |
---|
248 | |
---|
249 | * Wed Jul 7 2004 Jakub Jelinek <jakub@redhat.com> 0.3.2-6 |
---|
250 | - change sed separator in testsuite scripts from | to , if \| |
---|
251 | is present in regexps, as that invokes undefined behaviour |
---|
252 | which changed between GNU sed 4.0.9 and 4.1 |
---|
253 | |
---|
254 | * Wed Jul 7 2004 Jakub Jelinek <jakub@redhat.com> 0.3.2-5 |
---|
255 | - skip vDSO in ldd /sbin/init output when determining if /sbin/telinit -u |
---|
256 | should be run (#127350) |
---|
257 | |
---|
258 | * Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com> |
---|
259 | - rebuilt |
---|
260 | |
---|
261 | * Thu May 20 2004 Jakub Jelinek <jakub@redhat.com> 0.3.2-3 |
---|
262 | - 4 SPARC 64-bit fixes |
---|
263 | - use $CC instead of gcc when checking for TLS support in tls*.sh |
---|
264 | |
---|
265 | * Thu May 20 2004 Jakub Jelinek <jakub@redhat.com> 0.3.2-2 |
---|
266 | - add 2 new TLS testcases (one that fails e.g. with glibc < 2.3.3-28 |
---|
267 | on IA-32) |
---|
268 | - SPARC TLS support |
---|
269 | |
---|
270 | * Wed May 5 2004 Jakub Jelinek <jakub@redhat.com> 0.3.2-1 |
---|
271 | - fix cxx.c:68: find_cxx_sym: Assertive `n < ndeps' failed problem |
---|
272 | on 32-bit architectures (#118522) |
---|
273 | - build prelink.cache into temporary file and atomically rename over |
---|
274 | (#121109) |
---|
275 | |
---|
276 | * Wed Mar 17 2004 Jakub Jelinek <jakub@redhat.com> 0.3.1-2 |
---|
277 | - unlink temporary files if renaming to the destination or setting of |
---|
278 | security context failed (#118251) |
---|
279 | - fix bi-architecture prelinking (#118226) |
---|
280 | - if prelink called from the cron script fails, note the exit status |
---|
281 | into /var/log/prelink.log |
---|
282 | |
---|
283 | * Thu Mar 4 2004 Jakub Jelinek <jakub@redhat.com> 0.3.1-1 |
---|
284 | - add prelink documentation (PDF format) |
---|
285 | - fix assertion failures on PPC (.sdynbss related, #115925) |
---|
286 | - fix prelink --help (#115202) |
---|
287 | - avoid free on uninitialized variable in one error path (#117332) |
---|
288 | - s/i386/%%{ix86}/ to make mharris happy |
---|
289 | |
---|
290 | * Mon Feb 16 2004 Jakub Jelinek <jakub@redhat.com> 0.3.0-21 |
---|
291 | - fix prelink abort in certain cases where a new PT_LOAD segment |
---|
292 | needs to be added (seen on AMD64) |
---|
293 | |
---|
294 | * Thu Jan 29 2004 Jakub Jelinek <jakub@redhat.com> 0.3.0-20 |
---|
295 | - clearify message about unlisted dependencies |
---|
296 | - don't do SELinux context copying if is_selinux_enabled () < 0 |
---|
297 | |
---|
298 | * Tue Jan 27 2004 Jakub Jelinek <jakub@redhat.com> 0.3.0-19 |
---|
299 | - refuse to prelink objects whose dependencies as reported by |
---|
300 | ldd don't include all dependencies transitively (this can |
---|
301 | happen when using RPATH and a shared library with the same |
---|
302 | SONAME exists both in that RPATH and either another RPATH |
---|
303 | or standard library directories) |
---|
304 | - add testcase for this |
---|
305 | - rework .dynsym/.symtab STT_SECTION translation, so that it works |
---|
306 | with binutils which put only sections not generated by the linker |
---|
307 | into .dynsym for shared libraries |
---|
308 | - fix make check, so that it is not confused by 2.6.x kernel |
---|
309 | VDSOs |
---|
310 | |
---|
311 | * Thu Jan 15 2004 Jakub Jelinek <jakub@redhat.com> 0.3.0-18 |
---|
312 | - allow R_*_JU?MP_SLOT relocs to point also into .got.plt |
---|
313 | sections on IA32/AMD64/ARM/s390/s390x/SH |
---|
314 | |
---|
315 | * Tue Dec 9 2003 Jakub Jelinek <jakub@redhat.com> 0.3.0-17 |
---|
316 | - set SELinux security context immediately before renaming, |
---|
317 | not before |
---|
318 | |
---|
319 | * Tue Nov 18 2003 Jakub Jelinek <jakub@redhat.com> 0.3.0-15 |
---|
320 | - blacklist support |
---|
321 | - use FTW_ACTIONRETVAL if available to avoid even stating of |
---|
322 | files in blacklisted directory trees |
---|
323 | - SELinux support |
---|
324 | |
---|
325 | * Tue Oct 28 2003 Jakub Jelinek <jakub@redhat.com> 0.3.0-13 |
---|
326 | - added execstack.8 manpage |
---|
327 | - changed order of columns in execstack --query output |
---|
328 | |
---|
329 | * Tue Oct 28 2003 Jakub Jelinek <jakub@redhat.com> 0.3.0-12 |
---|
330 | - added execstack tool |
---|
331 | - added -o option, to be used together with -u |
---|
332 | - free temp_filename in close_dso |
---|
333 | |
---|
334 | * Mon Oct 27 2003 Jakub Jelinek <jakub@redhat.com> 0.3.0-11 |
---|
335 | - fix adjustement of DT_VALRNGLO .. DT_VALRNGHI and |
---|
336 | DT_ADDRRNGLO .. DT_ADDRRNGHI dynamic tags when relocating shared |
---|
337 | libraries |
---|
338 | - never adjust p_vaddr/p_paddr/p_offset of PT_GNU_STACK segment |
---|
339 | - allow shell wildcards in %{_sysconfdir}/prelink.conf |
---|
340 | - fix REL->RELA conversion of shared libraries if .rel.dyn |
---|
341 | or .rel.plt are last sections in readonly PT_LOAD segment |
---|
342 | - force full reprelinking on prelink upgrades (well, first time |
---|
343 | the cron job is run after the upgrade) |
---|
344 | - require coreutils, findutils, util-linux, gawk and grep |
---|
345 | |
---|
346 | * Fri Oct 24 2003 Jakub Jelinek <jakub@redhat.com> 0.3.0-10 |
---|
347 | - avoid removing PT_GNU_STACK segment if decreasing first PT_LOAD segment's |
---|
348 | p_vaddr on IA-32 |
---|
349 | |
---|
350 | * Mon Oct 13 2003 Jakub Jelinek <jakub@redhat.com> 0.3.0-9 |
---|
351 | - avoid prelink crash if first dependency is to be prelinked because |
---|
352 | of address space overlaps |
---|
353 | |
---|
354 | * Thu Oct 9 2003 Jakub Jelinek <jakub@redhat.com> 0.3.0-8 |
---|
355 | - use /var/lib/misc/prelink.full instead of /var/run/prelink.full for last |
---|
356 | full prelink timestamp (#106721) |
---|
357 | - warn about UPX compressed binaries or libraries/binaries without section |
---|
358 | headers (neither can be prelinked obviously) |
---|
359 | |
---|
360 | * Mon Oct 6 2003 Jakub Jelinek <jakub@redhat.com> 0.3.0-7 |
---|
361 | - don't rely on malloc/calloc/realloc with size 0 returning a unique pointer |
---|
362 | - fix testsuite, so that it works even if installed glibc/libstdc++ |
---|
363 | is already prelinked |
---|
364 | |
---|
365 | * Wed Sep 17 2003 Jakub Jelinek <jakub@redhat.com> 0.3.0-6 |
---|
366 | - fix comment in %{_sysconfdir}/sysconfig/prelink (#106217) |
---|
367 | |
---|
368 | * Tue Sep 2 2003 Jakub Jelinek <jakub@redhat.com> 0.3.0-5 |
---|
369 | - fix prelink segfault on -z nocombreloc libraries (#103404) |
---|
370 | - run one make check round with -Wl,-z,nocombreloc to test handling |
---|
371 | of nocombreloc binaries and libraries |
---|
372 | |
---|
373 | * Fri Aug 15 2003 Jakub Jelinek <jakub@redhat.com> 0.3.0-4 |
---|
374 | - redirect prelink's stderr from the cron job to prelink.log (#102456) |
---|
375 | |
---|
376 | * Mon Aug 11 2003 Jakub Jelinek <jakub@redhat.com> 0.3.0-3 |
---|
377 | - fix DT_CHECKSUM computation - do STT_LOCAL symbol frobbing and .mdebug |
---|
378 | updates write_dso would do also before checksum computation (#89953) |
---|
379 | |
---|
380 | * Fri Aug 8 2003 Jakub Jelinek <jakub@redhat.com> 0.3.0-2 |
---|
381 | - avoid assertion failures when changing PROGBITS .bss back into |
---|
382 | NOBITS .bss (#101813) |
---|
383 | - add 2 new tests for it |
---|
384 | |
---|
385 | * Tue Aug 5 2003 Jakub Jelinek <jakub@redhat.com> 0.3.0-1 |
---|
386 | - run prelink from cron automatically, add %{_sysconfdir}/sysconfig/prelink |
---|
387 | to configure it |
---|
388 | - update manual page |
---|
389 | |
---|
390 | * Tue Jul 1 2003 Jakub Jelinek <jakub@redhat.com> 0.2.1-2 |
---|
391 | - fix a thinko in the library path checking code |
---|
392 | - change R_386_GLOB_DAT into R_386_32 in .gnu.conflict, similarly |
---|
393 | R_X86_64_GLOB_DAT and R_X86_64_64 |
---|
394 | - fix a bug in find_free_space which caused |
---|
395 | "section file offsets not monotonically increasing" errors on some |
---|
396 | IA-32 binaries |
---|
397 | - add --md5 and --sha options |
---|
398 | - use mmap during --verify if possible |
---|
399 | - add */lib64 directories to prelink.conf |
---|
400 | |
---|
401 | * Mon Jun 30 2003 Jakub Jelinek <jakub@redhat.com> 0.2.1-1 |
---|
402 | - make sure binaries prelinked for the second and later time without |
---|
403 | unprelinking in between verify correctly |
---|
404 | - make sure DT_CHECKSUM computation is the same for newly prelinked |
---|
405 | and second or later time prelinked libraries |
---|
406 | - dwarf2 abbrev hash bugfix |
---|
407 | - don't allow prelinking libraries outside directories specified |
---|
408 | in config file or on the command line |
---|
409 | - several new tests for reprelinking |
---|
410 | - pack non-alloced sections and section header table tightly after the |
---|
411 | last alloced section |
---|
412 | |
---|
413 | * Wed Jun 18 2003 Jakub Jelinek <jakub@redhat.com> 0.2.0-28 |
---|
414 | - finish and enable ppc64 |
---|
415 | - fix ppc BR{,N}TAKEN reloc handling |
---|
416 | - fix up sh_offset values of zero-sized or SHT_NOBITS section |
---|
417 | if ld messed them up |
---|
418 | - issue error about bogus library dependency chains instead of |
---|
419 | segfaulting (plus testcases for it) |
---|
420 | |
---|
421 | * Fri Jun 13 2003 Jakub Jelinek <jakub@redhat.com> 0.2.0-27 |
---|
422 | - add --quick mode |
---|
423 | - new test for --quick mode and also reprelinking of binary against |
---|
424 | upgraded shared library which needs more conflicts |
---|
425 | |
---|
426 | * Mon Jun 2 2003 Jakub Jelinek <jakub@redhat.com> 0.2.0-26 |
---|
427 | - don't segfault in C++ optimizations if a conflict from undefined |
---|
428 | to defined value is seen |
---|
429 | - some more ppc64 work |
---|
430 | |
---|
431 | * Fri May 30 2003 Jakub Jelinek <jakub@redhat.com> 0.2.0-25 |
---|
432 | - exec-shield support |
---|
433 | - with -R, don't randomize just base address from which all libs |
---|
434 | are layed out, but also slightly randomize order of libraries |
---|
435 | in the layout queue |
---|
436 | - add check-harder and check-cycle makefile goals in testsuite/, |
---|
437 | use it during rpm building |
---|
438 | |
---|
439 | * Fri May 23 2003 Jakub Jelinek <jakub@redhat.com> 0.2.0-24 |
---|
440 | - optimize out conflicts in G++ 3+ virtual tables if they are just |
---|
441 | because some method has been called from a binary and thus there |
---|
442 | is a .plt slot in the binary. This change not only kills lots of conflicts |
---|
443 | on some KDE programs, but also should speed up runtime (not just startup |
---|
444 | time), since the hop through .plt is bypassed |
---|
445 | - added new C++ test |
---|
446 | - fix a bug in ppc64 fixup .plt code |
---|
447 | |
---|
448 | * Thu May 22 2003 Jakub Jelinek <jakub@redhat.com> 0.2.0-23 |
---|
449 | - when updating dynamic tags for executable after section reshuffling, |
---|
450 | check section type as well, so that 0 sized sections don't get the |
---|
451 | tags attached instead of the proper ones |
---|
452 | - when an address space conflict is found between libraries for the same |
---|
453 | executable during layouting, check properly for all remaining conflicts |
---|
454 | as well |
---|
455 | |
---|
456 | * Thu May 15 2003 Jakub Jelinek <jakub@redhat.com> 0.2.0-22 |
---|
457 | - don't adjust DT_REL{,A} if it is 0 |
---|
458 | - allow prelinking of libraries with no dependencies |
---|
459 | - fix handling of libraries with no lazy relocs, no normal relocs or no |
---|
460 | relocs at all |
---|
461 | - some new tests |
---|
462 | - fix SH (Daniel Jacobowitz) |
---|
463 | |
---|
464 | * Mon May 5 2003 Jakub Jelinek <jakub@redhat.com> 0.2.0-21 |
---|
465 | - fix prelink on AMD64 |
---|
466 | - 2 new testcases |
---|
467 | - fix for debugging prelink_entry_dump/restore |
---|
468 | |
---|
469 | * Fri May 2 2003 Jakub Jelinek <jakub@redhat.com> 0.2.0-20 |
---|
470 | - ppc TLS |
---|
471 | - some ppc64 work |
---|
472 | - avoid using trampolines for nested functions |
---|
473 | - fix typo in prelink man page (#89247) |
---|
474 | |
---|
475 | * Tue Apr 15 2003 Jakub Jelinek <jakub@redhat.com> 0.2.0-19 |
---|
476 | - fix find_readonly_space bug which caused doxygen not to be prelinked |
---|
477 | |
---|
478 | * Mon Feb 17 2003 Jakub Jelinek <jakub@redhat.com> 0.2.0-18 |
---|
479 | - fix section indices in .symtab if non-alloced sections weren't |
---|
480 | originally monotonically increasing |
---|
481 | - s390, s390x and Alpha TLS support |
---|
482 | |
---|
483 | * Mon Feb 10 2003 Jakub Jelinek <jakub@redhat.com> 0.2.0-17 |
---|
484 | - never try to prelink or relocate stripped-to-file debuginfo |
---|
485 | |
---|
486 | * Tue Jan 21 2003 Jakub Jelinek <jakub@redhat.com> 0.2.0-16 |
---|
487 | - x86-64 TLS support |
---|
488 | - added one more tls testcase |
---|
489 | |
---|
490 | * Fri Dec 13 2002 Jakub Jelinek <jakub@redhat.com> 0.2.0-15 |
---|
491 | - hopefully finished IA-32 TLS support |
---|
492 | - require elfutils 0.72 for various data-swapping fixes |
---|
493 | |
---|
494 | * Wed Dec 11 2002 Jakub Jelinek <jakub@redhat.com> 0.2.0-14 |
---|
495 | - rebuilt against elfutils 0.69 to fix a make check failure on Alpha |
---|
496 | |
---|
497 | * Mon Dec 9 2002 Jakub Jelinek <jakub@redhat.com> 0.2.0-13 |
---|
498 | - use ELF_F_PERMISSIVE if defined |
---|
499 | - be permissive even when doing --reloc-only |
---|
500 | - fix up .plt section sh_entsize on Alpha |
---|
501 | |
---|
502 | * Wed Dec 4 2002 Jakub Jelinek <jakub@redhat.com> 0.2.0-12 |
---|
503 | - some more fixes for elfutils |
---|
504 | |
---|
505 | * Tue Dec 3 2002 Jakub Jelinek <jakub@redhat.com> 0.2.0-11 |
---|
506 | - make it work with elfutils instead of libelf 0.[78] |
---|
507 | - update to newer auto*/libtool |
---|
508 | - some more steps towards TLS support, at least --reloc-only should work |
---|
509 | |
---|
510 | * Thu Oct 3 2002 Jakub Jelinek <jakub@redhat.com> 0.2.0-10 |
---|
511 | - x86-64, s390x and testsuite fixes |
---|
512 | |
---|
513 | * Sun Sep 29 2002 Jakub Jelinek <jakub@redhat.com> 0.2.0-9 |
---|
514 | - enable on ppc and x86_64 |
---|
515 | - fix ppc far PLT slot prelink |
---|
516 | - support --undo on ppc |
---|
517 | - for bug-compatibility with some unnamed OS changed R_SPARC_RELATIVE |
---|
518 | --undo |
---|
519 | - tiny steps towards TLS support on IA-32, more will come |
---|
520 | |
---|
521 | * Tue Aug 27 2002 Jakub Jelinek <jakub@redhat.com> 0.2.0-8 |
---|
522 | - avoid putting garbage into executable's .gnu.liblist sh_link |
---|
523 | if we did not have to grow .dynstr |
---|
524 | - don't segfault on bogus sh_link and sh_info values (#72705) |
---|
525 | |
---|
526 | * Mon Aug 26 2002 Jakub Jelinek <jakub@redhat.com> 0.2.0-7 |
---|
527 | - when growing allocated shared lib sections (for REL->RELA |
---|
528 | conversion), make sure !PF_W and PF_W segments don't end up |
---|
529 | on the same page |
---|
530 | - when finding space for sections in an executable, make sure |
---|
531 | it is not included in between two reloc sections |
---|
532 | - for non-zero SHN_ABS symbols on 32-bit arches mask high |
---|
533 | 32-bits of st_value (libelf 0.8.x is strict here) |
---|
534 | |
---|
535 | * Fri Aug 23 2002 Jakub Jelinek <jakub@redhat.com> 0.2.0-6 |
---|
536 | - make it work with libelf 0.8.2 |
---|
537 | |
---|
538 | * Fri Jun 21 2002 Tim Powers <timp@redhat.com> |
---|
539 | - automated rebuild |
---|
540 | |
---|
541 | * Fri Jun 21 2002 Jakub Jelinek <jakub@redhat.com> 0.2.0-4 |
---|
542 | - add %{_sysconfdir}/rpm/macros.prelink |
---|
543 | |
---|
544 | * Mon Jun 17 2002 Jakub Jelinek <jakub@redhat.com> 0.2.0-1 |
---|
545 | - added --undo and --verify mode |
---|
546 | - new architectures s390, s390x, arm, sh |
---|
547 | - handle binaries/shared libraries with non-allocated sections |
---|
548 | without monotonically increasing sh_offsets |
---|
549 | - handle .sbss and .sdynbss |
---|
550 | - fixed a bug in 64-bit LE/BE read routines |
---|
551 | - removed .rel{,a}.dyn reloc conversion/sorting, it was duplicating |
---|
552 | ld's -z combreloc and complicated lots of things |
---|
553 | - fixed STB_LOCAL/STT_SECTION symbol adjusting |
---|
554 | - use mkstemp for temporary files, allow --verify for binaries/libs |
---|
555 | on read-only filesystems |
---|
556 | - added DWARF-2 .debug_ranges adjustement, special case GCC's |
---|
557 | "set base to 0 and make things absolute instead of relative" trick |
---|
558 | - allow arches to override default layout mechanism (for ppc) |
---|
559 | - added some new tests, test --undo and --verify modes in the testsuite |
---|
560 | - alpha: adjust what R_ALPHA_GLOB_DAT points to too |
---|
561 | - i386: apply _32 and _PC32 REL relocs, as apply_rel can be called |
---|
562 | for C++ optimizations before REL->RELA conversion |
---|
563 | - ppc: layout strategy to satisfy ppc lib location preferences |
---|
564 | - sparc64: handle R_SPARC_DISP64 |
---|
565 | - x86-64: adjust what R_X86_64_RELATIVE points to too |
---|
566 | - link prelink statically, esp. because of --verify mode |
---|
567 | - run make check during build process |
---|
568 | |
---|
569 | * Mon Oct 1 2001 Jakub Jelinek <jakub@redhat.com> 0.1.3-7 |
---|
570 | - fix layout code so that -R works |
---|
571 | - on IA-32, when there are no R_386_PC32 relocs and no R_386_32 relocs |
---|
572 | with non-zero addend (= memory content), don't convert REL->RELA, |
---|
573 | only switch R_386_32 relocs to R_386_GLOB_DAT |
---|
574 | - support creating a new PT_LOAD segment if necessary, if SHT_NOBITS |
---|
575 | sections are small, instead of adding new PT_LOAD segment just add file |
---|
576 | backing to those NOBITS sections |
---|
577 | - added testsuite |
---|
578 | - new supported architectures (Alpha including .mdebug section support, |
---|
579 | Sparc, Sparc 64-bit, X86_64 (the last one untested)), beginning of PPC |
---|
580 | support |
---|
581 | |
---|
582 | * Thu Sep 6 2001 Jakub Jelinek <jakub@redhat.com> 0.1.3-6 |
---|
583 | - make sure lib base is always ELF page size aligned |
---|
584 | |
---|
585 | * Wed Aug 29 2001 Jakub Jelinek <jakub@redhat.com> 0.1.3-5 |
---|
586 | - fix sorting of .rel*.dyn sections, so that all RELATIVE relocs really |
---|
587 | come first |
---|
588 | - when DT_RELCOUNT already exists and conversion REL->RELA is done, |
---|
589 | convert it into DT_RELACOUNT |
---|
590 | - set conflict lookupent and conflictent to 0 for undefineds |
---|
591 | - don't bother with DT_REL*COUNT for apps, they cannot have any RELATIVE |
---|
592 | relocs |
---|
593 | |
---|
594 | * Tue Aug 28 2001 Jakub Jelinek <jakub@redhat.com> 0.1.3-4 |
---|
595 | - brown paper bag time: when determining if conversion from REL to RELA |
---|
596 | is needed, check all non-PLT rel sections, including last. |
---|
597 | This caused prelinking to fail with -z combreloc compiled libraries. |
---|
598 | |
---|
599 | * Mon Aug 27 2001 Jakub Jelinek <jakub@redhat.com> 0.1.3-3 |
---|
600 | - don't use .gnu.reloc section, use .rel.dyn or .rela.dyn instead |
---|
601 | - put RELATIVE relocs first, not last, so that DT_REL{,A}COUNT |
---|
602 | works |
---|
603 | - put in updated glibc patch |
---|
604 | - no need for special binutils patch - all is done in the -z combreloc |
---|
605 | patchset |
---|
606 | |
---|
607 | * Tue Jul 24 2001 Jakub Jelinek <jakub@redhat.com> 0.1.3-2 |
---|
608 | - use the new DT_GNU_CONFLICT/DT_GNU_LIBLIST/SHT_GNU_LIBLIST constants |
---|
609 | - unlink *.#prelink# files if necessary |
---|
610 | |
---|
611 | * Wed Jul 18 2001 Jakub Jelinek <jakub@redhat.com> 0.1.3-1 |
---|
612 | - fix layout.c |
---|
613 | - create .gnu.prelink_undo section, --undo and --verify modes will use that |
---|
614 | - some more C++ specific optimizations |
---|
615 | |
---|
616 | * Fri Jul 13 2001 Jakub Jelinek <jakub@redhat.com> 0.1.2-1 |
---|
617 | - bail out early if ELF object does not have sh_offsets |
---|
618 | monotonically increasing |
---|
619 | - disallow prelinking if there are conflicts against read-only |
---|
620 | segments in shared libraries (ie. non-pic shared libraries |
---|
621 | - this is better than bailing out for all non-pic shared libraries) |
---|
622 | - add some C++ specific optimizations to reduce number of conflicts, |
---|
623 | more to come |
---|
624 | |
---|
625 | * Tue Jul 10 2001 Jakub Jelinek <jakub@redhat.com> 0.1.1-2 |
---|
626 | - fix incremental prelinking |
---|
627 | |
---|
628 | * Tue Jul 10 2001 Jakub Jelinek <jakub@redhat.com> 0.1.1-1 |
---|
629 | - relocate stabs and dwarf-2 debugging formats |
---|
630 | - support both --all and incremental prelinking |
---|
631 | - handle hardlinks |
---|
632 | - limit to libraries in %{_sysconfdir}/prelink.conf directories or |
---|
633 | directories from command line |
---|
634 | |
---|
635 | * Tue Jul 3 2001 Jakub Jelinek <jakub@redhat.com> 0.1.0-1 |
---|
636 | - new package |
---|