This patch adds support for ARM PLT entries that support a full 32-bit offset range.
[platform/upstream/binutils.git] / ld / ChangeLog
1 2014-02-27  Yuri Gribov  <y.gribov@samsung.com>
2
3         * emultempl/armelf.em (OPTION_LONG_PLT): Define.
4         (PARSE_AND_LIST_LONGOPTS): Add long-plt.
5         (PARSE_AND_LIST_OPTIONS): Likewise.
6         (PARSE_AND_LIST_ARGS_CASES): Handle long-plt.
7         * ld.texinfo: Document --long-plt.
8
9 2014-02-27  Alan Modra  <amodra@gmail.com>
10
11         * emulparams/elf32ppcvxworks.sh: Source plt_unwind.sh and
12         use ppc32elf.em.
13         * emultempl/ppc32elf.em (ppc_after_open): Don't compile for
14         vxworks.
15         (LDEMUL_AFTER_OPEN): Don't set for vxworks.
16         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Exclude
17         -secure-plt, -bss-plt and -sdata-got when vxworks.
18
19 2014-02-27  Nick Clifton  <nickc@redhat.com>
20
21         * configure.in (all_emul_extra_binaries): New variable.  Populated
22         by invoking configure.tgt.
23         (EMUL_EXTRA_BINARIES): New substitution.
24         * configure: Regenerate.
25         * configure.tgt (target_extra_binaries): New variable.  Set to
26         default-manifest.o for Cygwin and MinGW targets.
27         * Makefile.am (EMUL_EXTRA_BINARIES): New variable.  Initialised
28         by the configure script.
29         (ALL_EMUL_EXTRA_BINARIES): New variable.
30         (default-manifest.o): New rule to build the default manifest.
31         (ld_new_DEPENDENCIES): Add EMUL_EXTRA_BINARIES.
32         (install-data-local): Add EMUL_EXTRA_BINARIES.
33         * Makefile.in: Regenerate.
34         * ld.texinfo: Document default manifest support.
35         * emulparams/i386pe.sh (DEFAULT_MANIFEST): Define.
36         * emulparams/i386pep.sh (DEFAULT_MANIFEST): Define.
37         * emultempl/default-manifest.rc: New file.
38         * scripttempl/pe.sc (R_RSRC): Include DEFAULT_MANIFEST, if defined.
39         * scripttempl/pep.sc (R_RSRC): Likewise.
40
41 2014-02-26  Dan Mick  <dan.mick@inktank.com>
42
43         PR ld/16569
44         * ldcref.c (cref_sort_array): Compare unmangled names unless
45         demanglng has been requiested.
46         (output_one_cref): Output unmangled name unless demangling has
47         been requested.
48
49 2014-02-19  Igor Zamyatin  <igor.zamyatin@intel.com>
50             H.J. Lu  <hongjiu.lu@intel.com>
51
52         * emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): New.
53
54 2014-02-19  Alan Modra  <amodra@gmail.com>
55
56         * emultempl/ppc64elf.em (params): Init new field.
57         (ppc_create_output_section_statements): Set params.save_restore_funcs
58         default.
59         (PARSE_AND_LIST_*): Add support for --save-restore-funcs and
60         --no-save-restore-funcs.
61
62 2014-02-17  Alan Modra  <amodra@gmail.com>
63
64         * emultemps/ppc64elf.em (params): New static struct replacing
65         various other static vars.  Adjust code throughout file.
66
67 2014-02-17  Alan Modra  <amodra@gmail.com>
68
69         * emultempl/ppc32elf.em (ppc_after_open_output): Really enable
70         ppc476 workaround for ld -r.
71
72 2014-02-12  Alan Modra  <amodra@gmail.com>
73
74         * emultempl/ppc32elf.em (pagesize): New static var.
75         (ppc_after_open_output): Set params.pagesize_p2 from pagesize.
76         (PARSE_AND_LIST_ARGS_CASES): Adjust to use pagesize.
77
78 2014-02-11  Andrew Pinski  <apinski@cavium.com>
79
80         * emulparams/aarch64linux32.sh (LIBPATH_SUFFIX): Change to ilp32.
81         (ELF_INTERPRETER_NAME): Define.
82         * emulparams/aarch64linux32b.sh (ELF_INTERPRETER_NAME): Define.
83
84 2014-02-10  Alan Modra  <amodra@gmail.com>
85
86         * po/ld.pot: Regenerate.
87
88 2014-02-03  Alan Modra  <amodra@gmail.com>
89
90         * emultempl/ppc32elf.em (no_tls_get_addr_opt, emit_stub_syms)
91         plt_style): Delete.  Adjust all refs to instead use..
92         (params): ..this.  New variable.
93         (ppc_after_open_output): New function.  Tweak params and pass to
94         ppc_elf_link_params.
95         (ppc_after_open): Adjust ppc_elf_select_plt_layout call.
96         (ppc_before_allocation): Adjust ppc_elf_tls_setup call.  Enable
97         relaxation for ppc476 workaround.
98         (PARSE_AND_LIST_*): Add --{no-,}ppc476-workaround support.
99         (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
100
101 2014-02-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
102
103         * ld/ld.texinfo: Change ALIGN_WITH_INPUT documentation.
104         * ld/ldlang.c (lang_size_sections_1): Add dotdelta
105         variable which reflects the VMA change due to alignment
106         requirements.  Use dotdelta do change the LMA if
107         ALIGN_WITH_INPUT is requested.
108
109 2014-02-01  Hans-Peter Nilsson  <hp@bitrange.com>
110
111         * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Fix typo in
112         call to bfd_set_section_vma exposed by recent bfd_set_section_vma
113         change.
114
115 2014-01-30  Sandra Loosemore  <sandra@codesourcery.com>
116
117         * Makefile.am (enios2elf.c, enios2linux.c): Update dependencies.
118         * Makefile.in: Regenerated.
119         * emulparams/nios2elf.sh (EXTRA_EM_FILE): Set.
120         * emulparams/nios2linux.sh (EXTRA_EM_FILE): Set.
121         * emultempl/nios2elf.em: New file.
122         * gen-doc.texi (NIOSII): Set.
123         * ld.texinfo (NIOSII): Set.
124
125 2014-01-28  Nick Clifton  <nickc@redhat.com>
126
127         * Makefile.am: Remove obsolete MSP430 emulations.
128         * configure.tgt: Likewise.
129         * emulparams/msp430all.sh: Likewise.
130         * Makefile.in: Regenerate.
131
132 2014-01-24  H.J. Lu  <hongjiu.lu@intel.com>
133
134         PR ld/16498
135         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Improve
136         orphaned TLS section handling.
137
138 2014-01-24  Alan Modra  <amodra@gmail.com>
139
140         * ldlang.c (lang_output_section_find_by_flags): Be careful to
141         test look->bfd_section->flags if available rather than
142         look->flags.  Separate SEC_THREAD_LOCAL handling from
143         SEC_READONLY loop, and rewrite.
144
145 2014-01-22  Alan Modra  <amodra@gmail.com>
146
147         * ldlang.c (asneeded_list_head, asneeded_list_tail): New vars.
148         (lang_init): Initialise them.
149         (lang_print_asneeded): New function.
150         (lang_process): Call lang_print_asneeded.
151         * ldlang.h (struct asneeded_minfo): New.
152         (asneeded_list_tail): Declare.
153         * ldmain.c (add_archive_element): Improve archive map heading.
154         * ldmisc.c (minfo): Stash --as-needed info.
155
156 2014-01-22  Alan Modra  <amodra@gmail.com>
157
158         * ld.h (struct map_symbol_def): Move to..
159         * ldlang.h: ..here.
160         * ldlang.c (print_assignment): Don't set expld.assign_name to dot.
161
162 2014-01-22  Alan Modra  <amodra@gmail.com>
163
164         * ld.texinfo (Output Section Discarding): Mention assigning to dot
165         as a way of keeping otherwise empty sections.
166         * ldexp.c (is_dot, is_value, is_sym_value, is_dot_ne_0,
167         is_dot_plus_0, is_align_conditional): New predicates.
168         (exp_fold_tree_1): Set SEC_KEEP when assigning to dot inside an
169         output section, except for some special cases.
170         * scripttempl/elfmicroblaze.sc: Use canonical form to align at
171         end of .heap and .stack.
172
173 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
174
175         * emulparams/aarch64linuxb.sh (ELF_INTERPRETER_NAME): Define.
176
177 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
178
179         * emulparams/aarch64linux.sh (ELF_INTERPRETER_NAME): Define.
180
181 2014-01-20  Alan Modra  <amodra@gmail.com>
182
183         * ldlang.h (struct lang_definedness_hash_entry): Add by_object and
184         by_script.  Make iteration a single bit field.
185         (lang_track_definedness, lang_symbol_definition_iteration): Delete.
186         (lang_symbol_defined): Declare.
187         * ldlang.c (lang_statement_iteration): Expand comment a little.
188         (lang_init <lang_definedness_table>): Make it bigger.
189         (lang_track_definedness, lang_symbol_definition): Delete.
190         (lang_definedness_newfunc): Update.
191         (lang_symbol_defined): New function.
192         (lang_update_definedness): Create entries here.  Do track whether
193         script definition of symbol is valid, even when also defined in
194         an object file.
195         * ldexp.c (fold_name <DEFINED>): Update.
196         (fold_name <NAME>): Allow self-assignment for absolute symbols
197         defined in a linker script.
198
199 2014-01-20  Guy Martin <gmsoft@tuxicoman.be>
200             Alan Modra  <amodra@gmail.com>
201
202         * ldlang.h (lang_output_section_get): Define.
203         * ldlang.c (lang_output_section_get): Likewise.
204         (init_os): Set the output_section userdata to the output
205         section statement.
206         * emultempl/hppaelf.em: Use lang_output_section_get instead of
207         lang_output_section_find where applicable.
208         * emultempl/aarch64elf.em: Likewise.
209         * emultempl/aix.em: Likewise.
210         * emultempl/armelf.em: Likewise.
211         * emultempl/m68hc1xelf.em: Likewise.
212         * emultempl/metagelf.em: Likewise.
213         * emultempl/mipself.em: Likewise.
214         * emultempl/ppc64elf.em: Likewise.
215         * emultempl/spuelf.em: Likewise.
216
217 2014-01-17  Alan Modra  <amodra@gmail.com>
218
219         * genscripts.sh (COMPILE_IN): Don't set if already set.
220         * emulparams/nds32elf.sh: Don't clear EMULATION_LIBPATH, set
221         COMPILE_IN=no.
222         * emulparams/nds32elf16m.sh: Likewise.
223         * emulparams/nds32elf_linux.sh: Likewise.
224         * emultempl/aix.em: Test COMPILE_IN value is "yes".
225         * emultempl/armcoff.em: Likewise.
226         * emultempl/elf32.em: Likewise.
227         * emultempl/generic.em: Likewise.
228         * emultempl/gld960.em: Likewise.
229         * emultempl/gld960c.em: Likewise.
230         * emultempl/linux.em: Likewise.
231         * emultempl/lnk960.em: Likewise.
232         * emultempl/m68kcoff.em: Likewise.
233         * emultempl/sunos.em: Likewise.
234         * emultempl/ticoff.em: Likewise.
235
236 2014-01-16  H.J. Lu  <hongjiu.lu@intel.com>
237
238         PR ld/16456
239         * genscripts.sh: Don't search directory with LIBPATH_SUFFIX_SKIP
240         suffix.
241         * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX_SKIP): Set to 64
242         for elf32_x86_64 emulation.
243         * emulparams/elf_i386.sh (LIBPATH_SUFFIX_SKIP): Set to 64
244         for elf_i386 emulation.
245
246 2014-01-16  Alan Modra  <amodra@gmail.com>
247
248         * ld.h (fat_section_userdata_type, get_userdata): Move to..
249         * ldlang.h (input_section_userdata_type, get_userdata): ..here.
250         * ldlang.c (init_map_userdata): Delete.  Fold into..
251         (sort_def_symbol): ..here.  Don't attach input section userdata
252         to output sections or global bfd sections.
253         (lang_map): Don't pre-allocate input section userdata.
254         (init_os): Don't allocate userdata for output sections.
255         (print_all_symbols): Update.
256
257 2014-01-15  H.J. Lu  <hongjiu.lu@intel.com>
258
259         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
260         Silence uninitialized warning on ehdr_start_save with older
261         GCC.
262
263 2014-01-15  Alan Modra  <amodra@gmail.com>
264
265         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Define
266         __ehdr_start before size_dynamic_sections and restore afterwards.
267
268 2014-01-10  Alan Modra  <amodra@gmail.com>
269
270         PR ld/14207
271         PR ld/16322
272         PR binutils/16323
273         * ldlang.c (lang_size_sections): Remove unneeded RELRO base
274         adjust.  Tidy comments.
275         * ld.texinfo (DATA_SEGMENT_RELRO_END): Correct description.
276
277 2014-01-10  Hans-Peter Nilsson  <hp@axis.com>
278
279         * emulparams/crislinux.sh (COMMONPAGESIZE): Define.
280
281 2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
282
283         PR ld/14207
284         PR ld/16322
285         PR binutils/16323
286         * ldlang.c (lang_size_sections): Properly align RELRO base.
287
288 2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
289
290         * ldver.c (ldversion): Update copyright year to 2014.
291
292 For older changes see ChangeLog-2013
293 \f
294 Copyright (C) 2014 Free Software Foundation, Inc.
295
296 Copying and distribution of this file, with or without modification,
297 are permitted in any medium without royalty provided the copyright
298 notice and this notice are preserved.
299
300 Local Variables:
301 mode: change-log
302 left-margin: 8
303 fill-column: 74
304 version-control: never
305 End: