7ae428abdd71bffe39a89f492d904a49ffa51f78
[external/binutils.git] / ld / ChangeLog
1 2017-01-31  Nick Clifton  <nickc@redhat.com>
2
3         * ldmain.c (add_archive_element): Eliminate string buffer.
4         * ldlang.c (lang_print_asneeded): Likewise.
5
6 2017-01-30  Maciej W. Rozycki  <macro@imgtec.com>
7
8         * emultempl/mipself.em (ignore_branch_isa): New variable.
9         (mips_create_output_section_statements): Rename
10         `_bfd_mips_elf_insn32' called to `_bfd_mips_elf_linker_flags',
11         add `ignore_branch_isa' argument.
12         (PARSE_AND_LIST_PROLOGUE): Add OPTION_IGNORE_BRANCH_ISA and
13         OPTION_NO_IGNORE_BRANCH_ISA enum values.
14         (PARSE_AND_LIST_LONGOPTS): Add "ignore-branch-isa" and
15         "no-ignore-branch-isa" options.
16         (PARSE_AND_LIST_OPTIONS): Add `--ignore-branch-isa' and
17         `--no-ignore-branch-isa'.
18         (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_IGNORE_BRANCH_ISA and
19         OPTION_NO_IGNORE_BRANCH_ISA.
20
21         * ld.texinfo (Options specific to MIPS targets): Add
22         `--ignore-branch-isa' and `--no-ignore-branch-isa' options.
23         (ld and the MIPS family): Likewise.
24
25         * testsuite/ld-mips-elf/bal-jalx-pic-ignore.d: New test.
26         * testsuite/ld-mips-elf/bal-jalx-pic-ignore-n32.d: New test.
27         * testsuite/ld-mips-elf/bal-jalx-pic-ignore-n64.d: New test.
28         * testsuite/ld-mips-elf/unaligned-branch-ignore-2.d: New test.
29         * testsuite/ld-mips-elf/unaligned-branch-ignore-r6-1: New test.
30         * testsuite/ld-mips-elf/unaligned-branch-ignore-mips16: New
31         test.
32         * testsuite/ld-mips-elf/unaligned-branch-ignore-micromips: New
33         test.
34         * testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
35
36 2017-01-29  Hans-Peter Nilsson  <hp@axis.com>
37
38         PR binutils/19935
39         Fix long-standing buglet and fallout from now-default initfini-array.
40         * emulparams/criself.sh (USER_LABEL_PREFIX): Define.
41         (OTHER_END_SYMBOLS, ENTRY): Delete now-redundant defines.
42
43 2017-01-27  Jiong Wang  <jiong.wang@arm.com>
44
45         * testsuite/ld-elf/elf.exp ("pr20995-2", "Build pr20995-2.so"): XFAIL on
46         arm*-*-eabi*.
47
48 2017-01-27  Dilyan Palauzov  <dilyan.palauzov@aegee.org>
49             Nick Clifton  <nickc@redhat.com>
50
51         PR 20343
52         * ld.texinfo (Options): Extend documentation of the --plugin
53         option.  Include a description of where the plugins should be
54         located.
55
56 2017-01-27  Nick Clifton  <nickc@redhat.com>
57
58         * po/sr.po: New Serbian translation.
59         * configure.ac (ALL_LINGUAS): Add sr.
60         * configure: Regenerate.
61
62 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
63
64         * configure.tgt (arm-*-rtems*): Move to (arm*-*-eabi*).
65         (bfin-*-rtems*): Move to (bfin*-*-elf*).
66         (i[3-7]86-*-rtems*): Move to (i[3-7]86*-*-elf*).
67         (m68*-*-rtems*): Move to (m68*-*-elf*).
68         (mips*-*-rtems*): Move to (mips*-*-elf*).
69         (or1k*-*-rtems*): Move to (or1k*-*-elf*).
70         (powerpc*-*-rtems*): Move to (powerpc*-*-elf*).
71         (sparc*-*-rtems*): Move to (sparc*-*-elf*).
72         (sparc64*-*-rtems*): Move to (sparc64*-*-elf*).
73
74 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
75
76         * configure.tgt (h8300-*-rtemscoff*): Remove.
77         (i960-*-rtems*): Likewise.
78         (m68*-*-rtemscoff*): Likewise.
79         (sh-*-rtemscoff*): Likewise.
80
81 2017-01-24  Maciej W. Rozycki  <macro@imgtec.com>
82
83         * emultempl/solaris2.em (elf_solaris2_before_allocation): Do not
84         add implicit version nodes if an anonymous version tag is being
85         used.
86
87 2017-01-24  Jiong Wang  <jiong.wang@arm.com>
88
89         * testsuite/ld-plugin/lto.exp (lto_link_elf_tests): Move "Compile 7",
90         "Compile 8a", "Compile 8b"...
91         (lto_compile_elf_tests): ...to here.  Always run these tests.
92         (lto_run_elf_tests): Move "LTO 7"...
93         (lto_run_elf_shared_tests): ...to here.  Restrict these tests on
94         environment where share library is supported.
95
96 2017-01-24  Alan Modra  <amodra@gmail.com>
97
98         * testsuite/ld-powerpc/tlsexe.r: Update for fewer dynamic relocs
99         and symbols.
100         * testsuite/ld-powerpc/tlsexe.d: Likewise.
101         * testsuite/ld-powerpc/tlsexe.g: Likewise.
102
103 2017-01-23  Yury Norov  <ynorov@caviumnetworks.com>
104
105         * testsuite/ld-aarch64/aarch64-elf.exp: Run new tests.
106         * testsuite/ld-aarch64/tls-desc-ie-ilp32.d: New test.
107         * testsuite/ld-aarch64/tls-relax-all-ilp32.d: New test.
108         * testsuite/ld-aarch64/tls-relax-gd-le-ilp32.d: New test.
109         * testsuite/ld-aarch64/tls-relax-gdesc-le-2-ilp32.d: New test.
110         * testsuite/ld-aarch64/tls-relax-gdesc-le-ilp32.d: New test.
111         * testsuite/ld-aarch64/tls-relax-ie-le-2-ilp32.d: New test.
112         * testsuite/ld-aarch64/tls-relax-ie-le-3-ilp32.d: New test.
113         * testsuite/ld-aarch64/tls-relax-ie-le-ilp32.d: New test.
114         * testsuite/ld-aarch64/tls-tiny-desc-ie-ilp32.d: New test.
115         * testsuite/ld-aarch64/tls-tiny-desc-le-ilp32.d: New test.
116         * testsuite/ld-aarch64/tls-tiny-gd-ie-ilp32.d: New test.
117         * testsuite/ld-aarch64/tls-tiny-gd-le-ilp32.d: New test.
118
119 2017-01-23  Nick Clifton  <nickc@redhat.com>
120
121         * po/ga.po: Updated Irish translation.
122
123 2017-01-23  Maciej W. Rozycki  <macro@imgtec.com>
124
125         PR ld/20828
126         * testsuite/ld-elf/pr20828.ld: Add `.plt'.
127
128 2017-01-23  Maciej W. Rozycki  <macro@imgtec.com>
129
130         PR ld/20828
131         * testsuite/ld-elf/pr20828.ld: Rename `_fdata' and `_edata' to
132         `fdata' and `edata' respectively.
133         * testsuite/ld-elf/pr20828.ver: Adjust accordingly.
134         * testsuite/ld-elf/pr20828-a.sd: Likewise.
135         * testsuite/ld-elf/pr20828-b.sd: Likewise.
136         * testsuite/ld-elf/pr20828-c.sd: Likewise.
137
138 2017-01-23  Maciej W. Rozycki  <macro@imgtec.com>
139
140         PR ld/20828
141         * testsuite/ld-elf/pr20828-1.sd: Remove test.
142         * testsuite/ld-elf/pr20828-a.sd: New test.
143         * testsuite/ld-elf/pr20828-2a.sd: Rename test to...
144         * testsuite/ld-elf/pr20828-b.sd: ... this.
145         * testsuite/ld-elf/pr20828-2b.sd: Rename test to...
146         * testsuite/ld-elf/pr20828-c.sd: ... this.
147         * testsuite/ld-elf/shared.exp: Adjust accordingly.
148
149 2017-01-23  Jiong Wang  <jiong.wang@arm.com>
150
151         * testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Append
152         board_cflags as gcc is used as linker driver.
153         * testsuite/ld-unique/unique.exp: Likewise
154
155 2017-01-20  Jiong Wang  <jiong.wang@arm.com>
156
157         * testsuite/ld-aarch64/aarch64-elf.exp (aarch64elflinktests): New tests.
158         * testsuite/ld-aarch64/func-in-so.s: New test source file.
159         * testsuite/ld-aarch64/func-sym-hash-opt.s: Likewise.
160         * testsuite/ld-aarch64/func-sym-hash-opt.d: New expected test result.
161
162 2017-01-20  Andrew Burgess  <andrew.burgess@embecosm.com>
163
164         * testsuite/ld-elf/eh-frame-hdr.d: Update expected results.
165
166 2017-01-18  Maciej W. Rozycki  <macro@imgtec.com>
167
168         PR ld/20995
169         * testsuite/ld-elf/elf.exp: Set GAS flags correctly for the
170         `mips*-*-*' target and `pr20995' and `pr20995-2' tests.
171
172 2017-01-18  Maciej W. Rozycki  <macro@imgtec.com>
173
174         PR ld/20828
175         * testsuite/ld-elf/pr20828-1.sd: New test.
176         * testsuite/ld-elf/pr20828-2a.sd: New test.
177         * testsuite/ld-elf/pr20828-2b.sd: New test.
178         * testsuite/ld-elf/pr20828.ld: New test linker script.
179         * testsuite/ld-elf/pr20828.ver: New test version script.
180         * testsuite/ld-elf/pr20828.s: New test source.
181         * testsuite/ld-elf/shared.exp: Run the new test.
182
183 2017-01-18  Maciej W. Rozycki  <macro@imgtec.com>
184
185         PR gas/20649
186         * testsuite/ld-mips-elf/mips-elf.exp: Add PIC comdat GOT16/LO16
187         relocation pairing link test.
188
189 2017-01-17  Dimitar Dimitrov  <dimitar@dinux.eu>
190
191         * testsuite/ld-unique/unique.exp: Filter shared lib cases in
192         uniqeue.exp, as not all targets have such support.
193
194 2017-01-16  Nick Clifton  <nickc@redhat.com>
195
196         * po/sv.po: Updated Swedish translation.
197
198 2017-01-12  H.J. Lu  <hongjiu.lu@intel.com>
199
200         PR ld/21038
201         * testsuite/ld-x86-64/pr21038b.d: Updated.
202         * testsuite/ld-x86-64/pr21038c.d: New file.
203         * testsuite/ld-x86-64/pr21038c.s: Likewise.
204         * testsuite/ld-x86-64/x86-64.exp: Run pr21038c.
205
206 2017-01-11  H.J. Lu  <hongjiu.lu@intel.com>
207
208         PR ld/21038
209         * testsuite/ld-x86-64/pr21038a.d: New file.
210         * testsuite/ld-x86-64/pr21038a.s: Likewise.
211         * testsuite/ld-x86-64/pr21038b.d: Likewise.
212         * testsuite/ld-x86-64/pr21038b.s: Likewise.
213         * testsuite/ld-x86-64/x86-64.exp: Run pr21038a and pr21038b.
214
215 2017-01-11  Jeremy Soller  <jackpot51@gmail.com>
216
217         * configure.tgt: Add entries for x86-redox and x86_64-redox.
218
219 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
220
221         * testsuite/ld-x86-64/pr20830b.d: Updated.
222
223 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
224
225         * emulparams/elf32_x86_64.sh (TINY_READONLY_SECTION): New.
226         * testsuite/ld-x86-64/pr20830.d: Renamed to ...
227         * testsuite/ld-x86-64/pr20830a.d: This.  Updated.
228         * testsuite/ld-x86-64/pr20830b.d: New file.
229         * testsuite/ld-x86-64/x86-64.exp: Rename pr20830 to pr20830a.
230         Run pr20830b.
231
232 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
233
234         PR ld/20830
235         * testsuite/ld-i386/i386.exp: Run pr20830.
236         * testsuite/ld-x86-64/x86-64.exp: Likewise.
237         * testsuite/ld-i386/pr20830.d: New file.
238         * testsuite/ld-i386/pr20830.s: Likewise.
239         * testsuite/ld-x86-64/pr20830.d: Likewise.
240         * testsuite/ld-x86-64/pr20830.s: Likewise.
241
242 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
243
244         * testsuite/ld-i386/i386.exp: Pass -Wl,-R,tmpdir and
245         -Wl,--as-needed to $CC.
246         * testsuite/ld-i386/tls.exp: Likewise.
247
248 2017-01-10  Nick Clifton  <nickc@redhat.com>
249
250         * po/sv.po: Updated Swedish translation.
251
252 2016-12-09  Graham Markall  <graham.markall@embecosm.com>
253             Andrew Burgess  <andrew.burgess@embecosm.com>
254
255         * Makefile.am: Add earclinux_nps.c target and add to
256         ALL_EMULATION_SOURCES.
257         * Makefile.in: Likewise, regenerated.
258         * configure.tgt: Add arclinux_nps as an extra emulation for
259         arc*-*-elf* and arc*-*-linux*.
260         * emulparams/arc-nps.sh: New file.
261         * emulparams/arclinux_nps.sh: New file.
262         * testsuite/ld-arc/arclinux-nps.d,
263         * testsuite/ld-arc/arclinux-nps.s: New test.
264
265 2017-01-04  Dilan Palauzov  <dilyan.palauzov@aegee.org>
266
267         PR 20958
268         * ldlex.l (option): Add noyywrap
269         (yywrap): Delete.
270         * ldlex.h (yywrap): Delete prototype.
271
272 2017-01-04  Alan Modra  <amodra@gmail.com>
273
274         * testsuite/ld-elf/audit.exp: Check for shared lib support.
275         * testsuite/ld-elf/compress.exp: Likewise.
276         * testsuite/ld-elf/dwarf.exp: Likewise.
277         * testsuite/ld-elf/shared.exp: Likewise.
278         * testsuite/ld-elf/wrap.exp: Likewise.
279         * testsuite/ld-ifunc/ifunc.exp: Likewise.
280         * testsuite/ld-plugin/lto.exp: Check $CXX exists.
281
282 2017-01-03  Alan Modra  <amodra@gmail.com>
283
284         * testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Do not
285         allow test to continue after compilation errors.
286         (run_cc_link_tests): Likewise.
287
288 2017-01-03  Dimitar Dimitrov  <dimitar@dinux.eu>
289
290         * Makefile.am (ALL_EMULATION_SOURCES): Add epruelf.c.
291         (epruelf.c): Remove unneeded dependencies.
292         * Makefile.in: Regenerate
293
294 2017-01-03  Alan Modra  <amodra@gmail.com>
295
296         * testsuite/ld-elf/shared.exp: Add -rpath-link and -no-as-needed
297         to various tests.
298         * testsuite/ld-elfweak/elfweak.exp: Likewise.
299         * testsuite/ld-elfvers/vers.exp (vers19): Fix -rpath-link option.
300
301 2017-01-03  Alan Modra  <amodra@gmail.com>
302
303         * testsuite/ld-elf/elf.exp: Check that $CC exists before C tests.
304         * testsuite/ld-pie/pie.exp: Likewise.
305         * testsuite/ld-plugin/lto.exp: Likewise.
306
307 2017-01-02  Alan Modra  <amodra@gmail.com>
308
309         * Makefile.am (bootstrap): Delete rule.
310         (ld-partial, ld1, ld1-full, ld2, ld3): Likewise.
311         (HOSTING_CRT0, HOSTING_SCRT0): Don't define.
312         (HOSTING_LIBS, HOSTING_SLIBS, HOSTING_EMU): Likewise.
313         * configure.ac (HOSTING_CRT0, HOSTING_SCRT0): Don't define.
314         (HOSTING_LIBS, HOSTING_SLIBS): Likewise.
315         * configure.host (HOSTING_CRT0, HOSTING_LIBS): Don't define.
316         * Makefile.in: Regenerate.
317         * configure: Regenerate.
318         * testsuite/config/default.exp (get_link_files): Delete.
319         (HOSTING_CRT0, HOSTING_SCRT0, HOSTING_LIBS, HOSTING_SLIBS): Don't
320         define.
321         (ld_simple_link): Delete.
322         * testsuite/lib/ld-lib.exp (default_ld_link): Delete
323         (default_ld_simple_link): Rename to default_ld_link.
324         (ld_simple_link_defsyms): Rename to ld_link_defsyms.
325         (run_ld_link_tests): Use ld_link, not ld_simple_link.
326         (run_cc_link_tests): Likewise.
327         (run_ld_link_exec_tests): Use $CC or $CXX to link, not $ld.
328         Don't run exe when not native, and return unsupported.
329         * testsuite/ld-bootstrap/bootstrap.exp: Create gccld1 etc. dirs.
330         Link ld1 etc. using $CC.
331         * testsuite/ld-cdtest/cdtest.exp: Link cdtest using $CC.
332         * testsuite/ld-checks/checks.exp: Use ld_link, not ld_simple_link.
333         * testsuite/ld-cygwin/exe-export.exp: Likewise.
334         * testsuite/ld-elf/binutils.exp: Likewise.
335         * testsuite/ld-elf/eh-group.exp: Likewise.
336         * testsuite/ld-elf/exclude.exp: Likewise.
337         * testsuite/ld-elf/frame.exp: Likewise.
338         * testsuite/ld-elf/sec-to-seg.exp: Likewise.
339         * testsuite/ld-elf/tls_common.exp: Likewise.
340         * testsuite/ld-elfcomm/elfcomm.exp: Likewise.
341         * testsuite/ld-fastcall/fastcall.exp: Likewise.
342         * testsuite/ld-gc/gc.exp: Likewise.
343         * testsuite/ld-ifunc/binutils.exp: Likewise.
344         * testsuite/ld-mep/mep.exp: Likewise.
345         * testsuite/ld-mips-elf/mips-elf-flags.exp: Likewise.
346         * testsuite/ld-mn10300/mn10300.exp: Likewise.
347         * testsuite/ld-nios2/nios2.exp: Likewise.
348         * testsuite/ld-pe/pe-compile.exp: Likewise.
349         * testsuite/ld-pe/pe-run.exp: Likewise.
350         * testsuite/ld-pe/pe-run2.exp: Likewise.
351         * testsuite/ld-plugin/plugin.exp: Likewise.
352         * testsuite/ld-scripts/align.exp: Likewise.
353         * testsuite/ld-scripts/alignof.exp: Likewise.
354         * testsuite/ld-scripts/assert.exp: Likewise.
355         * testsuite/ld-scripts/defined.exp: Likewise.
356         * testsuite/ld-scripts/extern.exp: Likewise.
357         * testsuite/ld-scripts/log2.exp: Likewise.
358         * testsuite/ld-scripts/map-address.exp: Likewise.
359         * testsuite/ld-scripts/phdrs.exp: Likewise.
360         * testsuite/ld-scripts/phdrs2.exp: Likewise.
361         * testsuite/ld-scripts/script.exp: Likewise.
362         * testsuite/ld-scripts/section-flags.exp: Likewise.
363         * testsuite/ld-scripts/sizeof.exp: Likewise.
364         * testsuite/ld-scripts/sysroot-prefix.exp: Likewise.
365         * testsuite/ld-scripts/weak.exp: Likewise.
366         * testsuite/ld-selective/selective.exp: Likewise.
367         * testsuite/ld-sh/sh.exp: Likewise.
368         * testsuite/ld-sh/sh64/relax.exp: Likewise.
369         * testsuite/ld-sh/sh64/relfail.exp: Likewise.
370         * testsuite/ld-srec/srec.exp: Likewise.
371         * testsuite/ld-tic6x/tic6x.exp: Likewise.
372         * testsuite/ld-undefined/weak-undef.exp: Likewise.
373         * testsuite/ld-versados/versados.exp: Likewise.
374         * testsuite/ld-x86-64/dwarfreloc.exp: Likewise.
375         * testsuite/ld-xtensa/coalesce.exp: Likewise.
376         * testsuite/ld-xtensa/diff_overflow.exp: Likewise.
377         * testsuite/ld-xtensa/lcall.exp: Likewise.
378         * testsuite/ld-elf/audit.exp: Run non-native too.
379         * testsuite/ld-elf/compress.exp: Likewise.  Replace ld options with
380         gcc -Wl, options.
381         * testsuite/ld-elf/dwarf.exp: Run non-native too.  Use ld_link,
382         not ld_simple_link.  Add -Wl,--no-as-needed to some tests.
383         * testsuite/ld-elf/elf.exp: Run non-native too.  Formatting.
384         * testsuite/ld-elf/indirect.exp: Run non-native too.  Add
385         -Wl,--no-as-needed to most tests.
386         * testsuite/ld-elf/shared.exp: Run non-native too.  Use braces
387         to simplify quoting.  Set run_tests using [list] rather than
388         brace assignment to expand $extralibs.  Add -Wl,--no-as-needed
389         to many test.  Prefix ld options with -Wl,.
390         (mix_pic_and_non_pic): Don't run exe if not native.
391         * testsuite/ld-elf/wrap.exp: Run non-native too.  Add
392         -Wl,--no-as-needed and prefix ld options with -Wl,.
393         * testsuite/ld-elfvers/vers.exp: Run non-native too.  Use ld_link,
394         not ld_simple_link.
395         * testsuite/ld-elfvsb/elfvsb.exp: Likewise.
396         (visibility_test): Don't run exe if not native.
397         * testsuite/ld-elfweak/elfweak.exp: Run non-native too.  Use ld_link,
398         not ld_simple_link.
399         (build_exec): Don't run exe if not native.
400         * testsuite/ld-ifunc/ifunc.exp: Run non-native too.  Use ld_link,
401         not ld_simple_link.  Link using $CC.  Add -Wl,--no-as-needed
402         to some tests and prefix ld options with -Wl,.  Expect GNU
403         for hppa-linux even when no ifuncs.  Delete cleanup.
404         * testsuite/ld-pie/pie.exp: Run non-native too.
405         * testsuite/ld-plugin/lto.exp: Likewise.
406         * testsuite/ld-shared/shared.exp: Likewise.  Use ld_link,
407         not ld_simple_link.
408         (shared_test): Don't run exe if not native.
409         * testsuite/ld-size/size.exp: Run non-native too.  Add
410         -Wl,--no-as-needed to some tests.  Prefix ld options with -Wl,.
411         * testsuite/ld-unique/unique.exp: Run non-native too.  Use ld_link,
412         not ld_simple_link.  Link using $CC.  Add -Wl,--no-as-needed
413         to some tests and prefix ld options with -Wl,.  Expect GNU
414         for hppa-linux even when no unique syms.  Delete cleanup.
415         * testsuite/ld-x86-64/tls.exp: Add -Wl,--no-as-needed to some
416         tests and prefix ld options with -Wl,.
417         * testsuite/ld-x86-64/x86-64.exp: Use ld_link, not ld_simple_link.
418         Add -Wl,--no-as-needed to some tests.  Prefix ld options with -Wl,.
419
420 2017-01-02  Alan Modra  <amodra@gmail.com>
421
422         * emulparams/elf32metag.sh (COMMONPAGESIZE): Define.
423
424 2017-01-02  Alan Modra  <amodra@gmail.com>
425
426         PR ld/21000
427         * emulparams/hppalinux.sh (DATA_ADDR, SHLIB_DATA_ADDR): Don't define.
428         (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END, DATA_SEGMENT_RELRO_END): Define.
429         * scripttempl/elf.sc: Don't define the above if DATA_SEGMENT_ALIGN
430         is already defined.
431
432 2017-01-02  Alan Modra  <amodra@gmail.com>
433
434         Update year range in copyright notice of all files.
435
436 For older changes see ChangeLog-2016
437 \f
438 Copyright (C) 2017 Free Software Foundation, Inc.
439
440 Copying and distribution of this file, with or without modification,
441 are permitted in any medium without royalty provided the copyright
442 notice and this notice are preserved.
443
444 Local Variables:
445 mode: change-log
446 left-margin: 8
447 fill-column: 74
448 version-control: never
449 End: