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
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
|
2008-08-21 Richard Henderson <rth@redhat.com>
* readelf.c (is_32bit_pcrel_reloc): Fix hppa entry.
(is_64bit_pcrel_reloc): New.
(debug_apply_relocations): Use it. Handle hppa pcrel bias.
2008-08-15 Alan Modra <amodra@bigpond.net.au>
PR 6526
* configure.in: Invoke AC_USE_SYSTEM_EXTENSIONS.
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* config.in: Regenerate.
* configure: Regenerate.
* doc/Makefile.in: Regenerate.
2008-08-09 Alan Modra <amodra@bigpond.net.au>
PR 6615
* rename.c (smart_rename): Punctuate error messages.
2008-08-08 Richard Sandiford <rdsandiford@googlemail.com>
Daniel Jacobowitz <dan@codesourcery.com>
Catherine Moore <clm@codesourcery.com>
Mark Shinwell <shinwell@codesourcery.com>
* readelf.c (get_mips_symbol_other): Handle STO_MIPS_PLT and
STO_MIPS_PIC.
(slurp_rela_relocs, slurp_rel_relocs): Handle MIPS ELF64 here.
(dump_relocations, debug_apply_relocations): Don't handle it here.
(get_mips_dynamic_type): Handle DT_MIPS_PLTGOT and DT_MIPS_RWPLT.
(print_mips_pltgot_entry): New function.
(process_mips_specific): Dump the PLT GOT.
2008-08-08 Alan Modra <amodra@bigpond.net.au>
* readelf.c (is_64bit_abs_reloc): Return true for R_MIPS_64.
2008-08-06 Alan Modra <amodra@bigpond.net.au>
PR 6774
* objcopy.c (copy_object): Don't setup_bfd_headers when extract_symbol.
(setup_section): Don't zero vma and lma when extract_symbol.
(copy_section): Discard relocations when extract_symbol.
* doc/binutils.texi: Update --extract-symbol description.
2008-08-04 Alan Modra <amodra@bigpond.net.au>
* Makefile.am (POTFILES.in): Set LC_ALL=C.
* Makefile.in: Regenerate.
2008-08-04 Markus Weiss <weissms@aros.org>
* readelf.c (get_osabi_name <ELFOSABI_AROS>): Change name.
2008-08-01 H.J. Lu <hongjiu.lu@intel.com>
* dwarf.c (dwarf_regnames_i386): Remove AVX registers.
(dwarf_regnames_x86_64): Likewise.
2008-07-30 Alan Modra <amodra@bigpond.net.au>
* dlltool.c, dwarf.c, objdump.c, readelf.c, resrc.c, resres.c,
windmc.c: Silence gcc warnings.
2008-07-28 Alan Modra <amodra@bigpond.net.au>
* readelf.c (print_vma): Typo fix.
2008-07-28 Alan Modra <amodra@bigpond.net.au>
PR 6769
* readelf.c (print_dec_vma, print_hex_vma): Delete.
(print_vma): Use BFD_VMA_FMT.
* size.c (size_number, rprint_number): Likewise.
2008-07-26 Michael Eager <eager@eagercon.com>
* readelf.c (display_power_gnu_attribute): Display
single-precision hard float.
2008-07-21 Luis Machado <luisgpm@br.ibm.com>
* readelf.c (get_note_type): Handle VSX notes.
2008-07-15 H.J. Lu <hongjiu.lu@intel.com>
* objdump.c (load_debug_section): Initialize section_is_compressed
for gcc 3.4/ia64.
* readelf.c (load_debug_section): Likewise.
2008-07-12 Jie Zhang <jie.zhang@analog.com>
Revert
2008-07-12 Jie Zhang <jie.zhang@analog.com>
* readelf.c (get_machine_flags): Deal with Blackfin specific
flags.
2008-07-12 Jie Zhang <jie.zhang@analog.com>
* readelf.c (get_machine_flags): Deal with Blackfin specific
flags.
2008-07-09 Craig Silverstein <csilvers@google.com>
* config.in: Add HAVE_ZLIB_H
* configure.in: Add test for libz and zlib.h
* configure: Regenerate.
* dwarf.c (debug_displays): Add .zdebug_* strings.
* dwarf.h (struct dwarf_section): Add fields uncompressed_namd
and compressed_name.
* objdump.c (load_debug_section): Call
bfd_uncompress_section_contents when loading a compressed
section.
(dump_dwarf_section): Recognize compressed section name.
(mach_o_dwarf_sections): Rename as
mach_o_uncompressed_dwarf_sections.
(mach_o_compressed_dwarf_sections): New variable.
(generic_dwarf_section): Rename as
generic_uncompressed_dwarf_sections.
(generic_compressed_dwarf_sections): New variable.
(check_mach_o_dwarf): Save and restore
mach_o_compressed_dwarf_sections.
* readelf.c: Add #include for config.h and zlib.h
(process_section_headers): Recognize compressed section name.
(uncompress_section_contents): New function.
(load_debug_section): Call uncompress_section_contents when
loading a compressed section.
(display_debug_section): Recognize compressed section name.
2008-07-07 Alan Modra <amodra@bigpond.net.au>
* objdump.c (find_symbol_for_address): Prefer symbols in current
section.
2008-07-07 Alan Modra <amodra@bigpond.net.au>
* ieee.c (write_ieee_debugging_info): Use bfd_make_section_with_flags.
* nlmconv.c (main, powerpc_build_stubs): Likewise.
* rescoff.c (write_coff_file): Likewise.
* resres.c (write_res_file): Likewise.
* windmc.c (windmc_write_bin): Likewise.
2008-06-18 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
* readelf.c (guess_is_rela): Add EM_CR16_OLD.
(dump_relocations): Likewise.
(get_machine_name): Likewise.
(is_32bit_abs_reloc): Likewise.
2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* configure: Regenerate.
2008-06-12 DJ Delorie <dj@redhat.com>
* readelf.c (guess_is_rela): Add EM_M32C_OLD.
(dump_relocations): Likewise.
(process_section_headers): Likewise.
(is_32bit_abs_reloc): Likewise.
(is_16bit_abs_reloc): Likewise.
2008-06-12 Nick Clifton <nickc@redhat.com>
PR binutils/6483
* objdump.c (dump_bfd): If the -g option found no STABS or IEEE
debug information to display, try dumping DWARF information
instead.
* rddbg.c (read_debugging_info): Add a parameter to suppress the
display of a warning message when no debug information is found.
* budbg.h (read_debugging_info): Update prototype.
* objcopy.c (copy_object): Continue to allow read_debugging_info
to produce warning messages.
* doc/binutils.texi (--debugging): Document new behaviour of the
-g/--debugging option.
2008-06-10 Ben Elliston <bje@gnu.org>
* MAINTAINERS: Remove myself as m68k maintainer.
2008-05-14 Alan Modra <amodra@bigpond.net.au>
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
2008-05-12 Alan Modra <amodra@bigpond.net.au>
* embedspu.sh: Test for presence of ._ea by looking at section
table rather than looking at relocs. Correct toe_addr substitution.
2008-05-08 Alan Modra <amodra@bigpond.net.au>
* embedspu.sh: Take note of R_SPU_PPU32/64 relocs without a symbol,
and if present, put image in ".data.speelf". Put program handle
in ".data.spehandle".
2008-05-01 Nick Clifton <nickc@redhat.com>
* readelf.c (print_symbol): Add code to display non-printing
characters.
2008-04-30 John Heidemann <johnh@isi.edu>
* doc/binutils.texi (strings): Add "unicode" to the documentation
of strings in order to make explicit that it supports this
feature.
2008-04-30 Alan Modra <amodra@bigpond.net.au>
* readelf.c (process_program_headers): Correct section in segment
display.
2008-04-28 M Thomas <mthomas@rhrk.uni-kl.de>
Nick Clifton <nickc@redhat.com>
PR binutils/6449
* objdump.c (slurp_file): Open the file in binary mode.
* ar.c: Remove conditional definition of O_BINARY.
* bin2.c: Likewise.
* rename.c: Likewise.
* strings.c: Likewise.
* sysdep.h: Add conditional definition of O_BINARY.
2008-04-23 Paolo Bonzini <bonzini@gnu.org>
* aclocal.m4: Regenerate.
* configure: Regenerate.
2008-04-16 Jean-Yves Lefort <jylefort@brutele.be>
PR binutils/6034
* objcopy.c (stuct symlist): Rename to
is_specified_symbol_predicate_data.
(strip_specific_list): Rename to strip_specific_htab.
(strip_unneeded_list): Rename to strip_unneeded_htab.
(keep_specific_list): Rename to keep_specific_htab.
(localize_specific_list): Rename to localize_specific_htab.
(globalize_specific_list): Rename to globalize_specific_htab.
(keepglobal_specific_list): Rename to keepglobal_specific_htab.
(weaken_specific_list): Rename to weaken_specific_htab.
(eq_string): New function.
(create_symbol_htab): New function.
(create_symbol_htabs): New function.
(add_specific_symbol): Change to use hash tables.
(is_specified_symbol_predicate): New function.
(is_specified_symbol): Use hash table lookup.
(is_strip_section): Update to use new functions and hash tables.
(filter_symbols): Likewise.
(copy_object): Likewise.
(copy_section): Likewise.
(strip_main): Likewise.
(copy_main): Likewise.
(main): Likewise.
2008-04-14 David S. Miller <davem@davemloft.net>
* readelf.c (get_gnu_elf_note_type): Recognize NT_GNU_GOLD_VERSION.
2008-04-11 Torleif Sandnes <torleif.sandnes@gmail.com>
* dwarf.c (display_debug_lines): Rename to
display_debug_lines_raw.
(display_debug_lines_decoded): New function. Displays the
interpreted contents of a .debug_line section.
(display_debug_lines): New function: Selects either a raw dump or
a decoded dump (or both) as requested by the user.
* dwarf.h (do_debug_lines_decoded): New extern.
* readelf.c: Add support for -wL or --debug-dump=decodedline
option to display the decoded contents of a .debug_line section.
* doc/binutils.texi: Document the new option.
* NEWS: Mention the new feature.
2008-04-08 Alan Modra <amodra@bigpond.net.au>
* dwarf.c: Remove trailing whitespace throughout file.
2008-04-04 Nick Clifton <nickc@redhat.com>
* po/sk.po: Updated Slovak translation.
2008-04-03 H.J. Lu <hongjiu.lu@intel.com>
* dwarf.c (dwarf_regnames_i386): Add AVX registers.
(dwarf_regnames_x86_64): Likewise.
2008-03-27 Cary Coutant <ccoutant@google.com>
Add support for thin archives.
* ar.c (make_thin_archive): New global flag.
(map_over_members): Deal with full pathnames in thin archives.
(usage, main): Add 'T' option for building thin archives.
(replace_members): Pass thin archive flag to ar_emul_append.
* arsup.c (ar_open): Initialize new flag.
* binemul.c (ar_emul_append): Add new parameter for
flattening nested archives.
(do_ar_emul_default_append): New function.
(ar_emul_default_append): Factored out recursive code.
* binutils/binemul.h (ar_emul_default_append): Add new parameter.
(struct bin_emulation_xfer_struct): New parameter for ar_append.
* dlltool.c (gen_lib_file): Initialize thin archive flag.
* emul_aix.c (ar_emul_aix_internal): Add new flatten
parameter, currently unimplemented.
All callers changed.
* objcopy.c (copy_archive): Preserve thin archive flag.
* doc/binutils.texi: Update ar documentation.
* NEWS: Mention the new feature.
2008-03-20 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (process_mips_specific): Declare addr_size as int.
2008-03-20 Richard Sandiford <rsandifo@nildram.co.uk>
* readelf.c (print_mips_got_entry): New function.
(process_mips_specific): Print GOT information.
2008-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* aclocal.m4: Regenerate.
* configure: Likewise.
* Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
2008-03-16 Brian Dessent <brian@dessent.net>
* rcparse.y (resid): Allow control text to span multiple lines.
2008-03-13 Alan Modra <amodra@bigpond.net.au>
* readelf.c: Use %u throughout when printing sh_link or sh_info,
%lu when printing sh_addralign.
(process_version_sections): Use identical formats when printing
all offset and sh_link fields.
2008-03-13 Alan Modra <amodra@bigpond.net.au>
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* configure: Regenerate.
2008-03-12 Alan Modra <amodra@bigpond.net.au>
PR 5900
* readelf.c (SECTION_HEADER_INDEX, SECTION_HEADER_NUM): Delete.
Remove use throughout file.
(SECTION_HEADER): Likewise.
(dump_relocations): Don't adjust st_shndx for reserved range.
(process_file_header): Mask SHN_XINDEX to values seen in external
elf structs. Simplify valid section index tests.
(get_32bit_elf_symbols, get_64bit_elf_symbols): Mask SHN_XINDEX.
Map reserved st_shndx to internal form.
(process_section_groups): Test that group symbol st_shndx is in
range, not just non-zero. Delete reserved range check.
(get_symbol_index_type): Mask "type" to 16 bits when printing PRC,
OS or RSV.
2008-03-09 Paul Brook <paul@codesourcery.com>
* readelf.c (arm_attr_tag_VFP_arch): Add "VFPv3-D16".
2008-03-03 James E. Wilson <wilson@tuliptree.org>
* MAINTAINERS: Update my email address.
2008-03-03 Nick Clifton <nickc@redhat.com>
* dwarf.c (decode_location_expression): Handle
DW_OP_PGI_omp_thread_num.
2008-03-01 Alan Modra <amodra@bigpond.net.au>
* objdump.c (objdump_print_addr): Initialise "sym".
2008-02-27 Justin Pryzby <justinpryzby@users.sourceforge.net>
Nick Clifton <nickc@redhat.com>
* ar.c (usage): Mention -t command line switch.
* doc/binutils.texi (ranlib): Document -t command line switch.
2008-02-26 Nick Clifton <nickc@redhat.com>
* objdump.c (objdump_print_addr): If displaying file offsets, show
the offset even if there are no symbols available.
(dump_section): Display nothing if none of the section is going to
be dumped. Display the file offset, if requested, of the location
from where the dump starts.
* doc/binutils.texi (objdump): Mention that dumping via the -s
switch is also affected by the -F option.
2008-02-26 Nick Clifton <nickc@redhat.com>
Re-apply this patch which was accidentally deleted:
2006-05-16 Carlos O'Donell <carlos@codesourcery.com>
* doc/binutils.texi: Use "Binutils Index" for index name.
2008-02-22 Nick Clifton <nickc@redhat.com>
* objdump.c (display_file_offsets): New variable.
(long_options): Add -F/--file-offsets.
(objdump_print_addr_with_sym): If displaying file offsets, print
the offset of the given address.
(disassemble_bytes): If displaying file offsets, tell the user how
many zeroes are skipped and the file offset of the point where
dumping resumes.
(disassemble_section): Only display the name of the section if
data is going to be dumped from it.
(main): Handle new option. Produce error messages if the start or
stop addresses do not make sense.
* doc/binutils.texi: Document the new feature.
* NEWS: Mention the new feature.
2008-02-15 Chu Li <chul@cn.fujitsu.com>
Nick Clifton <nickc@redhat.com>
PR binutils/5713
* strings.c (integer_arg): Delete function.
(string_min): Initialise to 4.
(main): Use strtoul to parse integer arguments.
Move check for an invalid string length to after all the arguments
have been parsed.
(usage): Use indentation to indicate that -<n> is a another form
of the --bytes= command line option.
2008-02-12 Nick Clifton <nickc@redhat.com>
* dlltool.c (mcore_elf_cache_filename): Add a const qualifier to
the argument.
(scan_obj_filename): Do not drop the const qualifier when calling
mcore_elf_cache_filename.
(struct fname_cache): Add const qualifier to filename field.
2008-02-08 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/5713
* strings.c (main): Set string_min to 4 if it is <= 0.
2008-02-07 Alan Modra <amodra@bigpond.net.au>
* objdump.c (main): Don't pass unadorned NULL to concat.
2008-02-04 H.J. Lu <hongjiu.lu@intel.com>
PR 5715
* configure: Regenerated.
2008-02-03 Adam Nemet <anemet@caviumnetworks.com>
* readelf.c (get_machine_flags): Handle Octeon.
2008-01-30 Tristan Gingold <gingold@adacore.com>
* readelf.c (dump_relocations): Decode OpenVMS-specific sections.
(get_ia64_dynamic_type): Decode OpenVMS-specific tags.
(get_dynamic_type): Handle IA64-specific tags.
(get_ia64_section_type_name): Handle OpenVMS-specific sections.
(get_section_type_name): Handle OS-specific sections (and
particularly IA64 OpenVMS one).
(get_elf_section_flags): Makes flags static. Add entries for IA64 and
decode them.
2008-01-29 Nick Clifton <nickc@redhat.com>
* dwarf.c (print_dwarf_vma): New function. Display the value of a
dwarf_vma type at a specified precision. Use mingw field type
specifier if necessary.
(display_debug_loc): Use dwarf_vma type for begin and end values.
Use print_dwarf_vma to display their values. Use byte_get_signed
in order to correctly detect the -1 escape value.
(display_debug_aranges): Likewise.
(display_debug_ranges): Likewise.
2008-01-29 Alan Modra <amodra@bigpond.net.au>
* dwarf.c (display_debug_loc): Correct test for base address
entry when 64-bit host dumping 32-bit object.
2008-01-29 Alan Modra <amodra@bigpond.net.au>
* MAINTAINERS: Remove myself as ix86 maintainer. Add for SPU.
2008-01-28 Nick Clifton <nickc@redhat.com>
PR binutils/5529
* rclex.c (yylex): Also allow the hypen character.
2008-01-28 H.J. Lu <hongjiu.lu@intel.com>
* dwarf.c: Include "elf/common.h".
(eh_addr_size): Changed to int.
(dwarf_regnames_i386): New.
(dwarf_regnames_x86_64): Likewise.
(dwarf_regnames): Likewise.
(dwarf_regnames_count): Likewise.
(init_dwarf_regnames): Likewise.
(regname): Likewise.
(frame_display_row): Properly support different address size.
Call regname to get register name.
(display_debug_frames): Call regname to get register name.
Display DW_CFA_def_cfa_register as DW_CFA_def_cfa_register
instead of DW_CFA_def_cfa_reg.
* dwarf.h (init_dwarf_regnames): New.
* objdump.c: Include "elf-bfd.h".
(dump_dwarf): Call init_dwarf_regnames on ELF input.
* readelf.c (guess_is_rela): Change argument to int.
(parse_args): Remove the undocumented upper case options for
-wX.
(process_file_header): Call init_dwarf_regnames.
2008-01-25 DJ Delorie <dj@redhat.com>
* readelf.c (process_section_headers): Add m16c handler.
(is_16bit_abs_reloc): Recognize R_M32C_16.
2008-01-25 Kai Tietz <kai.tietz@onevision.com>
* prdbg.c: Correct formatter style use.
* readelf.c: Likewise.
* strings.c: Likewise.
2008-01-25 Nick Clifton <nickc@redhat.com>
* po/ru.po: Updated Russian translation.
2008-01-17 H.J. Lu <hjl.tools@gmail.com>
* MAINTAINERS: Update my email address.
2008-01-14 Nick Clifton <nickc@redhat.com>
* dwarf.c (process_debug_info): Include the CU offset and corrupt
version value when reporting unrecognised DWARF version numbers.
(load_debug_info): Remember a failed attempt to load and parse the
.debug_info section and do not repeat such attempts.
(display_debug_lines): Check the return value from load_debug_info
and return whilst displaying a warning message if the load failed.
(display_debug_loc): Likewise.
(display_debug_ranges): Likewise.
(DEBUG_INFO_UNAVAILABLE): Value stored in num_debug_info_entries
when the .debug_info section could not be loaded/parsed.
(process_debug_info): Display the length of the compilation unit
in hex, so that it corresponds with the offsets that will follow.
Tell the user if the length was 32-bit or 64-bit.
If a DIE abbreviation could not be found, tell the user the offset
of the DIE.
(free_debug_memory): Do not attempt to free any entries in the
debug_information array if num_debug_info_entries is set to
DEBUG_INFO_UNAVAILABLE.
2008-01-10 Andreas Schwab <schwab@suse.de>
* readelf.c (is_64bit_abs_reloc): Handle R_S390_64.
2008-01-09 Jakub Zawadzki <darkjames@darkjames.ath.cx>
PR binutils/55326
* bucomm.c (list_supported_architectures): Free architecture list
after use.
* windres.c (set_endianess): Likewise.
* windmc.c (set_endianess): Likewise.
2008-01-08 Kai Tietz <kai.tietz@onevision.com>
PR binutils/5529
* binutils/rclex.c: (yylex): Add ':', '_', '\\', and '/' to post
characters for name tokens.
2008-01-04 Greg McGary <greg@mcgary.org>
* prdbg.c (print_vma): Print as long long, if host supports it.
2008-01-03 Nick Clifton <nickc@redhat.com>
* dwarf.c (read_and_display_attr_value): Prefix values that are
displayed in hexadecimal with 0x.
For the DW_AT_import attribute display the abbreviation number and
tag of the imported DIE.
(process_debug_info): Warn about lengths that reserved by the
DWARF3 specification.
Provide more information when corrupted DIEs are detected.
Warn if DIE corruption makes the sibling level negative.
For older changes see ChangeLog-2007
Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End:
|