prelink-vl.spec 26 KB

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