summaryrefslogtreecommitdiffstats
path: root/trunk/ChangeLog.cross
blob: 6a4acf615f81091966572a4a93002b8487d20580 (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
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