aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
blob: 73a301c419c2d8d723b89db897e1dfe3f262e7b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
2018-10-12   Sergei Trofimovich <slyfox@gentoo.org>
	* tessuite/functions.sh: Avoid timestamp drift

2018-10-12   Joseph Myers <joseph@codesourcery.com>
	* testsuite/unprel1.sh: Fix for cross testing

2018-10-12   Kyle Russell <bkylerussell@gmail.com>
	* src/conflict.c, src/undo.c: Add knowledge of .data.rel.ro for
	read-only dynamic symbols

2018-10-12   Kyle Russell <bkylerussell@gmail.com>
	* src/rtld/dl-lookupX.h: Fix rtld segfault when _dl_lookup_symbol_x
	is NULL on protected symbol relocations
	* testsuite/Makefile.am, testsuite/reloc12.c, testsuite/reloc12.h,
	testsuite/reloc12.sh, testsuite/reloc12lib1.c, testsuite/reloc12lib2.c:
	Add a new test for these relocations

2018-10-12   Mark Hatle <mark.hatle@windriver.com>
	* Add 'Developer's Certificate of Origin' to patch requirements

2018-08-29   Khem Raj <raj.khem@gmail.com>
	* src/elf.h: Add RISC-V defines
	* src/rtld/dl-tls.c: Add RISC-V support
	* src/rtld/rtld.c: Add RISC-V support

2018-08-29  Robert Yang  <liezhi.yang@windriver.com>
	* src/dso.c: use ehdr.e_shstrndx as index

2017-06-20  Andrew Stubbs  <ams@codesourcery.com>
	* src/arch-x86_64.c (x86_64_prelink_conflict_rela): Also convert
	R_X86_64_32 conflicts to R_X86_64_IRELATIVE for ifuncs.
	* src/arch-x86_64.c (PL_ARCH(x32)): Set mmap_end to 0x60000000.

2017-06-20  Joseph Myers  <joseph@codesourcery.com>
	* src/rtld/rtld.c (load_ld_so_conf): Add argument use_x32.
	(main): Update call to load_ld_so_conf.

2017-06-20   Kyle Russell <bkylerussell@gmail.com>
	* src/rtld/rtld.c: Add missing DT_NEEDED DSOs to needed_list

2017-06-20   Mark Hatle <mark.hatle@windriver.com>
	* doc/Makefile.am: Disable automatic generation of prelink.pdf

2017-06-19   Nathan Rossi <nathan@nathanrossi.com>
	* src/rtld/dl-tls.c, src/rtld/rtld.c: Add definitions/conf to
		support MicroBlaze, using glibc-2.24 as reference.

2016-08-19   Mark Hatle <mark.hatle@windriver.com>
	* README, testsuite/reloc8.sh, testsuite/reloc9.sh:
		update to expand on reloc8 and reloc9 failures

2016-08-17   Mark Hatle <mark.hatle@windriver.com>
	* README: Update to include a few known issues

2016-08-17   Mark Hatle <mark.hatle@windriver.com>
	* src/rtld/dl-open.c: Change to work with older compilers

2016-06-03   Dave Lerner <dave.lerner@windriver.com>
	* src/exec.c: New check_reorder_needed, section_reorder_fix functions

2016-03-22   Mark Hatle <mark.hatle@windriver.com>
	* src/gather.c, src/get.c: Fix LD_PRELOAD

2016-03-18   Donn Seeley <donn.seeley@windriver.com>
        * src/rtld/rtld.c: rewrite build_local_scope to ensure breadth-first
                processing
	* testsuite/order: Add test to verify prelink/prelink-rtld resolution
		order

2016-03-18  Mark Hatle <mark.hatle@windriver.com>
	* src/rtld: Add ability to debug scopes
	* src/rtld/rtld.h, src/dso.c: Fix compilation warning

2016-03-10  Mark Hatle <mark.hatle@windriver.com>
	* configure.ac, m4/libelf.m4, doc/Makefile.am, gelf/Makefile.am,
	  gelfx/Makefile.am, gelfx32/Makefile.am, patches/Makefile.am,
	  src/Makefile.am, src/rtld/Makefile.am, testsuite/Makefile.am:
		Update to avoid autoconf/automake warnings
	* Resync src/rtld to glibc-2.23

2015-10-29  Mark Hatle <mark.hatle@windriver.com>
	    Kyle McMartin  <kmcmartin@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>
	    Julian Brown   <julian@codesourcery.com>

	* testsuite/ifunc.h: Fix missing #
	* src/arch-arm.c (arm_prelink_conflict_rela): Add missing hunk
	that implemented R_ARM_IRELATIVE, and ifunc conflicts.

	See: https://bugzilla.redhat.com/show_bug.cgi?id=1009601

2015-10-29  Mark Hatle <mark.hatle@windriver.com>
	* prelink.h: Define SHT_MIPS_ABIFLAGS if not set
	* prelink.c: OK to skip SHT_MIPS_ABIFLAGS
	  optimize the loop to stop on the first bad entry
	  adjust the error to give us more info on the bad section

2015-10-28   Mark Hatle <mark.hatle@windriver.com>
	* get.c: Sync rtld/prelink type_class values

2015-10-22   Mark Hatle <mark.hatle@windriver.com>
	* Upstream project appears to have been abandoned
	* Update the project to remove the SVN like 'trunk' dir
	* Adjust the AUTHORS file
	* Move the README.cross to replace README and update it
	* Move the previous ChangeLog to ChangeLog.1
	* Move the current ChangeLog.cross to ChangeLog

2015-10-21   Mark Hatle <mark.hatle@windriver.com>
	* Resync src/rtld to glibc-2.22
	* src/elf.h, src/rtld/*:
	  Update elf.h to glibc 2.22 version
	* get.c, prelink.h: Add symname to conflict structure
	* conflict.c: Provide more debuggign on a conflict (symname)

2015-09-11   Mark Hatle <mark.hatle@windriver.com>
	* doc/prelink.8: Add --ld-preload docs
	* testsuite/Maekfile.am, testsuite/preload1*: Add test

2015-09-11   Vaneet Narang <v.narang@samsung.com>
	* src/gather.c, src/get.c, src/main.c, src/prelink.h:
	Add ability to specify preloaded libraries that influence the
	prelinker.

2015-09-09   Akhilesh Kumar <akhilesh.k@samsung.com>
	* src/gather.c: Remove unnecessary dso NULL check

2015-09-09   Maninder Singh <maninder1.s@samsung.com>
	* src/doit.c, src/gather.c, src/undoall.c: Fix realloc memory leak

2015-09-07  Andrew Stubbs  <ams@codesourcery.com>
	* src/arch-arm.c (PL_ARCH(arm)): Set max_page_size to match
	the new BFD default.

2015-04-06  Mark Hatle <mark.hatle@windriver.com>
	    Maninder Singh <maninder1.s@samsung.com>
	* src/rtld/dl-version.c: Add debug for mising ld-linux or libc
	* src/gather.c: Return rtld error messages on failure

2015-03-31  Mark Hatle <mark.hatle@windriver.com>
        * Based on submission by Maninder Singh <maninder1.s@samsung.com>
          src/get.c: Remove extra check for ld-linux.so.3 in strcmp
          (remove first entry, second is already in upstream code)

2014-12-10  Mark Hatle <mark.hatle@windriver.com>
        * testsuite/Makefile.am: latest autotools has changed the 
	  way TEST_ENVIRONMENT is defined.  Remove the $(SHELL)

2014-12-10  Mark Hatle <mark.hatle@windriver.com>
	* Resync src/rtld to glibc-2.20
	* src/elf.h, src/rtld/rtld.c, src/rtld/dl-tls.c:
	  Update elf.h to glibc 2.20 version
	  Add basic aarch64 support
	  (do_relocs): fix comparison pltrel_end >= rel_end

2014-12-10  Mark Hatle <mark.hatle@windriver.com>
	* src/rtld/COPYING, src/rtld/COPYING.LIB,
	  src/rtld/ChangeLog, src/rtld/README-rtld: Add local history
	  information to setup for a resync to glibc-2.20

2014-12-09  Jon Masters <jcm@jonmasters.org>
	    Mark Hatle  <mark.hatle@windriver.com>
	* src/arch-arm.c: Remove support for OABI arm ld-linux.so.2
			  Add support for hard float ld-linux-armhf.so.3
	* src/rtld/rtld.c: Add ld-linux-armhf.so.3 as a ldso name

2014-08-13  Kyle McMartin  <kmcmartin@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>
	    Julian Brown   <julian@codesourcery.com>
	* testsuite/ifunc.h: Add ARM support.
	* src/prelink.h (R_ARM_IRELATIVE): Define.
	* src/arch-arm.c (arm_adjust_rel, arm_adjust_rela)
	(arm_prelink_rel, arm_prelink_rela, arm_apply_conflict_rela)
	(arm_rela_to_rel, arm_rel_to_rela, arm_undo_prelink_rel):
	Handle R_ARM_IRELATIVE.
	(arm_prelink_conflict_rel, arm_prelink_conflict_rela): Handle
	R_ARM_IRELATIVE, ifunc conflicts.

2014-07-22  Maciej W. Rozycki  <macro@codesourcery.com>
	* src/arch-arm.c (arm_prelink_conflict_rel): Always create a 
	conflict for R_ARM_TLS_DESC relocs.
	(arm_prelink_conflict_rela): Likewise.

2013-10-15  Mark Hatle <mark.hatle@windriver.com>
	* Merged to upstream r209

2013-08-01  Mark Hatle <mark.hatle@windriver.com>
        * testsuite/unprel1.sh: Enable RUN_HOST for new test.

2013-04-23  Mark Hatle <mark.hatle@windriver.com>
        * README.cross: Add patch submission information based on a
          suggestion from Tom de Vries.

2013-04-19  Tom de Vries  <tom@codesourcery.com>
	* README.cross: Fix typo.

2013-04-19  Tom de Vries  <tom@codesourcery.com>
	* src/arch-mips.c (PL_ARCH(mips64)): Set rtype_class_valid field to
	RTYPE_CLASS_VALID.

2013-01-03  Marko Lindqvist  <cazfi74@gmail.com>
        * configure.in -> configure.ac: Rename
        * Replace AM_CONFIG_HEADER with AC_CONFIG_HEADERS

2012-09-12  Joseph Myers  <joseph@codesourcery.com>
        * src/rtld/dl-lookup.c: Fix variable copy reloc when host/target
	  byte size is different

2012-09-08  Joseph Myers  <joseph@codesourcery.com>
	* src/arch-arm.c: Fix ARM_TLS_DTPOFF32 addends
	* src/dwarf2.c: Fix address range handling related to DW_AT_high_pc
	* src/dwarf2.c: Fix address range handling when dup data addr

2012-06-14  Joseph Myers  <joseph@codesourcery.com>
	* src/exec.c: Fix issue for Power related to empty PROGBITS
	  change

2012-05-30  Mark Hatle <mark.hatle@windriver.com>
	* configure.in: Change the default bug report address to me
	* testsuite/ifunc*.sh: Update a test to only run when !CROSS

2012-05-22  Joseph Myers  <joseph@codesourcery.com>
	* src/prelink.h: Add missing wrap_glob declaration

2012-05-28  Joseph Myers  <joseph@codesourcery.com>
	* m4/libelf.m4: Add unistd.h

2012-05-29  Mark Hatle <mark.hatle@windriver.com>
	* testsuite/tls*.sh: Update TLS __thread check
	* README.cross: change instructions to use autoreconf -if

2012-05-29  Mark Hatle <mark.hatle@windriver.com>
	Integrate testsuite patches:

	2012-05-25  Joseph Myers  <joseph@codesourcery.com>

	* testsuite: Introduce $READELF
	* testsuite: Introduce $RUN
	* testsuite: Introduce $RUN_HOST
	* testsuite/quick2.sh: Enable PIE test for ARM
	* testsuite: Use $CCLINK instead of $CC for tls tests

2012-04-10  Maxim Kuvyrkov  <maxim@codesourcery.com>
	* src/rtld/rtld.c (find_lib_by_soname): Follow ld.so's behavior of
	pulling its name from PT_INTERP.

2012-05-29  Mark Hatle <mark.hatle@windriver.com>
	* arch-x86_64.c: Fix R_X86_64_64 relocation

2012-05-25  Mark Hatle <mark.hatle@windriver.com>
	* Fix testsuite execution

2012-04-04  Mark Hatle <mark.hatle@windriver.com>
	* testsuite/ifunc1.sh, ifunc2.sh, ifunc3.sh: Add cross compilation
	  checks to a few of the test cases.
	* testsuite/reloc4.sh, reloc5.sh: Fix linking problems with a linker
	  that does not automatically including referenced libraries.

2012-03-19  Maxim Kuvyrkov  <maxim@codesourcery.com>
	* src/reloc.c (find_reloc_sections): Don't error due to a gap between
	  sections.

2011-12-21  Mark Hatle <mark.hatle@windriver.com>
	* src/arch-x86_64.c: Add support for x32 ABI

2012-02-02  Mark Hatle <mark.hatle@windriver.com>
	Integrate dwarf2 signal frame patch:

	2010-05-10  Paul Brook  <paul@codesourcery.com>

	* src/dwarf2.c (adjust_dwarf2_frame): Skip 'S' augmentation.

2012-02-01  Mark Hatle <mark.hatle@windriver.com>
	* configure.in: Fix enabling and disabling of SE Linux support

2012-01-26  Mark Hatle <mark.hatle@windriver.com>
	* elf.h, rtld/dl-lookupX.h, rtld/rtld.c: Sync to eglibc 2.15

	Integrate R_ARM_TLS_DESC relocation support patch:

	2011-04-13  Maciej W. Rozycki  <macro@codesourcery.com>

	* src/prelink.h (DT_TLSDESC_PLT, R_ARM_TLS_DESC): New macros.
	(DSO): Add info_DT_TLSDESC_PLT member.
	(DT_TLSDESC_PLT_BIT): New macro.
	* src/arch-arm.c (arm_prelink_rel, arm_prelink_rela): Handle
	R_ARM_TLS_DESC relocation.
	(arm_prelink_conflict_rel, arm_prelink_conflict_rela): Likewise.
	(arm_rel_to_rela): Likewise.
	(arm_undo_prelink_rel): Likewise.
	(arm_reloc_class): Likewise.
	* src/dso.c (read_dynamic): Handle DT_TLSDESC_PLT dynamic tag.

	* src/prelink.h: add missing prototypes for wrap_listxattr,
	wrap_getxattr, wrap_setxattr

2012-01-04  Mark Hatle <mark.hatle@windriver.com>
	* exec.c: Check that a section is larger then 0 bytes when
	  determining the section to segment mapping.  This matches
	  the behavior of elfutils - readelf.  Otherwise an empty
	  PROGBITS section at the end of a segment will cause a
	  failure.

2011-12-08  Mark Hatle <mark.hatle@windriver.com>
	* rtld/rtld.c: Fix an issue where missing objects would trigger
	  an assert in dl-version.c
	* rtld/rtld.h: Add _dl_new_object prototype
	* rtld/rtld.c: Add support for $ORIGIN, $PLATFORM and $LIB.
	  Note: $PLATFORM = ""

2011-10-26  Mark Hatle <mark.hatle@windriver.com>
	* Merge to upstream r196
	* Resolve merge conflicts with src/main.c
	* Disable automatic detection of AMD Bulldozer for layout page size
	  Unclear why the default size is 32768 on AMD Bulldozer, assume
	  this is a performance issue.  I suggest if you are targeting
	  that platform, you manually pass:
		--layout-page-size=32768

2011-09-13  Mark Hatle <mark.hatle@windriver.com>
	* Fix printf problem causing prelink-rtld issues on x86 (32-bit) 
	  and arm

2011-08-30  Mark Hatle <mark.hatle@windriver.com>
	* Merge to upstream r195
	* Update testsuite to work with explicit intermedite objects

2011-08-26  Mark Hatle <mark.hatle@windriver.com>
	* Rename ld-libs.c to rtld.c
	* Sync to eglibc 2.13 ld.so code
	  * mips specific items from ports
	  * sync elf_machine_type_class macros for supports archs
	* Add a special check for invalid GNU_HASH entries

2011-08-18  Mark Hatle <mark.hatle@windriver.com>
	* Resync src/elf.h to glibc 2.13
	* Move prelink-rtld specific components to src/rtld

2011-06-24  Mark Hatle <mark.hatle@windriver.com>
	* Merge to upstream r190

2011-05-16  Akos PASZTORY <akos.pasztory@gmail.com>

        * wrap-file.c (wrap_setxattr, wrap_getxattr, wrap_listxattr): New.
          (wrap_glob): Likewise new.
        * dso.c (copy_xattrs): use wrap_*xattr
        * gather.c (read_config, gather_config, blacklist_from_config):
          use wrap_glob

2011-05-16  Mark Hatle <mark.hatle@windriver.com>
	* Merge to upstream r189 (no conflicts)

2011-04-04  Mark Hatle <mark.hatle@windriver.com>
	Integrate patch from:

	2011-03-24  Joseph Myers  <joseph@codesourcery.com>

	* src/dso.c (allow_bad_textrel, dso_has_bad_textrel): New.
	(check_dso): Check for text relocations.
	* src/gather.c (gather_exec): Check for text relocations.
	* src/main.c (options): Add --allow-textrel.
	(parse_opt): Handle --allow-textrel.
	* src/prelink.h (dso_has_bad_textrel, allow_bad_textrel): Declare.

2011-04-01  Mark Hatle <mark.hatle@windriver.com>
	* Merge to upstream r188 (no conflicts)

2011-01-12  Mark Hatle <mark.hatle@windriver.com>
	* Merge to upstream r187
	* Resolve merge conflict

2010-07-23  Mark Hatle <mark.hatle@windriver.com>
	* src/ld-libs.c: Handle MIPS64 TLS PLT relocs

2010-07-22  Mark Hatle <mark.hatle@windriver.com>
	* src/dso.c: Add DSO_READONLY conditionals
	* src/dso-readonly.c: remove
	* src/Makefile.am: switch RTLD dep to dso.c, pass DSO_READONLY
	* configure.in: Add AM_PROG_CC_C_O

2010-07-22  Mark Hatle <mark.hatle@windriver.com>
	* Merge to upstream r185
	* Resync dso-readonly.c from dso.c

2010-06-18  Mark Hatle <mark.hatle@windriver.com>

	* Sync src/dso-readonly.c and ...
	* Integrate patch from

	2010-05-06  Andrew Stubbs  <ams@codesourcery.com>

        * src/dso.c (adjust_dso): Support MIPS debug sections.
        * src/prelink.h (SHT_MIPS_DWARF): New define.

2009-06-15  Mark Hatle <mark.hatle@windriver.com>
	* Merge to upstream r184
	* Resync dso-readonly.c from dso.c
	* Cleanup ChangeLog.cross

2009-06-15  Mark Hatle <mark.hatle@windriver.com>

	* Integrate prelinker/cross-prelinking patches

	2009-09-01  Maciej W. Rozycki  <macro@codesourcery.com>

        Issue #5273
        * src/arch-mips.c (mips_prelink_reloc): Resolve
        R_MIPS_TLS_DTPMOD32 and R_MIPS_TLS_DTPMOD64 relocations in
        executables.

	2009-04-27  Maciej W. Rozycki  <macro@codesourcery.com>

        Issue #5165
        * src/ld-libs.c (load_ld_so_conf): Fix a buffer overrun.  Don't
        record empty paths.

	2009-04-23  Maciej W. Rozycki  <macro@codesourcery.com>

        Issue #5165
        * src/ld-lookup.c (rtld_elf_hash): Handle an initial NULL
        character correctly.  Reformat for consistency with
        rtld_elf_gnu_hash()

	2009-04-23  Maciej W. Rozycki  <macro@codesourcery.com>

        Issue #5165
        * src/ld-do-lookup.h (FCT): Remove the hash argument and
        calculate the value within the function.  Call
        do_lookup_get_first() and do_lookup_get_next() to iterate over
        symbols.
        * src/prelink.h (dynamic_info_is_set): Convert macro to a
        function.  Return 1 for success rather than the bit set.
        * src/ld-libs.h (ldlibs_link_map): Add l_gnu_hash, l_maskword64,
        l_nmaskwords, l_shift and l_maskwords members.
        * src/ld-libs.c (create_ldlibs_link_map): Handle the GNU hash.
        * src/ld-lookup.c (rtld_elf_gnu_hash): New function.
        (rtld_elf_any_hash): Likewise.
        (rtld_elf_hash): Move above "ld-do-lookup.h" inclusions.
        (do_lookup_get_first, do_lookup_get_next): New functions.
        (rtld_lookup_symbol): Remove hash calculation.
        (rtld_lookup_symbol_versioned): Likewise.

	2009-04-23  Maciej W. Rozycki  <macro@codesourcery.com>

        Issue #5165
        * src/execle_open.c (execve_open): Add missing pid
        initialisation.

2010-06-15  Mark Hatle <mark.hatle@windriver.com>
	* Merge to upstream r174
	* src/arch-mips.c, src/conflict.c, src/cxx.c, src/main.c, src/verify.c:
	  fix items missed in the merge
        * Resync dso-readonly.c from dso.c

2010-06-14  Mark Hatle <mark.hatle@windriver.com>

	* Integrate prelinker/cross-prelinking patches

	2009-08-06  Joseph Myers  <joseph@codesourcery.com>

	* src/dwarf2.c (dwarf2_write_le64, dwarf2_write_be64): Shift by 56
        not 58 for MSB.

	2009-03-19  Joseph Myers  <joseph@codesourcery.com>

	Issue #4626
	* src/cache.c, src/dso-readonly.c, src/dso.c, src/execstack.c,
        src/gather.c, src/layout.c, src/mapfile.c, src/verify.c: fsync
        file descriptors before closing them.

	2008-09-23  Joseph Myers  <joseph@codesourcery.com>

        * src/arch-arm.c (arm_prelink_conflict_rela): Correct
        R_ARM_TLS_TPOFF32 handling.

	2008-09-18  Joseph Myers  <joseph@codesourcery.com>

        * src/ld-libs.c (reloc_type_class, determine_tlsoffsets): Handle
        SPARC.
	* src/arch-sparc64.c (sparc64_prelink_rela,
        sparc64_prelink_conflict_rela, sparc64_undo_prelink_rela,
        sparc64_reloc_class): Handle TLS relocations.
        (PL_ARCH(sparc64)): Update mmap_base and mmap_end for
        TASK_UNMAPPED_BASE change to 0xfffff80100000000.

	2008-10-02  Maciej W. Rozycki  <macro@codesourcery.com>

	* src/arch-mips.c (mips_prelink_reloc): Do not complain about
	TLS_DTPMOD32 or TLS_DTPMOD64 relocations found in executables.

	2008-09-03  Maciej W. Rozycki  <macro@codesourcery.com>

	* src/prelink.h (Elf64_Byte): New definition.
	(R_MIPS_TLS_DTPMOD64): New macro.
	(R_MIPS_TLS_DTPREL64): Likewise.
	(R_MIPS_TLS_TPREL64): Likewise.
	(RSS_UNDEF): Likewise.
	(PL_ARCH): Use plarch_##F as the name of the struct in all
	variants.
	* src/reloc-info.c: New file.
	* src/reloc-info.h: Likewise.
	* src/arch-mips.c (mips_buf_read_addr): New function.
	(mips_buf_write_addr): Likewise.
	(mips_arch_adjust): Replace calls to buf_read_une32() and
	buf_write_ne32() with ones to mips_buf_read_addr() and
	mips_buf_write_addr() respectively.
	(mips_read_addend): Rename to...
	(mips_read_32bit_addend): ... this.
	(mips_write_addend): Rename to...
	(mips_write_32bit_addend): ... this.
	(mips_read_64bit_addend): New function.
	(mips_write_64bit_addend): Likewise.
	(mips_adjust_reloc): Handle 64-bit REL relocations.  Use
	reloc_r_sym() and reloc_r_type() in place of GELF_R_SYM() and
	GELF_R_TYPE() respectively.
	(mips_prelink_64bit_reloc): New function.
	(mips_prelink_reloc): Handle 64-bit REL and GLOB_DAT relocations.
	Handle TLS_DTPMOD64, TLS_DTPREL64 and TLS_TPREL64 relocations.
	Use reloc_r_sym() and reloc_r_type().
	(mips_prelink_rel): Handle 64-bit REL relocations.  Use
	reloc_r_sym(), reloc_r_type() and reloc_r_info_ext() (replacing
	GELF_R_INFO()).
	(mips_prelink_conflict_reloc): Handle 64-bit REL relocations.
	Handle TLS_DTPMOD64, TLS_DTPREL64 and TLS_TPREL64 relocations.
	Use reloc_r_sym(), reloc_r_type() and reloc_r_info_ext().
	(mips_arch_prelink_conflict): Use mips_buf_read_addr().  Use
	reloc_r_info_ext().
	(mips_apply_conflict_rela): Handle 64-bit REL relocations.  Use
	reloc_r_type().  Use mips_buf_read_addr() and
	mips_buf_write_addr().
	(mips_apply_reloc): Handle 64-bit REL relocations.  Use
	reloc_r_sym() and reloc_r_type().
	(mips_rel_to_rela): Handle 64-bit REL relocations.  Handle
	TLS_DTPMOD64, TLS_DTPREL64 and TLS_TPREL64 relocations.  Use
	reloc_r_sym() and reloc_r_type().
	(mips_rela_to_rel): Handle 64-bit REL and GLOB_DAT relocations.
	Handle TLS_DTPMOD64, TLS_DTPREL64 and TLS_TPREL64 relocations.
	Use reloc_r_sym() and reloc_r_type().
	(mips_need_rel_to_rela): Use data obtained with gelfx_getshdr() to
	determine the size of a relocation entry.  Use gelfx_getrel() to
	retrieve them.  Handle 64-bit REL relocations.  Handle
	TLS_DTPMOD64, TLS_DTPREL64 and TLS_TPREL64 relocations.  Use
	reloc_r_sym() and reloc_r_type() instead of ELF32_R_SYM() and
	ELF32_R_TYPE() respectively.
	(mips_reloc_class): Handle TLS_DTPMOD64, TLS_DTPREL64 and
	TLS_TPREL64 relocations.
	(mips_arch_prelink): Use mips_buf_read_addr() and
	mips_buf_write_addr().
	(mips_arch_undo_prelink): Likewise.
	(mips_undo_prelink_rel): Handle 64-bit GLOB_DAT relocations.  Use
	reloc_r_sym(), reloc_r_type() and reloc_r_info_ext().
	(mips64): New PL_ARCH.
	* src/prelink.c (prelink_prepare): Handle SHT_MIPS_OPTIONS.
	* src/conflict.c (conflict_rela_cmp_dso): New variable.
	(conflict_rela_cmp): Use conflict_rela_cmp_dso and reloc_r_sym().
	(get_relocated_mem): Use reloc_r_type().
	(prelink_add_copy_rel): Use reloc_r_sym() and reloc_r_type().
	(prelink_build_conflicts): Use reloc_r_sym(), reloc_r_type() and
	reloc_r_info().  Pass dso to conflict_rela_cmp() through
	conflict_rela_cmp_dso.
	(prelink_find_copy_rela): Use reloc_r_type().
	* src/cxx.c (remove_redundant_cxx_conflicts): Use reloc_r_sym(),
	reloc_r_type() and reloc_r_info().
	* src/ld-libs.c (do_rel_section): Use reloc_r_sym() and
	reloc_r_type().
	* src/Makefile.am (common_SOURCES): Add reloc-info.c and
	reloc-info.h.
	(prelink_rtld_SOURCES): Likewise.
	* src/Makefile.in: Regenerate.
	* configure.in: Check for the Elf64_Byte type.  Require autoconf
	2.50.
	* configure: Regenerate.

	2008-09-03  Maciej W. Rozycki  <macro@codesourcery.com>

	* src/arch-mips.c (mips_undo_prelink_rel): Fix formatting.

	2008-09-03  Maciej W. Rozycki  <macro@codesourcery.com>

	* src/arch-mips.c (mips_init_local_got_iterator): Use ELF_T_ADDR
	to determine the width of GOT entries.
	(mips_init_global_got_iterator): Likewise.

	2008-09-03  Maciej W. Rozycki  <macro@codesourcery.com>

        * src/data.c (buf_read_une##nn): Fix the width of the data
        transfer used.

	2008-03-06  Daniel Jacobowitz  <dan@codesourcery.com>

	* src/ld-do-lookup.h: Check for STO_MIPS_PLT on MIPS.
	* src/ld-libs.c (reloc_type_class): Handle copy and PLT relocs.
	* src/prelink.h (R_MIPS_TLS_DTPMOD32, R_MIPS_TLS_DTPREL32)
	(R_MIPS_TLS_TPREL32, R_MIPS_GLOB_DAT): Remove duplicate definitions.
	(R_MIPS_COPY, R_MIPS_JUMP_SLOT, STO_MIPS_PLT, DT_MIPS_PLTGOT)
	(DT_MIPS_PLTNO, DT_MIPS_RWPLT): Define.
	(DSO): Add info_DT_MIPS_PLTGOT.
	* src/arch-mips.c (mips_prelink_reloc): Handle R_MIPS_JUMP_SLOT and
	R_MIPS_COPY.
	(mips_prelink_conflict_reloc): Handle R_MIPS_COPY.
	(mips_apply_conflict_rela): Handle R_MIPS_JUMP_SLOT.
	(mips_apply_reloc): Handle R_MIPS_JUMP_SLOT and R_MIPS_COPY.
	(mips_rel_to_rela, mips_rela_to_rel): Handle R_MIPS_COPY.
	(mips_need_rel_to_rela): Handle R_MIPS_COPY and R_MIPS_JUMP_SLOT.
	Correct error message.
	(mips_reloc_class): Handle R_MIPS_COPY and R_MIPS_JUMP_SLOT.  Use
	RTYPE_CLASS_VALID by default.
	(mips_arch_prelink): Save .plt in gotplt[1].
	(mips_arch_undo_prelink): Clear gotplt[1].
	(mips_undo_prelink_rel): Undo R_MIPS_JUMP_SLOT relocations.
	(PL_ARCH): Set R_COPY and R_JMP_SLOT.
	* src/dso.c (read_dynamic): Save DT_MIPS_PLTGOT.
	* src/dso-readonly.c (read_dynamic): ditto

	2007-07-09  Daniel Jacobowitz  <dan@codesourcery.com>

        Issue #1816
        * src/wrap-file.c (chroot_canon): Delete.
        (sysroot_file_name): Use canon_filename.
        (unsysroot_file_name): Make global.
        (wrap_canonicalize_file_name): Delete.
        * src/ld-libs.c (load_dsos): Use prelink_canonicalize.
        * src/canonicalize.c (canon_filename): Make global.  Add chroot,
        allow_last_link, allow_missing arguments.  Handle links inside
        a chroot.  Handle canonicalizing the current directory.  Remove
        debugging output.
        (prelink_canonicalize): Update.  Use unsysroot_file_name.
        * src/prelink.h (wrap_canonicalize_file_name): Delete prototype.

	2007-03-02  Sandra Loosemore  <sandra@codesourcery.com>

        * doc/prelink.8: Copy edit.  Add entry for --root option.  Update
        list of unsupported systems.

	2007-02-16  Daniel Jacobowitz  <dan@codesourcery.com>

        * src/prelink.h (sysroot_file_name): Declare.
        * src/ld-libs.c (load_dsos): Take host_paths argument.  Do not attempt
        to canonicalize host filenames within the sysroot.  Always set
        canon_filename.
        (process_one_dso): Update call to load_dsos.  Do not redo call to
        wrap_canonicalize_file_name.

	2006-11-30  Mark Shinwell  <shinwell@codesourcery.com>

        * configure.in: Recognize --with-pkgversion and ---with-bugurl.
        * src/Makefile.am: Pass package version and bug URL through
        AM_CFLAGS, together with the new EXECSTACK_PROG.
        * src/main.c: Use PKGVERSION and REPORT_BUGS_TO.
        * src/execstack.c: Likewise.  Also use EXECSTACK_PROG.

        Mark Hatle <mark.hatle@windriver.com>
         * src/ld-libs.c: Use PRELINK_RTLD_PROG, PKGVERSION and REPORT_BUGS_TO
         * src/execstack.c: Use EXECSTACK_PROG in (argp_doc)

	2006-11-30  Mark Shinwell  <shinwell@codesourcery.com>

        * wrap-file.c (wrap_stat_body): New.
        (wrap_lstat64, wrap_stat64): Use wrap_stat_body.

	2006-11-28  Mark Shinwell  <shinwell@codesourcery.com>

        * src/layout.c (layout_libs): Add assertion to check for buffer
        overflow.
        * src/ld-libs.c (find_lib_in_path): Add "machine" argument.
        Skip libraries whose ELF machine type field does not match
        that argument.
        (find_lib_by_soname): Add "machine" argument.  Pass it to
        find_lib_in_path.
        (load_dsos): Determine machine type of input DSO.  Pass it
        to find_lib_by_soname.

	2006-11-28  Mark Shinwell  <shinwell@codesourcery.com>

        * src/gather.c (maybe_pie): New.
        (gather_func): Use it.

	2006-11-28  Mark Shinwell  <shinwell@codesourcery.com>

        * src/canonicalize.c: Add prelink.h include directive.
        Use wrap_readlink and wrap_lstat64.
        * src/prelink.h: Declare wrap_readlink.
        * src/wrap-file.c (wrap_readlink): New.

	2006-10-13  Daniel Jacobowitz  <dan@codesourcery.com>

        * src/execle_open.c (execve_open): Add an error message if execve
        fails.

	2006-10-03  Richard Sandiford  <richard@codesourcery.com>

        * configure.in (AC_CANONICAL_HOST): Remove in favour of...
        (AC_CANONICAL_SYSTEM): ...this new directive.
        (AC_ARG_PROGRAM): New directive.
        * src/Makefile.am (AM_CFLAGS): Define PRELINK_PROG, PRELINK_RTLD_PROG
        and EXEEXT.
        (execstack_LDADD): Add -liberty.
        * src/execstack.c (program_path, prelink_path): New variables.
        (execstack_make_rdwr): Initialize prelink_path if it has not
        been set yet.  Use make_relative_prefix, PRELINK_PROG and EXEEXT
        to get the full pathname of the prelink executable.  Pass this path
        to execl() as the name of executable file.
        (main): Initialize program_path.
        * src/main.c (argp_program_version, argp_doc): Use PRELINK_PROG as
        the program name.
        (main): Handle empty --rtld= arguments first.  Always use
        make_relative_prefix to work out the path of the defalt rtld
        executable.  Also use PRELINK_RTLD and EXEEXT for this purpose.

2010-06-14   Mark Hatle <mark.hatle@windriver.com>
	* configure.in: Add option to disable selinux
	* src/Makefile.am: Stop static linking

2007-08-08   Mark Hatle <mark.hatle@windriver.com>

        * src/arch-mips.c: add /lib32/ld.so.1 as an alternative 32-bit linker
        * src/ld-libs.c: add a check for MIPS n32, and adjust ld_dirs as
                         necessary

2007-10-11   Richard Sandiford  <richard@codesourcery.com>

        * src/space.c (find_readonly_space): If a new PT_LOAD header is needed,
        first try removing a PT_NULL header.

2006-12-04   Mark Hatle <mark.hatle@windriver.com>

        * Merge code from:

          Richard Sandiford  <richard@codesourcery.com>
          * src/ld-libs.c (reloc_type_class): Handle EM_MIPS.
          (do_mips_global_relocs): New function.
          (handle_relocs_in_entry): Call it.
          (determine_tlsoffsets): Handle EM_MIPS.
    
          Richard Sandiford  <richard@codesourcery.com>

          * src/ld-libs.c (do_reloc): New function, split out from
          do_rel_section.  Take the symbol and relocation type as arguments.
          (do_rel_section): Call it.
          (handle_relocs_in_entry): New function.
          (handle_relocs): Call it.

2006-12-04   Mark Hatle <mark.hatle@windriver.com>

        * src/elf.h: Update to the latest version of elf.h for MIPS prelink

2006-12-01   Mark Hatle <mark.hatle@windriver.com>

        * merge to 20061201 (r151)
        * src/arch-arm.c: remove read_une32, write_ne32, buf_write_ne32,
                buf_read_une32
        * src/dso-readonly.c: sync to changes in src/dso.c

2006-08-18   Mark Hatle <mark.hatle@windriver.com>

	* arch-arm.c: remove prelink_conflict_rela
        * arch-arm.c: Add big-endian arm support, based on arch-sh.c

2006-08-17   Mark Hatle <mark.hatle@windriver.com>

        * data.c, dso.c, prelink.h: when using elfutils/libelf, we need
                to byte swap only if the type is ELF_T_BYTE.
        * dso-readonly.c: add get_data prototype change for byteswapping
        * ld-libs.c: add get_data prototype change for byteswapping

2006-08-10   Mark Hatle <mark.hatle@windriver.com>

        * testsuite/Makefile.in: Allow testsuite to run using cross prelink.
                        Disable the run-time tests, but keep all basic
                        prelink testing.
        * testsuite/ccx1.sh, testsuite/cycle1.sh, testsuite/cycle2.sh
          testsuite/deps1.sh, testsuite/deps2.sh, testuite/functions.sh
          testuite/layout1.sh, testuite/layout2.sh, testsuite/movelibs.sh
          testsuite/quick1.sh, testsuite/quick2.sh, testsuite/quick3.sh
          testsuite/reloc1.sh, testsuite/reloc2.sh, testsuite/reloc3.sh
          testsuite/reloc4.sh, testsuite/reloc5.sh, testsuite/reloc6.sh
          testsuite/reloc7.sh, testsuite/reloc8.sh, testsuite/reloc9.sh
          testsuite/reloc10.sh, testsuite/reloc11.sh, testsuite/shuffle1.sh
          testsuite/shuffle2.c, testsuite/shuffle2.sh, testsuite/shuffle3.sh
          testsuite/shuffle4.sh, testsuite/shuffle5.sh, testsuite/shuffle6.sh
          testsuite/shuffle7.sh, testsuite/shuffle8.sh, testsuite/tls1.sh
          testsuite/tls2.sh, testsuite/tls3.sh, testsuite/tls4.sh
          testsuite/tls5.sh, testsuite/tls6.sh, testsuite/tls7.sh
          testsuite/undo1.sh: ditto

2006-08-09   Mark Hatle <mark.hatle@windriver.com>

        * execstack.c: add WR versioning
        * ld-libs.c: add argp option processing and WR versioning
        * main.c: add WR versioning

2006-08-09   Mark Hatle <mark.hatle@windriver.com>

        * ld-libs.c: Add --root argument to prelink-rtld

2006-08-09   Mark Hatle <mark.hatle@windriver.com>

        * cross-prelink code merged and upreved
          original code from:
             MontaVista Software, Inc.
             CodeSourcery, LLC.
        * Makefile.am: add prelink-rtld, libiberty
        * dso-readonly.c: new file based on dso.c
        * gather.c: use cross-rtld
        * get.c: use cross-rtld
        * ld-do-lookup.h: Add ld-do-lookup.h from glibc
        * ld-libs.c: add cross-rtld functionality
        * ld-libs.h: ditto
        * ld-lookup.c: ditto
        * ld-lookup64.c: ditto
        * main.c: Add rtld option
        * prelink.h: add extern rtld variable

2006-08-09   CodeSourcery, LLC.

        * main.c: if we modified /sbin/init, re-run init

2006-08-08   CodeSourcery, LLC.

        * arch-arm.c: add ARM EABI support, dynamic_linker_alt
        * src/dso.c: STT_ARM_TFUNC support
        * src/get.c: ld-linux.so.3 to the list of ldso names

2006-08-08   CodeSourcery, LLC.

        * gather.c: add new dynamic_linker_alt
        * prelink.h: ditto

2006-08-08   MontaVista Software, Inc.

        * main.c: Add relative sysroot support

2006-08-08   Montavista Software, Inc.

        * Makefile.am: Add function wrapper support for sysroots
        * main.c: add --root option
        * cache.c, doit.c, dso.c, execstack.c, gather.c, get.c, 
          prelink.h, undoall.c, verify.c: Add functional wrappers for sysroot
        * wrap-file.c: add function wrapper definitions

2006-07-28   Alexandre Oliva <aoliva@redhat.com>

	* src/cache.c: Avoid SEGFAULT when sorting cache entries (#197451)

2006-07-21   MontaVista Software, Inc.

        * prelink.c: add PRELINK_TIMESTAMP support

2006-07-21   MontaVista Software, Inc.

        * dso.c: Don't adjust reloc for debug info

2006-06-30   Mark Hatle <mark.hatle@windriver.com>

        * src/elf.h: Make available the elf.h file from glibc 2.3.6

2006-06-10   MontaVista Software, Inc.

        * arch-sh.c: Fix R_SH_RELATIVE endian swap problem, 
                change max page size