]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - ld/ChangeLog
Add fdpic and misc targets to config.bfd for sh*-*-linux*
[thirdparty/binutils-gdb.git] / ld / ChangeLog
CommitLineData
56e6cf80
NC
12015-09-29 Nick Clifton <nickc@redhat.com>
2
3 PR ld/19014
4 * ld.texinfo (Options): Fix spelling mistake.
5
3074964f
AM
62015-09-24 Alan Modra <amodra@gmail.com>
7
8 PR ld/18992
9 * ldmain.c (main): Always enable --sysroot.
10 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't
11 prepend sysroot to relative rpath/runpath.
12
b6518b38
NC
132015-09-23 Nick Clifton <nickc@redhat.com>
14
15 * emultempl/elf32.em (ehdr_start_empty): New static variable.
16 (before_allocation): Use it to initialise ehdr_start_save.
17 * emultempl/pe.em (write_build_id): Remove useless double
18 parenthesis.
19 * emultempl/pep.em (write_build_id): Likewise.
20
5fe2850d
L
212015-09-22 H.J. Lu <hongjiu.lu@intel.com>
22
23 * emultempl/alphaelf.em (alpha_after_parse): Call
24 gld${EMULATION_NAME}_after_parse instead of
25 after_parse_default.
26 * emultempl/cr16elf.em (cr16elf_after_parse): Likewise.
27 * emultempl/crxelf.em (crxelf_after_parse); Likewise.
28 * emultempl/hppaelf.em (hppaelf_after_parse): Likewise.
29 * emultempl/mipself.em (mips_after_parse): Likewise.
30 * emultempl/nds32elf.em (nds32_elf_after_parse): Likewise.
31 * emultempl/elf32.em: Don't include ldlex.h.
32 (gld${EMULATION_NAME}_after_parse): New function.
33 (gld${EMULATION_NAME}_handle_option) [GENERATE_PIE_SCRIPT]
34 <OPTION_PIE>: Removed.
35 (ld_${EMULATION_NAME}_emulation): Replace after_parse_default
36 with gld${EMULATION_NAME}_after_parse.
37 * emultempl/ia64elf.em (gld${EMULATION_NAME}_after_parse):
38 Renamed to ...
39 (ia64elf_after_parse): This. Call
40 gld${EMULATION_NAME}_after_parse instead of after_parse_default.
41 (LDEMUL_AFTER_PARSE): Replace gld${EMULATION_NAME}_after_parse
42 with ia64elf_after_parse.
43
5c383f02
RO
442015-09-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
45
46 * emulparams/solaris2.sh (GENERATE_PIE_SCRIPT): Set to yes.
47
48 * emultempl/elf32.em: Include ldlex.h.
49 (gld${EMULATION_NAME}_handle_option) [GENERATE_PIE_SCRIPT]
50 <OPTION_PIE>: Set DF_1_PIE.
51
95421fb9
AM
522015-09-22 Alan Modra <amodra@gmail.com>
53
54 * ld.texinfo: Put --dotsyms/--no-dotsyms on separate lines.
55 Ditto for --save-restore-funcs and --tls-get-addr-optimize.
56
9b8b325a
RF
572015-09-20 Rich Felker <dalias@libc.org>
58
59 * ld.texinfo (--no-dynamic-linker): Document.
60 * ldlex.h (enum option_values): Add OPTION_NO_DYNAMIC_LINKER.
61 * lexsup.c (ld_options, parse_args): Handle --no-dynamic-linker.
62
7ae4ea7d
AM
632015-09-18 Alan Modra <amodra@gmail.com>
64
65 * ld.texinfo: Document PowerPC64 --{no-,}save-restore-funcs.
66
7c9cf415
AM
672015-09-18 Alan Modra <amodra@gmail.com>
68
69 * emultempl/ppc64elf.em (params): Init tls_get_addr_opt field to -1.
70 (OPTION_TLS_GET_ADDR_OPT): Define.
71 (PARSE_AND_LIST_LONGOPTS): Handle --tls-get-addr-opt.
72 (PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Likewise.
73 * ld.texinfo: Document --tls-get-addr-optimize and
74 --no-tls-get-addr-optimize.
75
975f8a9e
AM
762015-09-18 Alan Modra <amodra@gmail.com>
77
78 PR ld/18963
79 * ldexp.h (struct ldexp_control): Add rel_from_abs.
80 (ldexp_finalize_syms): Declare.
81 * ldexp.c (new_rel_from_abs): Keep absolute for expressions
82 outside of output section statements. Set rel_from_abs.
83 (make_abs, exp_fold_tree, exp_fold_tree_no_dot): Clear rel_from_abs.
84 (struct definedness_hash_entry): Add final_sec, and comment.
85 (update_definedness): Set final_sec.
86 (set_sym_sections, ldexp_finalize_syms): New functions.
87 * ldlang.c (lang_process): Call ldexp_finalize_syms.
88
64597d82
NC
892015-09-10 Nick Clifton <nickc@redhat.com>
90
91 * po/zh_CN.po: Updated simplified Chinese translation.
92
ea4a7f99 932015-09-09 James Bowman <james.bowman@ftdichip.com>
94
95 * scripttempl/ft32.sc: default linker script RAM and
96 FLASH size symbols
97
081bb924
NC
982015-09-09 Nick Clifton <nickc@redhat.com>
99
100 * po/zh_CN.po: Updated simplified Chinese translation.
101
5707d2ad
NC
1022015-09-08 Nick Clifton <nickc@redhat.com>
103
104 * ld.texinfo (Source Code Reference): Extend description to
105 include an example using arrays.
106
c005eb9e
AB
1072015-07-28 Andrew Burgess <andrew.burgess@embecosm.com>
108
109 * ld.h (enum orphan_handling_enum): New.
110 (ld_config_type): Remove warn_orphan, add orphan_handling.
111 * ldemul.c (ldemul_place_orphan): Remove warning about orphan
112 sections.
113 * ldlang.c (ldlang_place_orphan): New function.
114 (lang_place_orphans): Call ldlang_place_orphan.
115 * ldlex.h (enum option_values): Remove OPTION_WARN_ORPHAN and
116 OPTION_NO_WARN_ORPHAN, add OPTION_ORPHAN_HANDLING.
117 * lexsup.c (ld_options): Remove 'warn-orphan' and
118 'no-warn-orphan', add 'orphan-handling'.
119 (parse_args): Remove handling for OPTION_WARN_ORPHAN and
120 OPTION_NO_WARN_ORPHAN, add handling for OPTION_ORPHAN_HANDLING.
121 * NEWS: Replace text about --warn-orphan with --orphan-handling.
122 * ld.texinfo (Options): Remove --warn-orphan entry and add
123 entry on --orphan-handling.
124 (Orphan Sections): Add reference to relevant command line options.
125
6033bf41
NC
1262015-09-03 Nick Clifton <nickc@redhat.com>
127
128 * ld.texinfo (--build-id): Fix typo. The COFF/PE build-id section
129 is called .buildid not .build-id.
130
a5e406b5
NC
1312015-09-03 Nick Clifton <nickc@redhat.com>
132
133 (Source Code Reference): Fix off-by-one typo in example of how to
134 use linker script symbols in C source code.
135
64d94ba0
AM
1362015-08-19 Alan Modra <amodra@gmail.com>
137
138 * emultempl/aix.em: Don't set link_info.pic.
139 * emultempl/pe.em: Likewise.
140 * emultempl/pep.em: Likewise.
141 * emultempl/sunos.em: Likewise.
142 * lexsup.c (parse_args): Likewise. Set type_pie for -pie.
143 * plugin.c (set_tv_header <LDPT_LINKER_OUTPUT>): Simplify.
144
0e1862bb
L
1452015-08-18 H.J. Lu <hongjiu.lu@intel.com>
146
147 * ld/ldctor.c: Replace shared, executable, relocatable and pie
148 fields with bfd_link_executable, bfd_link_dll,
149 bfd_link_relocatable, bfd_link_pic and bfd_link_pie.
150 * ld/ldemul.c: Likewise.
151 * ld/ldfile.c: Likewise.
152 * ld/ldlang.c: Likewise.
153 * ld/ldmain.c: Likewise.
154 * ld/ldwrite.c: Likewise.
155 * ld/lexsup.c: Likewise.
156 * ld/pe-dll.c: Likewise.
157 * ld/plugin.c: Likewise.
158 * ld/emultempl/aarch64elf.em: Likewise.
159 * ld/emultempl/aix.em: Likewise.
160 * ld/emultempl/alphaelf.em: Likewise.
161 * ld/emultempl/armcoff.em: Likewise.
162 * ld/emultempl/armelf.em: Likewise.
163 * ld/emultempl/avrelf.em: Likewise.
164 * ld/emultempl/beos.em: Likewise.
165 * ld/emultempl/cr16elf.em: Likewise.
166 * ld/emultempl/elf-generic.em: Likewise.
167 * ld/emultempl/elf32.em: Likewise.
168 * ld/emultempl/genelf.em: Likewise.
169 * ld/emultempl/generic.em: Likewise.
170 * ld/emultempl/gld960.em: Likewise.
171 * ld/emultempl/gld960c.em: Likewise.
172 * ld/emultempl/hppaelf.em: Likewise.
173 * ld/emultempl/irix.em: Likewise.
174 * ld/emultempl/linux.em: Likewise.
175 * ld/emultempl/lnk960.em: Likewise.
176 * ld/emultempl/m68hc1xelf.em: Likewise.
177 * ld/emultempl/m68kcoff.em: Likewise.
178 * ld/emultempl/m68kelf.em: Likewise.
179 * ld/emultempl/metagelf.em: Likewise.
180 * ld/emultempl/mipself.em: Likewise.
181 * ld/emultempl/mmo.em: Likewise.
182 * ld/emultempl/msp430.em: Likewise.
183 * ld/emultempl/nds32elf.em: Likewise.
184 * ld/emultempl/needrelax.em: Likewise.
185 * ld/emultempl/nios2elf.em: Likewise.
186 * ld/emultempl/pe.em: Likewise.
187 * ld/emultempl/pep.em: Likewise.
188 * ld/emultempl/ppc32elf.em: Likewise.
189 * ld/emultempl/ppc64elf.em: Likewise.
190 * ld/emultempl/sh64elf.em: Likewise.
191 * ld/emultempl/solaris2.em: Likewise.
192 * ld/emultempl/spuelf.em: Likewise.
193 * ld/emultempl/sunos.em: Likewise.
194 * ld/emultempl/tic6xdsbt.em: Likewise.
195 * ld/emultempl/ticoff.em: Likewise.
196 * ld/emultempl/v850elf.em: Likewise.
197 * ld/emultempl/vms.em: Likewise.
198 * ld/emultempl/vxworks.em: Likewise.
199
43417696
AM
2002015-08-18 Alan Modra <amodra@gmail.com>
201
202 * ldexp.c (exp_fold_tree_1): Clear linker_def on symbol assignment.
203
e0a3af22
AM
2042015-08-06 Alan Modra <amodra@gmail.com>
205
206 * ldexp.c (align_dot_val): Delete.
207 (fold_unary <ALIGN_K, NEXT>): Revert 2015-07-10 change.
208 (is_align_conditional): Revert 2015-07-20 change.
209 (exp_fold_tree_1): Likewise, but keep expanded comment.
210 * scripttempl/elf.sc (.ldata, .bss): Revert 2015-07-20 change.
211 * ld.texinfo (<ALIGN>): Correct description.
212
0a618243
AB
2132015-08-04 Andrew Burgess <andrew.burgess@embecosm.com>
214
215 * ld.texinfo (Options): Document --require-defined option.
216 * ldlang.c (struct require_defined_symbol): New structure.
217 (require_defined_symbol_list): New variable.
218 (ldlang_add_require_defined): New function.
219 (ldlang_check_require_defined_symbols): New function.
220 (lang_process): Check required symbols are defined.
221 * ldlang.h (ldlang_add_require_defined): Declare.
222 * ldlex.h (enum option_values): Add OPTION_REQUIRE_DEFINED_SYMBOL.
223 * lexsup.c (ld_options): Add '--require-defined' entry.
224 (parse_args): Handle '--requre-defined' entry.
225 * NEWS: Mention new '--require-defined' option.
226
127fcdff
AB
2272015-08-03 Andrew Burgess <andrew.burgess@embecosm.com>
228
229 * ld.texinfo (MEMORY): Explain that multiple MEMORY commands are
230 acceptable.
231
e77e648e
L
2322015-07-29 H.J. Lu <hongjiu.lu@intel.com>
233
234 * lexsup.c (parse_args): Don't set link_info.executable to
235 TRUE for link_info.relocatable.
236
37a42ee9
L
2372015-07-27 H.J. Lu <hongjiu.lu@intel.com>
238
239 * configure: Regenerated.
240
aff1a65e
NC
2412015-07-24 Nick Clifton <nickc@redhat.com>
242
243 * emulparams/elf32rl78.sh (OTHER_SECTIONS): Provide a value for
244 the _-rl78_abs__ symbol.
245
d9d11c36
AM
2462015-07-20 Alan Modra <amodra@gmail.com>
247
248 * emulparams/criself.sh (INIT_ADDR, FINI_ADDR): Define.
249 (INIT_START, FINI_START): Don't ALIGN.
250 * scriptempl/elf.sc (.init, .fini): Apply INIT_ADDR/FINI_ADDR.
251
e474ab13
AM
2522015-07-20 Alan Modra <amodra@gmail.com>
253
254 * scripttempl/elf.sc (.ldata, .bss): Align absolute value of dot.
255 * ldexp.c (is_align_conditional): Handle binary ALIGN.
256 (exp_fold_tree_1): Move code setting SEC_KEEP for assignments to
257 dot inside output sections. Handle absolute expressions.
258
19a7fe52
L
2592015-07-14 H.J. Lu <hongjiu.lu@intel.com>
260
261 * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Make
262 --compress-debug-sections=zlib the same as
263 --compress-debug-sections=zlib-gabi.
264 * ld.texinfo: Change --compress-debug-sections=zlib to zlib-gabi.
265
1f0d470a
NC
2662015-07-14 Nick Clifton <nickc@redhat.com>
267
268 * ld.texinfo (Options): Add missing period after @xref.
269
a2c59f28
AM
2702015-07-10 Alan Modra <amodra@gmail.com>
271
272 * ldexp.c (align_dot_val): New function.
273 (fold_unary <ALIGN_K, NEXT>): Use it.
274
0f088b2a
KT
2752015-07-03 Kai Tietz <ktietz@redhat.com>
276
277 PR ld/11539
278 * scripttempl/pep.sc: Mark .idata*, .CRT*, .tls*,
279 .rsrc*, .init, .ctor*, .dtor*, .fini, .jcr,
280 .eh_frame, .pdata. .xdata, and .gcc_except_table sections
281 as KEEP.
282 * scripttempl/pe.sc: Likewise.
283 * ld.texinfo: Document that --gc-sections has experimental support
284 for COFF and PE targets.
285 * NEWS: Mention experimental support.
286
b6b3dd8f
AM
2872015-07-03 Alan Modra <amodra@gmail.com>
288
289 * Makefile.am (eelf32or1k.c, eelf32or1k_linux.c): Depend on ELF_DEPS.
290 * Makefile.in: Regenerate.
291
ee0c0c50
L
2922015-06-28 H.J. Lu <hongjiu.lu@intel.com>
293
294 * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option):
295 Replace COMPRESS_DEBUG_ZLIB with COMPRESS_DEBUG_GNU_ZLIB.
296
c742574f
L
2972015-06-26 H.J. Lu <hongjiu.lu@intel.com>
298
299 * emulparams/elf_iamcu.sh (COMPILE_IN): New.
300
a2a4d60d
NC
3012015-06-15 Nick Clifton <nickc@redhat.com>
302
303 PR ld/18466
304 * emultempl/pe.em (pe_find_data_imports): Generate an error if a
305 symbol name is too long to handle.
306 * emultempl/pep.em (pep_find_data_imports): Likewise.
307
3604cb1f
TG
3082015-06-12 Tristan Gingold <gingold@adacore.com>
309
310 * NEWS: Mention new option.
311 * lexsup.c (parse_args): Handle --print-memory-usage.
312 (ld_options): Add --print-memory-usage.
313 * ldmain.c (main): Call lang_print_memory_usage.
314 * ldlex.h (enum option_values): Add OPTION_PRINT_MEMORY_USAGE.
315 * ldlang.h: Add prototype of lang_print_memory_usage.
316 * ldlang.c (lang_print_memory_size, lang_print_memory_usage): New
317 functions.
318 * ld.texinfo (Options): Document --print-memory-usage.
319 * ld.h (args_type): Add print_memory_usage field.
320
1e1b2efc
NC
3212015-06-08 Nick Clifton <nickc@redhat.com>
322
323 * po/fr.po: Updated French Translation.
324
2f0c68f2
CM
3252015-05-28 Catherine Moore <clm@codesourcery.com>
326 Paul Brook <paul@codesourcery.com>
327
2f0c68f2
CM
328 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open):
329 Add Compact EH support.
330 * scripttempl/elf.sc: Handle .eh_frame_entry and .gnu_extab
331 sections.
332
68880f31
CLT
3332015-05-17 Chung-Lin Tang <cltang@codesourcery.com>
334
335 * configure.ac (AC_PROG_GREP): Check for grep program.
336 (elf_list_options,elf_shlib_list_options,elf_plt_unwind_list_options):
337 Enable ELF option printing for emulations containing
338 'TEMPLATE_NAME=elf32'.
339 * configure: Regenerate.
340
fd1c4238
NC
3412015-05-14 Nick Clifton <nickc@redhat.com>
342
343 * ld.texinfo (ASSERT): Describe the interaction with PROVIDEd
344 symbols.
345
5197d474
L
3462015-05-11 H.J. Lu <hongjiu.lu@intel.com>
347
348 * configure.tgt: Support i[3-7]86-*-elfiamcu target.
349
7e0a8112
L
3502015-05-11 H.J. Lu <hongjiu.lu@intel.com>
351
352 * Makefile.am (ALL_EMULATION_SOURCES): Add eelf_iamcu.c.
353 (eelf_iamcu.c): New.
354 * configure.tgt (targ_extra_emuls): Add elf_iamcu if elf_i386 is
355 enabled in BFD.
356 * Makefile.in: Regenerated.
357 * emulparams/elf_iamcu.sh: New file.
358
837a17b3
NC
3592015-05-05 Nick Clifton <nickc@redhat.com>
360
361 * emulparams/msp430elf.sh (TEMPLATE_NAME): Change to msp430.
362 * scripttempl/msp430.sc (.text): Add .lower.text and .either.text.
363 (.data): Add .lower.data and .either.data.
364 (.bss): Add .lower.bss and .either.bss.
365 (.rodata): Add .lower.rodata and .either.rodata.
366 * emultempl/msp430.em: New file. Implements a new orphan
367 placement algorithm that divides sections between lower and upper
368 memory regions.
369 * Makefile.am (emsp430elf.c): Depend upon msp430.em.
370 *emsp430X.c): Likewise.
371 * Makefine.in: Regenerate.
372
a13eab06
AS
3732015-04-28 Andreas Schwab <schwab@linux-m68k.org>
374
375 PR ld/18344
376 * ldlex.l (INPUTLIST): Increment lineno on newline.
377
44bd1acd
AM
3782015-04-24 Alan Modra <amodra@gmail.com>
379
380 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation):
381 Call gld${EMULATION_NAME}_map_segments regardless of need_laying_out.
382
08e2f2bb
DD
3832015-04-24 DJ Delorie <dj@redhat.com>
384
385 * Makefile.am (msp430): Rename primary emulation to msp430elf.
386 (emsp430.c): Rename to emsp430elf.c, update dependencies
387 (emsp430X.c): Update dependencies.
388 * Makefile.in: Likewise.
389 * configure.tgt (msp430-*-*): Rename primary emulation to msp430elf.
d9e88e90 390 * emulparams/msp430.sh: Rename to msp430elf.sh.
08e2f2bb
DD
391 * emulparams/msp430X.sh: Update.
392
f6fe1ccd
L
3932015-04-23 H.J. Lu <hongjiu.lu@intel.com>
394
395 PR binutils/18209
396 * ldfile.c (ldfile_try_open_bfd): Set is_linker_input to 1.
397
a27e685f
AM
3982015-04-23 Alan Modra <amodra@gmail.com>
399
400 * emulparams/elf64ppc.sh (GOT): Align.
401
0e5fabeb
AM
4022015-04-22 Alan Modra <amodra@gmail.com>
403
404 * ldexp.h (struct ldexp_control): Delete dataseg.min_base. Add
405 data_seg.relro_offset.
406 * ldexp.c (fold_binary <DATA_SEGMENT_ALIGN>): Don't set min_base.
407 (fold_binary <DATA_SEGMENT_RELRO_END>): Do set relro_offset.
408 * ldlang.c (lang_size_sections): Rewrite code adjusting relro
409 segment base to line up last section on page boundary.
410
ea556d25
L
4112015-04-15 H.J. Lu <hongjiu.lu@intel.com>
412
413 * NEWS: Mention
414 --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi].
415
0ce398f1
L
4162015-04-14 H.J. Lu <hongjiu.lu@intel.com>
417
418 * ld.texinfo: Document --compress-debug-sections=.
419 * ldmain.c (main): Set BFD_COMPRESS on output_bfd if
420 COMPRESS_DEBUG is set. Set BFD_COMPRESS_GABI on output_bfd
421 for COMPRESS_DEBUG_GABI_ZLIB.
422 * lexsup.c (elf_static_list_options): Add
423 --compress-debug-sections=.
424 * emultempl/elf32.em (OPTION_COMPRESS_DEBUG): New.
425 (xtra_long): Add "compress-debug-sections".
426 (gld${EMULATION_NAME}_handle_option): Handle
427 OPTION_COMPRESS_DEBUG.
428
889c2a67
L
4292015-04-14 H.J. Lu <hongjiu.lu@intel.com>
430
431 PR ld/pr17709
432 * ld.texinfo: Document "-z noextern-protected-data".
433 * ldmain.c (main): Initialize link_info.extern_protected_data
434 to -1.
435 * lexsup.c (elf_shlib_list_options): Add
436 "-z [no]extern-protected-data".
437 * emulparams/elf32_x86_64.sh: Source extern_protected_data.sh.
438 * emulparams/elf_i386.sh: Likewise.
439 * emulparams/elf_i386_be.sh: Likewise.
440 * emulparams/elf_i386_chaos.sh: Likewise.
441 * emulparams/elf_i386_ldso.sh: Likewise.
442 * emulparams/elf_i386_vxworks.sh: Likewise.
443 * emulparams/elf_k1om.sh: Likewise.
444 * emulparams/elf_l1om.sh: Likewise.
445 * emulparams/elf_x86_64.sh: Source extern_protected_data.sh.
446 (PARSE_AND_LIST_OPTIONS): Renamed to ...
447 (PARSE_AND_LIST_OPTIONS_BNDPLT): This.
448 (PARSE_AND_LIST_ARGS_CASE_Z): Renamed to ...
449 (PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT): This.
450 (PARSE_AND_LIST_OPTIONS): Append $PARSE_AND_LIST_OPTIONS_BNDPLT.
451 (PARSE_AND_LIST_ARGS_CASE_Z): Append
452 $PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT.
453 * emulparams/extern_protected_data.sh: New file.
454
fd5a1509
L
4552015-04-11 H.J. Lu <hongjiu.lu@intel.com>
456
457 * plugin.c (plugin_load_plugins): Removed an extra ';'.
458
080bb7bb
NC
4592015-04-10 Nick Clifton <nickc@redhat.com>
460
461 PR binutils/18198
462 * ld.texinfo (--be8): Add a note about the interaction of this
463 option with the assembler's -EB option.
464
8c3fff59
AM
4652015-04-10 Alan Modra <amodra@gmail.com>
466
467 * configure.ac: Set elf_list_options etc. in proper case.
468 * configure: Regenerate.
469
6166ed93
AM
4702015-04-10 Alan Modra <amodra@gmail.com>
471
472 PR ld/18223
473 * ldlang.c (lang_process): Add _init and _fini to gc_sym_list.
474
eba27bd7
L
4752015-04-09 H.J. Lu <hongjiu.lu@intel.com>
476
477 * emulparams/elf_x86_64.sh (BNDPLT): Removed.
478 (PARSE_AND_LIST_OPTIONS): New.
479 (PARSE_AND_LIST_ARGS_CASE_Z): Likewise.
480 * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Remove
481 BNDPLT check. Handle PARSE_AND_LIST_ARGS_CASE_Z.
482 (gld${EMULATION_NAME}_list_options): Remove BNDPLT check.
483
233723a4
NC
4842015-04-09 Nick Clifton <nickc@redhat.com>
485
486 * po/fr.po: Updated French translation.
487
82d8e420
L
4882015-04-08 H.J. Lu <hongjiu.lu@intel.com>
489
490 * configure.ac (elf_list_options): Set to TRUE for
491 --enable-targets=all.
492 (elf_shlib_list_options): Likewise.
493 (elf_plt_unwind_list_options): Likewise.
494 * configure: Regenerated.
495
31b94bbb
L
4962015-04-08 H.J. Lu <hongjiu.lu@intel.com>
497
498 * emulparams/elf32bmipn32-defs.sh: Skip empty EMULATION_NAME.
499
c58212ea
L
5002015-04-08 H.J. Lu <hongjiu.lu@intel.com>
501
502 * Makefile.am (ELF_CLFAGS): New.
503 (AM_CFLAGS): Add $(ELF_CLFAGS).
504 * configure.ac (elf_list_options): New. AC_SUBST.
505 (elf_shlib_list_options): Likewise.
506 (elf_plt_unwind_list_options): Likewise.
507 * lexsup.c (elf_shlib_list_options): New.
508 (elf_static_list_options): Likewise.
509 (elf_plt_unwind_list_options): Likewise.
510 (ld_list_options): Likewise.
511 (help): Call ld_list_options.
512 * Makefile.in: Regenerated.
513 * configure: Likewise.
514 * emulparams/plt_unwind.sh (PLT_UNWIND): New.
515 (PARSE_AND_LIST_OPTIONS): Removed.
516 * emultempl/elf32.em (gld_list_options): New.
517 (gld${EMULATION_NAME}_list_options): Define only if BNDPLT or
518 PARSE_AND_LIST_OPTIONS is defined.
519 (ld_${EMULATION_NAME}_emulation): Replace
520 gld${EMULATION_NAME}_list_options with ${gld_list_options.
521
0fad6e4b
AM
5222015-04-07 Alan Modra <amodra@gmail.com>
523
524 PR ld/18176
525 * ldlang.c (lang_size_sections): Cast shift expression.
526
d3e454b9
AM
5272015-04-07 Alan Modra <amodra@gmail.com>
528
529 * emultempl/ppc32elf.em: Handle --no-pic-fixup.
530 (params): Init new field.
531 (ppc_before_allocation): Enable relaxation for pic_fixup.
532
3ea60775
NC
5332015-04-07 Nick Clifton <nickc@redhat.com>
534
535 * ld.h (struct ld_config_type): Add new field: warn_orphan.
536 * ldlex.h (enum option_values): Add OPTION_WARN_ORPHAN and
537 OPTION_NO_WARN_ORPHAN.
538 * lexsup.c (ld_options): Add --warn-orphan and --no-warn-orphan.
539 (parse_args): Handle the new options.
540 * ldemul.c (ldemul_place_orphan): If requested, generate a warning
541 message when an orphan section is placed in the output file.
542 * ld.texinfo: Document the new option.
543 * NEWS: Mention the new feature.
544
15c7659f
AT
5452015-04-02 Andrew Turner <andrew@freebsd.org>
546
547 * Makefile.am: Add FreeBSD aarch64 files.
548 * Makefile.in: Regenerate.
549 * configure.tgt: Add aarch64-*-freebsd* target triple.
550 * emulparams/aarch64fbsd.sh: New file.
551 * emulparams/aarch64fbsdb.sh: New file.
552
a0bde398
L
5532015-04-01 H.J. Lu <hongjiu.lu@intel.com>
554
555 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Work
556 around a GCC uninitialized warning bug fixed in GCC 4.6.
557
4106101c
MS
5582015-04-01 Tejas Belagod <tejas.belagod@arm.com>
559
560 * emultempl/aarch64elf.em
561 (aarch64_elf_create_output_section_statements): Add parameter in
562 bfd_elf${ELFSIZE}_aarch64_set_options call.
563 (OPTION_FIX_ERRATUM_843419): Define.
564 (PARSE_AND_LIST_LONGOPTS): Add fix-cortex-a53-843419.
565 (PARSE_AND_LIST_ARGS_CASES): Add OPTION_FIX_ERRATUM_843419.
566
16c1c9d6
CG
5672015-04-01 Chen Gang <gang.chen.5i5j@gmail.com>
568
569 * emulparams/elf32_tic6x_le.sh: Skip OTHER_BSS_SECTIONS for
570 relocating operation.
571
6c1aca3e
AM
5722015-04-01 Alan Modra <amodra@gmail.com>
573
875b5b9d 574 PR ld/18176
6c1aca3e
AM
575 * ldlang.c (lang_size_sections): When alignment of sections
576 results in relro base adjustment being too large, don't go lower
577 than the initial value.
578 * ldexp.c (fold_binary <DATA_SEGMENT_RELRO_END>): Comment.
579 * scripttempl/elf.sc (DATA_SEGMENT_ALIGN): Omit SEGMENT_SIZE
580 alignment when SEGMENT_SIZE is the same as MAXPAGESIZE.
581
4a0bc59e
AM
5822015-04-01 Alan Modra <amodra@gmail.com>
583
584 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Don't
585 init ehdr_start_save.
586
42271ec5
AM
5872015-04-01 Alan Modra <amodra@gmail.com>
588
589 * Makefile.am (eelf32ppcvxworks.c): Depend on ppc32elf.em and
590 ldemul-list.h.
591 (eelf32lppc.c, eelf32lppclinux.c, eelf32lppcnto.c, eelf32lppcsim.c,
592 eelf32ppc.c, eelf32ppc_fbsd.c, eelf32ppclinux.c, eelf32ppcnto.c,
593 eelf32ppcsim.c): Rearrange deps for consistency.
594 * Makefile.in: Regenerate.
595
4e791d0f
ES
5962015-04-01 Ed Schouten <ed@nuxi.nl>
597
598 * emultempl/elf32.em (gld*_before_allocation): Zero-initialize
599 the ehdr_start_save variable.
600
6036f486
ES
6012015-03-31 Ed Schouten <ed@nuxi.nl>
602
603 * Makefile.am (ALL_64_EMULATION_SOURCES): Add
604 eelf_x86_64_cloudabi.c.
605 (eelf_x86_64_cloudabi.c): New.
606 * configure.tgt (targ_emul): Set to elf_x86_64_cloudabi for
607 x86_64-*-cloudabi*.
608 * Makefile.in: Regenerated.
609 * emulparams/elf_x86_64_cloudabi.sh: New file.
610
f24173eb
L
6112015-03-31 H.J. Lu <hongjiu.lu@intel.com>
612
613 * configure.ac (AM_ZLIB): Removed.
614 * Makefile.in: Regenerated.
615 * config.in: Likewise.
616 * configure: Likewise.
617
d9ced15d
MS
6182015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
619
620 * emultempl/aarch64elf.em (_aarch64_add_stub_section): Set section
621 alignment to 2.
622
499c37b5
MS
6232015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
624
625 * emultempl/aarch64elf.em
626 (elf${ELFSIZE}_aarch64_add_stub_section): Adjust layout.
627
b3862264
CG
6282015-03-18 Chen Gang <gang.chen.5i5j@gmail.com>
629
630 * ldmain.c (main): Use %F instead of %X for einfo.
631
daf220f0
AM
6322015-03-02 Alan Modra <amodra@gmail.com>
633
634 * ld.texinfo (Options <-z nocopyreloc>): Rewrite.
635
f0673d20
NC
6362015-02-27 Nick Clifton <nickc@redhat.com>
637
638 PR ld/17900
639 * ldlang.c (lang_set_flags): Allow exclamation mark to reverse the
640 sense of the following memory region attribute characters.
641
330b17b3
AM
6422015-02-27 Alan Modra <amodra@gmail.com>
643
644 * Makefile.am (ALL_EMULATION_SOURCES): Sort new h8300 entries.
645 (eh8300elf_linux.c, eh8300helf_linux.c, eh8300self_linux.c,
646 eh8300sxelf_linux.c): Do not invoke genscripts here.
647 * Makefile.in: Regenerate.
648
685080f2
NC
6492015-02-24 Nick Clifton <nickc@redhat.com>
650
651 * Makefile.am (ev850.c): Add dependency upon
652 $(srcdir)/emultempl/v850elf.em.
653 (ev850_rh850.c): Likewise.
654 * Makefile.in: Regenerate.
655 * emultempl/v850elf.em: New file.
656 * emulparams/v850.sh (EXTRA_EM_FILE): Define.
657 * emulparams/v850_rh850.sh (EXTRA_EM_FILE): Define.
658 * scripttempl/v850.sc: Add .note.renesas section.
659 * scripttempl/v850_rh850.sc: Likewise.
660
cb072816
SKS
6612015-02-24 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
662
663 * scripttempl/avr.sc: Add new user_signatures region. Define and
664 use symbols for all region lengths.
665 * scripttempl/avrtiny.sc: Define and use symbols for all region
666 lengths.
667
5518c738
YS
6682015-01-21 Yoshinori Sato <ysato@users.sourceforge.jp>
669
670 * Makefile.am: (ALL_EMULATION_SOURCES): Add new emulations.
671 * Makefile.in: Regenerate.
672 * configure.tgt: Add h8300-*-linux
673 * emulparams/h8300elf_linux.sh: Add new emulation.
674 * emulparams/h8300helf_linux.sh: Likewise.
675 * emulparams/h8300self_linux.sh: Likewise.
676 * emulparams/h8300sxelf_linux.sh: Likewise.
677
f971c12f
NC
6782015-02-23 Nick Clifton <nickc@redhat.com>
679
680 * lexsup.c (parse_args): Produce a more reasonable error message
681 when -ixxx or -rxxx is the last option on the linker command line.
682
f58926a6
L
6832015-02-14 H.J. Lu <hongjiu.lu@intel.com>
684
685 PR ld/17973
686 * testplug2.c (allsymbolsread_silent): New.
687 (set_register_hook): Handle allsymbolsreadsilent.
688 (onall_symbols_read): Skip a message if allsymbolsread_silent is
689 TRUE.
690
ce875075
AM
6912015-02-14 Alan Modra <amodra@gmail.com>
692
693 PR ld/17973
694 * ldlang.h (struct lang_input_statement_flags): Add lto_output.
695 * ldlang.c (lang_process): Don't set loading_lto_outputs.
696 * ldfile.c (ldfile_try_open_bfd): Transfer entry flags.lto_output
697 to bfd.
698 * plugin.c (add_input_file, add_input_library): Set flags.lto_output.
699
b0619670
L
7002015-02-13 H.J. Lu <hongjiu.lu@intel.com>
701
702 * NEWS: Mention support for LLVM plugin.
703
66bc8739
AM
7042015-02-13 Alan Modra <amodra@gmail.com>
705
706 * ld.texinfo (Options <--defsym>): Correct cross reference.
707
88b9e2eb
L
7082015-02-11 H.J. Lu <hongjiu.lu@intel.com>
709
710 * lexsup.c (ld_options): Add --[no-]map-whole-files for gold
711 option compatibility.
712
45e81354
L
7132015-02-11 H.J. Lu <hongjiu.lu@intel.com>
714
715 * plugin.c (message): Output "warning:" for LDPL_WARNING. Output
716 "error:" for LDPL_FATAL and LDPL_ERROR.
717 * testplug2.c (parse_option): Handle fatal, error and warning.
718
e3001fd9
L
7192015-02-11 H.J. Lu <hongjiu.lu@intel.com>
720
721 * testplug2.c (dump_tv_tag): Removed.
722 (onall_symbols_read): Return LDPS_ERR if the file descriptor isn't
723 closed.
724 * testplug3.c (dump_tv_tag): Removed.
725 (onclaim_file): Fix typo.
726
7275e869
L
7272015-02-11 H.J. Lu <hongjiu.lu@intel.com>
728
729 PR ld/17878
730 * Makefile.am (noinst_LTLIBRARIES): Add libldtestplug2.la and
731 libldtestplug3.la.
732 (libldtestplug2_la_SOURCES): New.
733 (libldtestplug2_la_CFLAGS): Likewise.
734 (libldtestplug2_la_LDFLAGS): Likewise.
735 (libldtestplug3_la_SOURCES): New.
736 (libldtestplug3_la_CFLAGS): Likewise.
737 (libldtestplug3_la_LDFLAGS): Likewise.
738 * Makefile.in: Regenerated.
739 * testplug2.c: New file.
740 * testplug3.c: Likewise.
741
b9dc5a87
L
7422015-02-11 H.J. Lu <hongjiu.lu@intel.com>
743
744 PR ld/17878
745 * plugin.c: Include ../bfd/plugin.h.
746 (plugin_get_ir_dummy_bfd): Call bfd_create with
747 link_info.output_bfd instead of srctemplate. Copy BFD info
748 from srctemplate only if it doesn't use BFD plugin target
749 vector.
750 (plugin_load_plugins): Call register_ld_plugin_object_p with
751 (plugin_object_p)
752 (plugin_maybe_claim): Renamed to ...
753 (plugin_object_p): This. Return dummy BFD target vector if
754 input is calimed by plugin library, otherwise return NULL.
755 Update plugin_format and plugin_dummy_bfd.
756 (plugin_maybe_claim): New. Use plugin_object_p.
757
d319a098
L
7582015-02-10 H.J. Lu <hongjiu.lu@intel.com>
759
760 * plugin.c (plugin_maybe_claim): Initialize use_mmap.
761
38604796
L
7622015-02-10 H.J. Lu <hongjiu.lu@intel.com>
763
764 * plugin.c (plugin_input_file_t): Add use_mmap.
765 (plugin_pagesize): New.
766 (get_view): Use plugin_pagesize. Set use_mmap if mmap is used.
767 (plugin_load_plugins): Initialize plugin_pagesize.
768 (plugin_maybe_claim): Unmap the buffer if plugin didn't claim the
769 file.
770
fe905789
L
7712015-02-10 H.J. Lu <hongjiu.lu@intel.com>
772
773 * plugin.c (get_view): Align offset passed to mmap.
774
1d5b29cf
L
7752015-02-08 H.J. Lu <hongjiu.lu@intel.com>
776
777 * ldfile.c (ldfile_try_open_bfd): Don't call bfd_check_format
778 if plugin isn't active or there is no thing more to claim.
779
e13419c4
L
7802015-02-08 H.J. Lu <hongjiu.lu@intel.com>
781
782 * plugin.c (plugin_maybe_claim): Check format against bfd_object
783 directly.
784
93843894
L
7852015-02-07 H.J. Lu <hongjiu.lu@intel.com>
786
787 * plugin.c (plugin_maybe_claim): Replace entry->the_bfd with
788 ibfd.
789
35a1e5f3
L
7902015-02-07 H.J. Lu <hongjiu.lu@intel.com>
791
792 * plugin.c: Include "libbfd.h".
793 (plugin_strdup): New.
794 (plugin_maybe_claim): Remove the argument of pointer to struct
795 ld_plugin_input_file. Open and handle input entry.
796 * plugin.h (plugin_maybe_claim): Updated.
797 * ldfile.c (ldfile_try_open_bfd): Call plugin_maybe_claim directly
798 without passing a pointer to struct ld_plugin_input_file.
799 * ldmain.c: Don't include "libbfd.h".
800 (add_archive_element): Call plugin_maybe_claim directly without
801 passing a pointer to struct ld_plugin_input_file.
802
8dfef1bd
L
8032015-02-06 H.J. Lu <hongjiu.lu@intel.com>
804
805 * ld.texinfo: Document -z text, -z notext and -z textoff.
806 * emultempl/elf32.em (gld${EMULATION_NAME}_list_options): Add
807 -z text, -z notext and -z textoff.
808
2aec968d
L
8092015-02-06 H.J. Lu <hongjiu.lu@intel.com>
810
811 * configure.ac: Add AC_FUNC_MMAP.
812 * config.in: Regenerated.
813 * configure: Likewise.
814 * plugin.c: Include <sys/mman.h>.
815 (MAP_FAILED): New. Defined if not defined.
816 (PROT_READ): Likewise.
817 (MAP_PRIVATE): Likewise.
818 (view_buffer_t): New.
819 (plugin_input_file_t): Add view_buffer.
820 (get_view): Try mmap and cache the view buffer.
821 (plugin_maybe_claim): Initialize view_buffer.
822
119d62ff
L
8232015-02-05 H.J. Lu <hongjiu.lu@intel.com>
824
825 * plugin.c (release_input_file): Set fd to -1 after closing it.
826 (plugin_maybe_claim): Close fd only if fd != -1.
827
f4b78d18
L
8282015-02-05 H.J. Lu <hongjiu.lu@intel.com>
829
830 PR ld/17878
831 * plugin.c: Include <errno.h>.
832 (errno): New. Declare if needed.
833 (plugin_input_file_t): New.
834 (get_input_file): Implemented.
835 (get_view): Likewise.
836 (release_input_file): Likewise.
837 (add_symbols): Updated.
838 (get_symbols): Likewise.
839 (plugin_maybe_claim): Allocate a plugin_input_file_t. Close fd
840 only for a bfd_object input.
841
6c2573b7
AM
8422015-02-02 Alan Modra <amodra@gmail.com>
843
844 * emultempl/ppc64elf.em (toc_section_name): New var.
845 (ppc_after_open): Set it.
846 (ppc_before_allocation): Use it.
847 (gld${EMULATION_NAME}_after_allocation): Here too.
848
716db898
L
8492015-01-29 H.J. Lu <hongjiu.lu@intel.com>
850
851 * ldfile.c (ldfile_try_open_bfd): Replace plugin_active_plugins_p()
852 with link_info.lto_plugin_active.
853 * ldlang.c (lang_process): Likewise.
854 * ldmain.c (add_archive_element): Likewise.
855 * plugin.c (plugin_active_plugins_p): Removed.
856 * plugin.h (plugin_active_plugins_p): Likewise.
857
37a3056a
L
8582015-01-28 H.J. Lu <hongjiu.lu@intel.com>
859
860 * plugin.h (plugin_get_ir_dummy_bfd): Removed. Move comments to
861 ...
862 * plugin.c (plugin_get_ir_dummy_bfd): Here. Make it static.
863
15f7a26b
L
8642015-01-28 H.J. Lu <hongjiu.lu@intel.com>
865
866 PR ld/17878
867 * plugin.c (tv_header_tags(): Add LDPT_GET_VIEW.
868 (get_view): New function.
869 (set_tv_header): Handle LDPT_GET_VIEW.
870 * testplug.c (tag_names): Add LDPT_GET_VIEW.
871 (tv_get_view): New.
872 (dump_tv_tag): Handle LDPT_GET_VIEW.
873 (parse_tv_tag): Likewise.
874
dbd1e97e
AM
8752015-01-28 Alan Modra <amodra@gmail.com>
876
877 * emulparams/elf64ppc.sh (INITIAL_READWRITE_SECTIONS): Define.
878 * emultempl/ppc64elf.em (params): Init new field.
879 (ppc_after_open): New function.
880 (LDEMUL_AFTER_OPEN): Define.
881 * ldlang.c (lang_final): Whitespace fix.
882
3f8107ab
AM
8832015-01-28 James Bowman <james.bowman@ftdichip.com>
884
885 * Makefile.am: Add FT32 files.
886 * configure.tgt: Handle FT32 target.
887 * emulparams/elf32ft32.sh: New file.
888 * scripttempl/ft32.sc: New file.
889 * Makefile.in: Regenerate.
890
cc9ad334
SKS
8912015-01-28 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
892
893 PR 4643
894 * ldexp.c (fold_name): Fold LENGTH only after
895 lang_first_phase_enum.
896 * ldgram.y (memory_spec): Don't evaluate ORIGIN and LENGTH
897 rightaway.
898 * ldlang.h (struct memory_region_struct): Add origin_exp and
899 length_exp fields.
900 * ldlang.c (lang_do_memory_regions): New.
901 (lang_memory_region_lookup): Initialize origin_exp and
902 length_exp fields.
903 (lang_process): Call lang_do_memory_regions.
904
c05b575a
AB
9052015-01-20 Andrew Burgess <andrew.burgess@embecosm.com>
906
907 * ldlang.c (print_assignment): Only evaluate the expression for a
908 PROVIDE'd assignment when the destination is being defined.
909 Display a special message for PROVIDE'd symbols that are not being
910 provided.
911
5ad18f16
AM
9122015-01-20 Alan Modra <amodra@gmail.com>
913
914 * emulparams/elf64ppc.sh (OTHER_SDATA_SECTIONS): Use in place of..
915 (OTHER_BSS_SYMBOLS): ..this.
916 (OTHER_PLT_RELOC_SECTIONS): Don't define.
917 (OTHER_GOT_RELOC_SECTIONS): Add rela.toc1 and rela.tocbss.
918 (OTHER_READWRITE_SECTIONS): Don't define. Move .toc1 to..
919 (OTHER_RELRO_SECTIONS_2): ..here.
920 * scripttempl/elf.sc: Move SBSS too when DATA_SDATA.
921
23283c1b
AM
9222015-01-20 Alan Modra <amodra@gmail.com>
923
924 * emulparams/elf64ppc.sh (BSS_PLT): Don't define.
925 (OTHER_READWRITE_SECTIONS): Move .branch_lt to..
926 (OTHER_RELRO_SECTIONS_2): ..here.
927 (DATA_GOT, SEPARATE_GOTPLT, DATA_SDATA, DATA_PLT,
928 PLT_BEFORE_GOT): Define.
929 * scripttempl/elf.sc: Handle DATA_SDATA and DATA_GOT/DATA_PLT/
930 PLT_BEFORE_GOT combination.
931 (DATA_GOT, SDATA_GOT): Don't define if either is already defined.
932
3e2b0f31
AM
9332015-01-20 Alan Modra <amodra@gmail.com>
934
935 * emulparams/elf64ppc.sh (OTHER_READWRITE_SECTIONS): Move .opd to..
936 (OTHER_RELRO_SECTIONS_2): ..here, new define.
937 * scripttempl/elf.sc: Add OTHER_RELRO_SECTIONS_2.
938
c4621b33
AM
9392015-01-19 Alan Modra <amodra@gmail.com>
940
3e2aa5bb 941 PR ld/17615
c4621b33
AM
942 * ldlang.c (lang_process): Run lang_common before lang_gc_sections.
943
52db4ec2
JW
9442015-01-14 Jiong Wang <jiong.wang@arm.com>
945
946 * ld-arm/elf32-reject.s: New testcase.
947 * ld-arm/elf32-reject.d: Likewise.
948 * ld-arm/elf32-reject-pie.s: Likewise.
949 * ld-arm/elf32-reject-pie.d: Likewise.
950 * ld-arm/arm-elf.exp: Run new testcases.
951 * ld-arm/ifunc-7.s: Delete f2/f4 test items.
952 * ld-arm/ifunc-7.rd: Likewise.
953 * ld-arm/ifunc-7.gd: Likewise.
954 * ld-arm/ifunc-7.dd: Likewise.
955 * ld-arm/ifunc-8.s: Likewise.
956 * ld-arm/ifunc-8.rd: Likewise.
957 * ld-arm/ifunc-8.gd: Likewise.
958 * ld-arm/ifunc-8.dd: Likewise.
959
efd321f9
AM
9602015-01-01 Alan Modra <amodra@gmail.com>
961
962 * ldver.c (ldversion): Just print current year.
963
b90efa5b 9642015-01-01 Alan Modra <amodra@gmail.com>
ca0694ad 965
b90efa5b 966 Update year range in copyright notice of all files.
ca0694ad 967
b90efa5b 968For older changes see ChangeLog-2014
252b5132 969\f
b90efa5b 970Copyright (C) 2015 Free Software Foundation, Inc.
752937aa
NC
971
972Copying and distribution of this file, with or without modification,
973are permitted in any medium without royalty provided the copyright
974notice and this notice are preserved.
975
252b5132
RH
976Local Variables:
977mode: change-log
978left-margin: 8
979fill-column: 74
980version-control: never
981End: