3 * Makefile.am (ev850.c): Add dependency upon
4 $(srcdir)/emultempl/v850elf.em.
5 (ev850_rh850.c): Likewise.
6 * Makefile.in: Regenerate.
7 * emultempl/v850elf.em: New file.
8 * emulparams/v850.sh (EXTRA_EM_FILE): Define.
9 * emulparams/v850_rh850.sh (EXTRA_EM_FILE): Define.
10 * scripttempl/v850.sc: Add .note.renesas section.
11 * scripttempl/v850_rh850.sc: Likewise.
15 * scripttempl/avr.sc: Add new user_signatures region. Define and
16 use symbols for all region lengths.
17 * scripttempl/avrtiny.sc: Define and use symbols for all region
22 * Makefile.am: (ALL_EMULATION_SOURCES): Add new emulations.
23 * Makefile.in: Regenerate.
24 * configure.tgt: Add h8300-*-linux
25 * emulparams/h8300elf_linux.sh: Add new emulation.
26 * emulparams/h8300helf_linux.sh: Likewise.
27 * emulparams/h8300self_linux.sh: Likewise.
28 * emulparams/h8300sxelf_linux.sh: Likewise.
32 * lexsup.c (parse_args): Produce a more reasonable error message
33 when -ixxx or -rxxx is the last option on the linker command line.
38 * testplug2.c (allsymbolsread_silent): New.
39 (set_register_hook): Handle allsymbolsreadsilent.
40 (onall_symbols_read): Skip a message if allsymbolsread_silent is
46 * ldlang.h (struct lang_input_statement_flags): Add lto_output.
47 * ldlang.c (lang_process): Don't set loading_lto_outputs.
48 * ldfile.c (ldfile_try_open_bfd): Transfer entry flags.lto_output
50 * plugin.c (add_input_file, add_input_library): Set flags.lto_output.
54 * NEWS: Mention support for LLVM plugin.
58 * ld.texinfo (Options <--defsym>): Correct cross reference.
62 * lexsup.c (ld_options): Add --[no-]map-whole-files for gold
67 * plugin.c (message): Output "warning:" for LDPL_WARNING. Output
68 "error:" for LDPL_FATAL and LDPL_ERROR.
69 * testplug2.c (parse_option): Handle fatal, error and warning.
73 * testplug2.c (dump_tv_tag): Removed.
74 (onall_symbols_read): Return LDPS_ERR if the file descriptor isn't
76 * testplug3.c (dump_tv_tag): Removed.
77 (onclaim_file): Fix typo.
82 * Makefile.am (noinst_LTLIBRARIES): Add libldtestplug2.la and
84 (libldtestplug2_la_SOURCES): New.
85 (libldtestplug2_la_CFLAGS): Likewise.
86 (libldtestplug2_la_LDFLAGS): Likewise.
87 (libldtestplug3_la_SOURCES): New.
88 (libldtestplug3_la_CFLAGS): Likewise.
89 (libldtestplug3_la_LDFLAGS): Likewise.
90 * Makefile.in: Regenerated.
91 * testplug2.c: New file.
92 * testplug3.c: Likewise.
97 * plugin.c: Include ../bfd/plugin.h.
98 (plugin_get_ir_dummy_bfd): Call bfd_create with
99 link_info.output_bfd instead of srctemplate. Copy BFD info
100 from srctemplate only if it doesn't use BFD plugin target
102 (plugin_load_plugins): Call register_ld_plugin_object_p with
104 (plugin_maybe_claim): Renamed to ...
105 (plugin_object_p): This. Return dummy BFD target vector if
106 input is calimed by plugin library, otherwise return NULL.
107 Update plugin_format and plugin_dummy_bfd.
108 (plugin_maybe_claim): New. Use plugin_object_p.
112 * plugin.c (plugin_maybe_claim): Initialize use_mmap.
116 * plugin.c (plugin_input_file_t): Add use_mmap.
117 (plugin_pagesize): New.
118 (get_view): Use plugin_pagesize. Set use_mmap if mmap is used.
119 (plugin_load_plugins): Initialize plugin_pagesize.
120 (plugin_maybe_claim): Unmap the buffer if plugin didn't claim the
125 * plugin.c (get_view): Align offset passed to mmap.
129 * ldfile.c (ldfile_try_open_bfd): Don't call bfd_check_format
130 if plugin isn't active or there is no thing more to claim.
134 * plugin.c (plugin_maybe_claim): Check format against bfd_object
139 * plugin.c (plugin_maybe_claim): Replace entry->the_bfd with
144 * plugin.c: Include "libbfd.h".
145 (plugin_strdup): New.
146 (plugin_maybe_claim): Remove the argument of pointer to struct
147 ld_plugin_input_file. Open and handle input entry.
148 * plugin.h (plugin_maybe_claim): Updated.
149 * ldfile.c (ldfile_try_open_bfd): Call plugin_maybe_claim directly
150 without passing a pointer to struct ld_plugin_input_file.
151 * ldmain.c: Don't include "libbfd.h".
152 (add_archive_element): Call plugin_maybe_claim directly without
153 passing a pointer to struct ld_plugin_input_file.
157 * ld.texinfo: Document -z text, -z notext and -z textoff.
158 * emultempl/elf32.em (gld${EMULATION_NAME}_list_options): Add
159 -z text, -z notext and -z textoff.
163 * configure.ac: Add AC_FUNC_MMAP.
164 * config.in: Regenerated.
165 * configure: Likewise.
166 * plugin.c: Include <sys/mman.h>.
167 (MAP_FAILED): New. Defined if not defined.
168 (PROT_READ): Likewise.
169 (MAP_PRIVATE): Likewise.
170 (view_buffer_t): New.
171 (plugin_input_file_t): Add view_buffer.
172 (get_view): Try mmap and cache the view buffer.
173 (plugin_maybe_claim): Initialize view_buffer.
177 * plugin.c (release_input_file): Set fd to -1 after closing it.
178 (plugin_maybe_claim): Close fd only if fd != -1.
183 * plugin.c: Include <errno.h>.
184 (errno): New. Declare if needed.
185 (plugin_input_file_t): New.
186 (get_input_file): Implemented.
187 (get_view): Likewise.
188 (release_input_file): Likewise.
189 (add_symbols): Updated.
190 (get_symbols): Likewise.
191 (plugin_maybe_claim): Allocate a plugin_input_file_t. Close fd
192 only for a bfd_object input.
196 * emultempl/ppc64elf.em (toc_section_name): New var.
197 (ppc_after_open): Set it.
198 (ppc_before_allocation): Use it.
199 (gld${EMULATION_NAME}_after_allocation): Here too.
203 * ldfile.c (ldfile_try_open_bfd): Replace plugin_active_plugins_p()
204 with link_info.lto_plugin_active.
205 * ldlang.c (lang_process): Likewise.
206 * ldmain.c (add_archive_element): Likewise.
207 * plugin.c (plugin_active_plugins_p): Removed.
208 * plugin.h (plugin_active_plugins_p): Likewise.
212 * plugin.h (plugin_get_ir_dummy_bfd): Removed. Move comments to
214 * plugin.c (plugin_get_ir_dummy_bfd): Here. Make it static.
219 * plugin.c (tv_header_tags(): Add LDPT_GET_VIEW.
220 (get_view): New function.
221 (set_tv_header): Handle LDPT_GET_VIEW.
222 * testplug.c (tag_names): Add LDPT_GET_VIEW.
224 (dump_tv_tag): Handle LDPT_GET_VIEW.
225 (parse_tv_tag): Likewise.
229 * emulparams/elf64ppc.sh (INITIAL_READWRITE_SECTIONS): Define.
230 * emultempl/ppc64elf.em (params): Init new field.
231 (ppc_after_open): New function.
232 (LDEMUL_AFTER_OPEN): Define.
233 * ldlang.c (lang_final): Whitespace fix.
237 * Makefile.am: Add FT32 files.
238 * configure.tgt: Handle FT32 target.
239 * emulparams/elf32ft32.sh: New file.
240 * scripttempl/ft32.sc: New file.
241 * Makefile.in: Regenerate.
246 * ldexp.c (fold_name): Fold LENGTH only after
247 lang_first_phase_enum.
248 * ldgram.y (memory_spec): Don't evaluate ORIGIN and LENGTH
250 * ldlang.h (struct memory_region_struct): Add origin_exp and
252 * ldlang.c (lang_do_memory_regions): New.
253 (lang_memory_region_lookup): Initialize origin_exp and
255 (lang_process): Call lang_do_memory_regions.
259 * ldlang.c (print_assignment): Only evaluate the expression for a
260 PROVIDE'd assignment when the destination is being defined.
261 Display a special message for PROVIDE'd symbols that are not being
266 * emulparams/elf64ppc.sh (OTHER_SDATA_SECTIONS): Use in place of..
267 (OTHER_BSS_SYMBOLS): ..this.
268 (OTHER_PLT_RELOC_SECTIONS): Don't define.
269 (OTHER_GOT_RELOC_SECTIONS): Add rela.toc1 and rela.tocbss.
270 (OTHER_READWRITE_SECTIONS): Don't define. Move .toc1 to..
271 (OTHER_RELRO_SECTIONS_2): ..here.
272 * scripttempl/elf.sc: Move SBSS too when DATA_SDATA.
276 * emulparams/elf64ppc.sh (BSS_PLT): Don't define.
277 (OTHER_READWRITE_SECTIONS): Move .branch_lt to..
278 (OTHER_RELRO_SECTIONS_2): ..here.
279 (DATA_GOT, SEPARATE_GOTPLT, DATA_SDATA, DATA_PLT,
280 PLT_BEFORE_GOT): Define.
281 * scripttempl/elf.sc: Handle DATA_SDATA and DATA_GOT/DATA_PLT/
282 PLT_BEFORE_GOT combination.
283 (DATA_GOT, SDATA_GOT): Don't define if either is already defined.
287 * emulparams/elf64ppc.sh (OTHER_READWRITE_SECTIONS): Move .opd to..
288 (OTHER_RELRO_SECTIONS_2): ..here, new define.
289 * scripttempl/elf.sc: Add OTHER_RELRO_SECTIONS_2.
294 * ldlang.c (lang_process): Run lang_common before lang_gc_sections.
298 * ld-arm/elf32-reject.s: New testcase.
299 * ld-arm/elf32-reject.d: Likewise.
300 * ld-arm/elf32-reject-pie.s: Likewise.
301 * ld-arm/elf32-reject-pie.d: Likewise.
302 * ld-arm/arm-elf.exp: Run new testcases.
303 * ld-arm/ifunc-7.s: Delete f2/f4 test items.
304 * ld-arm/ifunc-7.rd: Likewise.
305 * ld-arm/ifunc-7.gd: Likewise.
306 * ld-arm/ifunc-7.dd: Likewise.
307 * ld-arm/ifunc-8.s: Likewise.
308 * ld-arm/ifunc-8.rd: Likewise.
309 * ld-arm/ifunc-8.gd: Likewise.
310 * ld-arm/ifunc-8.dd: Likewise.
314 * ldver.c (ldversion): Just print current year.
318 Update year range in copyright notice of all files.
320 For older changes see ChangeLog-2014
322 Copyright (C) 2015 Free Software Foundation, Inc.
324 Copying and distribution of this file, with or without modification,
325 are permitted in any medium without royalty provided the copyright
326 notice and this notice are preserved.
332 version-control: never