Fix typo in od-macho.c
[external/binutils.git] / binutils / ChangeLog
1 2018-05-09  Alan Modra  <amodra@gmail.com>
2
3         * od-macho.c (dump_unwind_encoding_x86): Fix typo in last patch.
4
5 2018-05-09  Sebastian Rasmussen  <sebras@gmail.com>
6
7         * od-macho.c (dump_unwind_encoding_x86): Adjust for macro renaming.
8
9 2018-05-08  Alan Modra  <amodra@gmail.com>
10
11         PR 23141
12         * objcopy.c (is_strip_section): Strip groups without a valid
13         signature symbol.
14
15 2018-05-07  Alan Modra  <amodra@gmail.com>
16
17         PR 23142
18         * objcopy.c (group_signature): Don't accept groups that use a
19         symbol table other than the one we've read.
20
21 2018-04-30  Francois H. Theron <francois.theron@netronome.com>
22
23         * readelf.c: Very basic support for EM_NFP and its section types.
24         * testsuite/binutils-all/nfp: New directory.
25         * testsuite/binutils-all/nfp/objdump.exp: New file.  Run new
26         tests.
27         * testsuite/binutils-all/nfp/test2_ctx8.d: New file.
28         * testsuite/binutils-all/nfp/test2_no-pc_ctx4.d: New file.
29         * testsuite/binutils-all/nfp/test1.d: New file.
30         * testsuite/binutils-all/nfp/nfp6000.nffw: New file.
31         * testsuite/binutils-all/nfp/test2_nfp6000.nffw: New file.
32         * NEWS: Mention the new support.
33
34 2018-04-27  Maciej W. Rozycki  <macro@mips.com>
35
36         * testsuite/lib/binutils-common.exp (match_target): New procedure.
37         * testsuite/lib/utils-lib.exp (run_dump_test): Use it in place
38         of `istarget' for matching with `target', `not-target', `skip'
39         and `not-skip' options.
40
41 2018-04-26  Nick Clifton  <nickc@redhat.com>
42
43         * readelf.c (is_32bit_abs_reloc): Support R_PARISC_DIR32 as a
44         32-bit absolute reloc for the HPPA target.
45         * testsuite/binutils-all/note-5.d: New test.
46         * testsuite/binutils-all/note-5.s: Source file for new test.
47         * testsuite/binutils-all/objcopy.exp: Run new test.
48
49 2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
50
51         * testsuite/binutils-all/elfedit-2.d: Accept arm*-*-uclinuxfdpiceabi.
52         * testsuite/binutils-all/elfedit-3.d: Likewise.
53         * testsuite/binutils-all/objcopy.exp: Likewise.
54         * testsuite/binutils-all/strip-3.d: Likewise.
55         * testsuite/lib/binutils-common.exp: Likewise.
56
57 2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
58         Mickaël Guêné  <mickael.guene@st.com>
59
60         * readelf.c (decode_ARM_machine_flags): Support EF_ARM_PIC.
61         (get_osabi_name): Support ELFOSABI_ARM_FDPIC.
62
63 2018-04-25  Alan Modra  <amodra@gmail.com>
64
65         * testsuite/binutils-all/arm/objdump.exp: Remove arm-aout and
66         arm-coff support.
67         * testsuite/binutils-all/objcopy.exp: Likewise.
68         * testsuite/lib/binutils-common.exp: Likewise.
69
70 2018-04-18  Nick Clifton  <nickc@redhat.com>
71
72         PR 23062
73         * dwarf.c (read_and_display_attr_value): Replace assertions with
74         test and warning message.
75
76 2018-04-18  Alan Modra  <amodra@gmail.com>
77
78         * testsuite/lib/binutils-common.exp: Remove support for assorted
79         aout targets.
80
81 2018-04-17  Nick Clifton  <nickc@redhat.com>
82
83         PR 23063
84         * readelf.c (print_symbol): If the width is zero, return straight
85         away.
86
87         PR 23064
88         * dwarf.c (process_cu_tu_index): Test for a potential buffer
89         overrun before copying signature pointer.
90
91 2018-04-17  Alan Modra  <amodra@gmail.com>
92
93         * readelf.c: Revert 2018-04-16 and 2018-04-11 changes.
94
95 2018-04-16  Alan Modra  <amodra@gmail.com>
96
97         * readelf.c (get_machine_name): Correct typo.
98
99 2018-04-16  Alan Modra  <amodra@gmail.com>
100
101         * configure.ac: Remove arm-epoc-pe support.
102         * dlltool.c: Likewise.
103         * configure: Regenerate.
104
105 2018-04-16  Alan Modra  <amodra@gmail.com>
106
107         * testsuite/lib/binutils-common.exp: Remove sparc-aout and
108         sparc-coff support.
109
110 2018-04-16  Alan Modra  <amodra@gmail.com>
111
112         * testsuite/binutils-all/copy-2.d: Remove m68k-aout and m68k-coff
113         support.
114         * testsuite/binutils-all/copy-3.d: Likewise.
115         * testsuite/binutils-all/objcopy.exp: Likewise.
116         * testsuite/lib/binutils-common.exp: Likewise.
117
118 2018-04-16  Alan Modra  <amodra@gmail.com>
119
120         * testsuite/binutils-all/objcopy.exp: Remove sh5 and sh64 support.
121
122 2018-04-16  Alan Modra  <amodra@gmail.com>
123
124         * testsuite/binutils-all/objcopy.exp: Remove w65 support.
125
126 2018-04-16  Alan Modra  <amodra@gmail.com>
127
128         * testsuite/binutils-all/objdump.exp: Remove we32k support.
129
130 2018-04-16  Alan Modra  <amodra@gmail.com>
131
132         * MAINTAINERS (Mark Kettenis): Move to past maintainers.
133         * testsuite/binutils-all/objdump.exp: Remove m88k support.
134
135 2018-04-16  Alan Modra  <amodra@gmail.com>
136
137         * readelf.c: Remove i370 support.
138         * testsuite/binutils-all/objdump.exp: Likewise.
139
140 2018-04-16  Alan Modra  <amodra@gmail.com>
141
142         * testsuite/binutils-all/objcopy.exp: Remove h8500 support.
143         * testsuite/lib/binutils-common.exp: Likewise.
144
145 2018-04-16  Alan Modra  <amodra@gmail.com>
146
147         * testsuite/binutils-all/objcopy.exp: Remove h8300-coff support.
148
149 2018-04-16  Alan Modra  <amodra@gmail.com>
150
151         * Makefile.am: Remove IEEE 695 support.
152         * budbg.h: Likewise.
153         * doc/binutils.texi: Likewise.
154         * makefile.vms: Likewise.
155         * objcopy.c: Likewise.
156         * objdump.c: Likewise.
157         * rddbg.c: Likewise.
158         * ieee.c: Delete.
159         * Makefile.in: Regenerate.
160         * po/POTFILES.in: Regenerate.
161
162 2018-04-16  Alan Modra  <amodra@gmail.com>
163
164         * testsuite/binutils-all/copy-2.d: Remove newsos3 support.
165         * testsuite/binutils-all/nm.exp: Likewise.
166
167 2018-04-16  Alan Modra  <amodra@gmail.com>
168
169         * .gitignore: Remove netware support.
170         * Makefile.am: Likewise.
171         * configure.ac: Likewise.
172         * doc/Makefile.am: Likewise.
173         * doc/binutils.texi: Likewise.
174         * testsuite/binutils-all/nm.exp: Likewise.
175         * nlmconv.c: Delete.
176         * nlmconv.h: Delete.
177         * nlmheader.y: Delete.
178         * Makefile.in: Regenerate.
179         * configure: Regenerate.
180         * doc/Makefile.in: Regenerate.
181         * po/POTFILES.in: Regenerate.
182
183 2018-04-16  Alan Modra  <amodra@gmail.com>
184
185         * testsuite/binutils-all/objdump.exp: Remove tahoe support.
186
187 2018-04-14  Alan Modra  <amodra@gmail.com>
188
189         * readelf.c (get_machine_name): Revert 2018-04-11 change.
190
191 2018-04-12  Nick Clifton  <nickc@redhat.com>
192
193         PR 23050
194         * readelf.c (process_dynamic_section): Correct dynamic string
195         table size calculation.
196
197 2018-04-11  Alan Modra  <amodra@gmail.com>
198
199         * ieee.c: Remove i960 support.
200         * od-macho.c: Remove i860 support.
201         * readelf.c: Remove i860 and i960 support.
202         * testsuite/binutils-all/objcopy.exp: Likewise.
203         * testsuite/binutils-all/objdump.exp: Likewise.
204         * testsuite/lib/binutils-common.exp: Likewise.
205
206 2018-04-11  Maciej W. Rozycki  <macro@mips.com>
207
208         * testsuite/lib/binutils-common.exp (is_elf_format): Also return
209         1 for `*-*-lynxos*' and `*-*-symbianelf*' targets.
210
211 2018-04-10  Alan Modra  <amodra@gmail.com>
212
213         * testsuite/binutils-all/objcopy.exp (strip-14, strip-15): Choose
214         reloc=11 for pru and reloc=50 for nds32.
215         * testsuite/binutils-all/strip-15.d: Accept 0xb reloc number.
216
217 2018-04-09  Maciej W. Rozycki  <macro@mips.com>
218
219         * testsuite/binutils-all/strip-15.d: New test.
220         * testsuite/binutils-all/strip-15rel.s: New test source.
221         * testsuite/binutils-all/strip-15rela.s: New test source.
222         * testsuite/binutils-all/strip-15mips64.s: New test source.
223         * testsuite/binutils-all/objcopy.exp: Run the new test.
224
225 2018-04-09  Maciej W. Rozycki  <macro@mips.com>
226
227         * testsuite/binutils-all/strip-14.d: New test.
228         * testsuite/binutils-all/strip-14rel.s: New test source.
229         * testsuite/binutils-all/strip-14rela.s: New test source.
230         * testsuite/binutils-all/strip-14mips64.s: New test source.
231         * testsuite/binutils-all/objcopy.exp: Run the new test.
232
233 2018-04-06  Tom Tromey  <tom@tromey.com>
234
235         * dwarf.c (read_and_display_attr_value): Add missing DW_LANG
236         constants from DWARF 5.
237
238 2018-04-05  H.J. Lu  <hongjiu.lu@intel.com>
239
240         PR gas/22318
241         * configure: Regenerated.
242
243 2018-04-05  Maciej W. Rozycki  <macro@mips.com>
244
245         * testsuite/binutils-all/strip-13mips64.s: Use `.dc.l' rather
246         than `.dc.w' in second relocation.
247
248 2018-04-05  Maciej W. Rozycki  <macro@mips.com>
249
250         * testsuite/binutils-all/strip-13.d: Also expect `unsupported
251         relocation type 0x8f' error message.
252
253 2018-04-05  Maciej W. Rozycki  <macro@mips.com>
254
255         * testsuite/binutils-all/strip-13.s: Rename to...
256         * testsuite/binutils-all/strip-13rela.s: ... this.
257         * testsuite/binutils-all/strip-13rel.s: New test source.
258         * testsuite/binutils-all/strip-13mips64.s: New test source.
259         * testsuite/binutils-all/strip-13.d: Remove `arm-*', `d10v-*',
260         `dlx-*' and `xgate-*' from `not-target' list.  Add `m6811-*' and
261         `m68hc11-*' to `not-target' list.
262         * testsuite/binutils-all/objcopy.exp: Switch between sources for
263         `strip-13'.
264
265 2018-04-05  Maciej W. Rozycki  <macro@mips.com>
266
267         * testsuite/binutils-all/strip-13.s: Use 143 (0x8f) rather than
268         241 (0xf1) for the relocation number and RELA addend.
269         * testsuite/binutils-all/strip-13.d: Remove `hppa*-*' from the
270         `not-target' list.
271
272 2018-04-04  John David Anglin  <danglin@gcc.gnu.org>
273
274         * MAINTAINERS: Update my e-mail address.
275
276 2018-04-04  Nick Clifton  <nickc@redhat.com>
277
278         * MAINTAINERS: Move Jason Eckhardt to past maintainers section.
279
280 2018-03-23  Nick Clifton  <nickc@redhat.com>
281
282         * readelf.c (get_symbol_for_build_attribute): Skip ARM mapping
283         symbols.
284         (print_gnu_build_attribute_description): If no file start symbol
285         could be found, look for one two bytes into the file.
286         * testsuite/binutils-all/note-4-64.s: Set the address of the file
287         start symbol to two bytes into the file.
288         * testsuite/binutils-all/note-4-32.s: Likewise.
289
290 2018-03-21  H.J. Lu  <hongjiu.lu@intel.com>
291
292         * readelf.c (process_dynamic_section): Also dump DF_1_KMOD,
293         DF_1_WEAKFILTER and DF_1_NOCOMMON.
294
295 2018-03-20  Nick Clifton  <nickc@redhat.com>
296
297         * po/es.po: Updated Spanish translation.
298         * po/ru.po: Updated Russian translation.
299
300 2018-03-13  Nick Clifton  <nickc@redhat.com>
301
302         PR 22957
303         * stabs.c (pop_binincl): Fail if the file index is off the end of
304         the stack.
305
306 2018-03-13  Nick Clifton  <nickc@redhat.com>
307
308         PR 22955
309         * stabs.c (parse_number): Add p_end parameter and use it to check
310         the validity of the pp parameter.  Add checks to prevent walking
311         off the end of the string buffer.
312         (parse_stab_string): Likewise.
313         (parse_stab_type): Likewise.
314         (parse_stab_type_number): Likewise.
315         (parse_stab_range_type): Likewise.
316         (parse_stab_sun_builtin_type): Likewise.
317         (parse_stab_sun_floating_type): Likewise.
318         (parse_stab_enum_type): Likewise.
319         (parse_stab_struct_type): Likewise.
320         (parse_stab_baseclasses): Likewise.
321         (parse_stab_struct_fields): Likewise.
322         (parse_stab_cpp_abbrev): Likewise.
323         (parse_stab_one_struct_field): Likewise.
324         (parse_stab_members): Likewise.
325         (parse_stab_tilde_field): Likewise.
326         (parse_stab_array_type): Likewise.
327
328         * parse_stab: Compute the end of the string and then pass it on to
329         individual parser functions.
330
331 2018-03-07  Paul Pluzhnikov  <ppluzhnikov@google.com>
332
333         PR binutils/22923
334         * binutils/readelf.c (get_ver_flags): Expand buffer to avoid
335         overflow.
336
337 2018-03-07  Alan Modra  <amodra@gmail.com>
338
339         * configure.ac: Add objdump_private_desc_xcoff for rs6000.
340         * configure: Regenerate.
341
342 2018-03-05  H.J. Lu  <hongjiu.lu@intel.com>
343
344         PR binutils/22911
345         * objdump.c (is_significant_symbol_name): Return TRUE for all
346         .plt* sections.
347         (find_symbol_for_address): Replace linear search with binary
348         search on dynamic relocations.
349
350 2018-03-01  Nick Clifton  <nickc@redhat.com>
351
352         PR 22905
353         * dwarf.c (display_debug_ranges): Check that the offset loaded
354         from the range_entry structure is valid.
355
356 2018-03-01  Alan Modra  <amodra@gmail.com>
357
358         * configure.ac (ALL_LINGUAS): Add sr.  Sort.
359         * configure: Regenerate.
360
361 2018-02-27  Nick Clifton  <nickc@redhat.com>
362
363         * po/pt.po: New Portuguese translation.
364         * configure.ac (ALL_LINGUAS): Add pt.
365         * configure: Regenerate.
366
367 2018-02-27  Nick Clifton  <nickc@redhat.com>
368
369         PR 22875
370         * objcopy.c (copy_object): Check the error status after marking
371         symbols used in relocations.
372         * testsuite/binutils-all/strip-13.s: New test source file.
373         * testsuite/binutils-all/strip-13.s: New test driver file.
374         * testsuite/binutils-all/objcopy.exp: Run the new test.
375
376 2018-02-26  Alan Modra  <amodra@gmail.com>
377
378         * testsuite/binutils-all/mips/mips-reginfo-n32.d,
379         * testsuite/binutils-all/mips/mips-reginfo.d: Update.
380
381 2018-02-23  Alan Modra  <amodra@gmail.com>
382
383         * testsuite/binutils-all/mips/mips-reginfo-n32.d,
384         * testsuite/binutils-all/mips/mips-reginfo.d: Update.
385
386 2018-02-20  Ronald Hoogenboom  <hoogenboom30@zonnet.nl>
387
388         * doc/binutils.texi (objcopy): Add missing closing square
389         parenthesis to listing of objcopy's command line options.
390
391 2018-02-19  Matthias Klose  <doko@debian.org>
392
393         * strings.c (long_options): Include-all-whitespace does not take
394         an extra agument.
395
396 2018-02-13  Alan Modra  <amodra@gmail.com>
397
398         PR 22836
399         * testsuite/binutils-all/group-7.s,
400         * testsuite/binutils-all/group-7a.d,
401         * testsuite/binutils-all/group-7b.d,
402         * testsuite/binutils-all/group-7c.d: New tests.
403         * testsuite/binutils-all/objcopy.exp: Run them.
404
405 2018-02-08  Nick Clifton  <nickc@redhat.com>
406
407         PR 22802
408         * dwarf.c (load_separate_debug_file): Return early if the user is
409         not interested in debug links.
410
411 2018-02-06  Nick Clifton  <nickc@redhat.com>
412
413         PR 22793
414         * readelf.c (find_section): Replace assertion with test and return
415         of NULL.
416         (find_section_by_address): Add test of section header table
417         existance.
418         (find_section_by_type): Likewise.
419         (find_section_in_set): Likewise.
420
421 2018-02-05  Maciej W. Rozycki  <macro@mips.com>
422
423         * testsuite/binutils-all/mips/mips-reginfo.d: New test.
424         * testsuite/binutils-all/mips/mips-reginfo-n32.d: New test.
425         * testsuite/binutils-all/mips/mips-reginfo.s: New test source.
426         * testsuite/binutils-all/mips/mips.exp: Run the new tests.
427
428 2018-02-05  Maciej W. Rozycki  <macro@mips.com>
429
430         * testsuite/config/default.exp (binutils_run): Document
431         `binutils_run_status'.
432         * testsuite/lib/utils-lib.exp (default_binutils_run): Likewise,
433         and set it.
434         (run_dump_test): Add `error', `error_output', `warning' and
435         `warning_output' options.  Update documentation accordingly.
436
437 2018-02-02  Andrew Burgess  <andrew.burgess@embecosm.com>
438
439         * dwarf.c (dwarf_regnames_riscv): New register name table.
440         (init_dwarf_regnames_riscv): New function.
441         (init_dwarf_regnames): Add call to initialise RiscV register
442         names.
443         * dwarf.h (init_dwarf_regnames_riscv): Declare.
444         * objdump.c (dump_dwarf): Add call to initialise RiscV register
445         names.
446
447 2018-02-01  Alan Modra  <amodra@gmail.com>
448
449         PR 22769
450         * objdump.c (load_specific_debug_section): Check for overflow
451         when adding one to section size for a string section terminator.
452
453 2018-01-30  Nick Clifton  <nickc@redhat.com>
454
455         PR 22734
456         * doc/binutils.texi (nm): Update description to point out that
457         zero-initialized values can also be shown as type B, b, S or s
458         since they can be stored in the BSS section.
459
460 2018-01-30  Alan Modra  <amodra@gmail.com>
461
462         * objcopy.c (merge_gnu_build_notes): Use (bfd_vma) -1 as
463         "artificially large" end address.
464
465 2018-01-28  Nick Clifton  <nickc@redhat.com>
466
467         * README-how-to-make-a-release: Add note about checking gpg key
468         and the results of gnupload.
469
470 2018-01-27  Nick Clifton  <nickc@redhat.com>
471
472         * README-how-to-make-a-release: Add details on how to actually
473         make the release.
474
475 2018-01-26  Nick Clifton  <nickc@redhat.com>
476
477         * README-how-to-make-a-release: Add more details on updating
478         version numbers.
479
480 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
481
482         * doc/binutils.texi (objcopy): Fix a typo in `--rename-section'
483         option description.
484
485 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
486
487         * MAINTAINERS: Update my company e-mail address.
488
489 2018-01-22  Nick Clifton  <nickc@redhat.com>
490
491         * po/sv.po: Updated Swedish translation.
492
493 2018-01-18  Nick Clifton  <nickc@redhat.com>
494
495         * po/bg.po: Updated Bulgarian translation.
496
497 2018-01-16  Joel Brobecker  <brobecker@adacore.com>
498
499         * README-how-to-make-a-release: Add reminder to update the
500         branch name in gdbadmin's crontab on sourceware.
501
502 2018-01-16  Joel Brobecker  <brobecker@adacore.com>
503
504         * README-how-to-make-a-release: Remove trailing spaces.
505
506 2018-01-16  Nick Clifton  <nickc@redhat.com>
507
508         * po/fr.po: Updated French translation.
509
510 2018-01-15  Nick Clifton  <nickc@redhat.com>
511
512         * po/uk.po: Updated Ukranian translation.
513
514 2018-01-13  Nick Clifton  <nickc@redhat.com>
515
516         * README-how-to-make-a-release: Update notes.
517         * po/binutils.pot: Regenerated.
518
519 2018-01-13  Nick Clifton  <nickc@redhat.com>
520
521         * configure: Regenerate.
522
523 2018-01-13  Nick Clifton  <nickc@redhat.com>
524
525         2.30 branch created.
526         * NEWS: Add marker for 2.30.
527
528 2018-01-12  Nick Clifton  <nickc@redhat.com>
529
530         * README-how-to-make-a-release: Add notes on how to make the
531         branch and prelease snapshot.
532         * BRANCHES: Add binutils-2_29-branch.
533
534 2018-01-10  Nick Clifton  <nickc@redhat.com>
535
536         * MAINTAINERS: Note that it is now the configure.ac file and not
537         the configure.in file that needs to be kept in sync with gcc.
538         Add a note about sending patches for libiberty to gcc.
539
540 2018-01-03  Nick Clifton  <nickc@redhat.com>
541
542         * objcopy.c (merge_gnu_build_notes): Add cast to maximum address
543         constants.
544
545 2018-01-03  Nick Clifton  <nickc@redhat.com>
546
547         * objcopy.c (objcopy_internal_note): New structure.
548         (gap_exists): New function.
549         (is_open_note): New function.
550         (is_func_note): New function.
551         (is_64bit): New function.
552         (merge_gnu_build_notes): Handle v3 notes.  Do not merge
553         if there are relocations against the notes.
554         * readelf.c (get_note_type): Use short names for build attribute
555         notes.
556         (print_symbol_for_build_attribute): Rename to
557         get_symbol_for_build_attribute.  Returns the found symbol rather
558         than printing it.
559         (print_gnu_build_attribute_description): Maintain address ranges
560         for function notes as well as global notes.  Handle v3 notes.
561         (print_gnu_build_attribute_name): Use more space for printing the
562         name in wide mode.
563         * testsuite/binutils-all/note-2-32.s: Use .dc.l instead of .word.
564         Eliminate symbol references in order to remove the need for
565         relocations.
566         * testsuite/binutils-all/note-2-64.s: Likewise.
567         * testsuite/binutils-all/note-3-32.s: Add a size to the note_1
568         symbol.
569         * testsuite/binutils-all/note-3-64.s: Likewise.
570         * testsuite/binutils-all/mips/mips-note-2r-n32.d: Update expected
571         output.
572         * testsuite/binutils-all/mips/mips-note-2r-n64.d: Likewise.
573         * testsuite/binutils-all/mips/mips-note-2r.d: Likewise.
574         * testsuite/binutils-all/note-2-32.d: Likewise.
575         * testsuite/binutils-all/note-2-64.d: Likewise.
576         * testsuite/binutils-all/note-3-32.d: Likewise.
577         * testsuite/binutils-all/note-3-64.d: Likewise.
578         * testsuite/binutils-all/note-4-64.s: New test.  Checks v3 notes.
579         * testsuite/binutils-all/note-4-32.s: New test.
580         * testsuite/binutils-all/note-4-64.d: New test result file.
581         * testsuite/binutils-all/note-4-32.d: New test result file.
582
583 2018-01-03  Alan Modra  <amodra@gmail.com>
584
585         Update year range in copyright notice of all files.
586
587 For older changes see ChangeLog-2017
588 \f
589 Copyright (C) 2018 Free Software Foundation, Inc.
590
591 Copying and distribution of this file, with or without modification,
592 are permitted in any medium without royalty provided the copyright
593 notice and this notice are preserved.
594
595 Local Variables:
596 mode: change-log
597 left-margin: 8
598 fill-column: 74
599 version-control: never
600 End: