]>
Commit | Line | Data |
---|---|---|
6a1224ec AM |
1 | 2021-03-01 Alan Modra <amodra@gmail.com> |
2 | ||
3 | PR 27128 | |
4 | * doc/binutils.texi: Add nm --with-symbol-versions and | |
5 | --without-symbol-versions documentation. | |
6 | * nm.c (with_symbol_versions): New variable. | |
7 | (enum long_option_values): Delete OPTION_WITH_SYMBOL_VERSIONS. | |
8 | (long_options): Make --with-symbol-versions entry twiddle the flag. | |
9 | Add --without-symbol-versions. | |
10 | (print_symname): Strip version when !with_symbol_versions. Add | |
11 | dynamic version info under control of with_symbol_versions. | |
12 | (main): Remove OPTION_WITH_SYMBOL_VERSIONS case. | |
13 | ||
7fe1b138 FS |
14 | 2021-02-26 Fangrui Song <maskray@google.com> |
15 | ||
16 | PR 27408 | |
17 | * readelf.c (quiet): New option flag. | |
18 | (enum long_option_values): New enum to hold long option value. | |
19 | (long_options): Add --quiet. | |
20 | (usage): Mention --quiet. | |
21 | (display_rel_file): If quiet is enabled, suppress "no symbols". | |
22 | (main): Handle the new option. | |
23 | * NEWS: Mention --quiet. | |
24 | * docs/binutils.texi: Document --quiet. | |
25 | ||
0e12f6c8 TV |
26 | 2021-02-26 Tom de Vries <tdevries@suse.de> |
27 | ||
28 | * dwarf.c (display_debug_addr): Handle dwarf-5 .debug_addr bits. | |
29 | ||
32e4f96c TV |
30 | 2021-02-26 Tom de Vries <tdevries@suse.de> |
31 | ||
32 | PR 27390 | |
33 | * dwarf.c: (skip_attr_bytes): Add support for DW_FORM_str* and | |
34 | DW_FORM_addrx*. | |
35 | (read_and_display_attr_value): Likewise. | |
36 | ||
e38332c2 NC |
37 | 2021-02-25 Nick Clifton <nickc@redhat.com> |
38 | ||
39 | * dwarf.c (get_type_abbrev_from_form): Accept but ignore sup | |
40 | forms. | |
41 | (read_and_display_attr_value): Handle sup forms. | |
42 | (display_debug_sup): New function. Displays the contents of a | |
43 | .debug_sup section. | |
44 | (load_debug_sup_file): New function. Loads the contents of a file | |
45 | referenced by a .debug_sup section. | |
46 | (check_for_and_load_links): Call load_debug_sup_file. | |
47 | (debug_displays): Add entry for .debug_sup. | |
48 | * dwarf.h (enum dwarf_section_display_enum): Add debug_sup. | |
49 | * readelf.c (process_section_headers): Add support for debug_sup. | |
50 | * doc/debug.options.texi: Note that the =links option will display | |
51 | the contents of .debug_sup sections. | |
52 | * NEWS: Mention the new support. | |
53 | ||
40b02646 AM |
54 | 2021-02-25 Alan Modra <amodra@gmail.com> |
55 | ||
56 | PR 27456 | |
57 | * rename.c (simple_copy): Mark target_stat ATTRIBUTE_UNUSED. | |
58 | ||
9d3fcfe0 NC |
59 | 2021-02-24 Nick Clifton <nickc@redhat.com> |
60 | ||
61 | PR 27285 | |
62 | * od-elf32_avr.c (elf32_avr_get_memory_usage): Check for overflows | |
63 | when adding together the section sizes. | |
64 | ||
c74147bb NC |
65 | 2021-02-24 Nick Clifton <nickc@redhat.com> |
66 | ||
67 | * objcopy.c (merge_gnu_build_notes): Remove support for v1/v2 GNU | |
68 | build notes. | |
69 | * readelf.c (print_gnu_build_attribute_description): Likewise. | |
70 | ||
c42c71a1 AM |
71 | 2021-02-24 Alan Modra <amodra@gmail.com> |
72 | Siddhesh Poyarekar <siddhesh@gotplt.org> | |
73 | ||
74 | PR 27456 | |
75 | * bucomm.h (smart_rename): Update prototype. | |
76 | * rename.c (smart_rename): Add fromfd and preserve_dates params. | |
77 | Pass fromfd and target_stat to simple_copy. Call set_times | |
78 | when preserve_dates. | |
79 | (simple_copy): Accept fromfd rather than from filename. Add | |
80 | target_stat param. Rewind fromfd rather than opening. Open | |
81 | "to" file without O_CREAT. Try to preserve S_ISUID and S_ISGID. | |
82 | * ar.c (write_archive): Rename ofd to tmpfd. Dup tmpfd before | |
83 | closing output temp file, and pass tmpfd to smart_rename. | |
84 | * arsup.c (temp_fd): Rename from real_fd. | |
85 | (ar_save): Dup temp_fd and pass to smart_rename. | |
86 | * objcopy.c (strip_main, copy_main): Likewise, and pass | |
87 | preserve_dates. | |
88 | ||
cca8873d AM |
89 | 2021-02-24 Alan Modra <amodra@gmail.com> |
90 | ||
91 | PR 27456 | |
92 | * rename.c: Tidy throughout. | |
93 | (smart_rename): Always copy. Remove windows specific code. | |
94 | ||
4d496013 AM |
95 | 2021-02-20 Alan Modra <amodra@gmail.com> |
96 | ||
97 | * testsuite/lib/binutils-common.exp: Whitespace fixes throughout. | |
98 | (run_dump_test): Fail if expecting errors from a file like we do | |
99 | for error strings, if no error is seen. | |
100 | ||
0be51eb4 AM |
101 | 2021-02-19 Alan Modra <amodra@gmail.com> |
102 | ||
103 | * testsuite/binutils-all/readelf.exp (pr26548): Run for 32-bit too. | |
104 | ||
3685de75 SP |
105 | 2021-02-19 Siddhesh Poyarekar <siddhesh@gotplt.org> |
106 | ||
107 | * ar.c (write_archive): Remove TARGET_STAT. Adjust call to | |
108 | SMART_RENAME. | |
109 | * arsup.c (ar_save): Likewise. | |
110 | * objcopy (strip_main): Don't copy TMPFD. Don't set times on | |
111 | temporary file and adjust call to SMART_RENAME. | |
112 | (copy_main): Likewise. | |
113 | * rename.c [!S_ISLNK]: Remove definitions. | |
114 | (try_preserve_permissions): Remove function. | |
115 | (smart_rename): Remove FD, PRESERVE_DATES arguments. Use | |
116 | rename system call only if TO does not exist. | |
117 | * bucomm.h (smart_rename): Adjust declaration. | |
118 | ||
85684222 NC |
119 | 2021-02-18 Nick Clifton <nickc@redhat.com> |
120 | ||
121 | * objcopy.c (merge_gnu_build_notes): Handle notes with a start | |
122 | address that is higher than the end address. | |
123 | ||
b9b204b3 AM |
124 | 2021-02-17 Alan Modra <amodra@gmail.com> |
125 | ||
126 | * dwarf.c: Include limits.h. | |
127 | (CHAR_BIT): Provide backup define. | |
128 | (read_leb128): Use CHAR_BIT to size "result" in bits. Correct | |
129 | signed overflow checking. | |
130 | * testsuite/binutils-all/pr26548.s, | |
131 | * testsuite/binutils-all/pr26548.d, | |
132 | * testsuite/binutils-all/pr26548e.d: New tests. | |
133 | * testsuite/binutils-all/readelf.exp: Run them. | |
134 | (readelf_test): Drop unused "xfails" parameter. Update all uses. | |
135 | ||
e6ca1878 JB |
136 | 2021-02-16 Jan Beulich <jbeulich@suse.com> |
137 | ||
138 | * dwarf.c (process_debug_info): Initialize "dwo_id". | |
139 | ||
208599d9 AM |
140 | 2021-02-15 Alan Modra <amodra@gmail.com> |
141 | ||
142 | * objdump.c (load_specific_debug_section): Don't call | |
143 | bfd_cache_section_contents. Rearrange so that | |
144 | bfd_get_full_section_contents is not called on path where | |
145 | bfd_simple_get_relocated_section_contents is called. | |
146 | Don't set section->user_data. | |
147 | (free_debug_section): Always free section->start. Don't twiddle | |
148 | section flags. | |
149 | * readelf.c (load_specific_debug_section): Don't set user_data. | |
150 | * dwarf.h (struct dwarf_section): Remove use_data field. | |
151 | * dwarf.c (NO_ABBREVS, ABBREV): Adjust to suit. | |
152 | ||
1781a9d0 AM |
153 | 2021-02-15 Alan Modra <amodra@gmail.com> |
154 | ||
155 | * testsuite/binutils-all/compress.exp: Remove nds32 xfails. | |
156 | * testsuite/binutils-all/objdump.exp: Likewise. | |
157 | ||
1944212b AM |
158 | 2021-02-14 Alan Modra <amodra@gmail.com> |
159 | ||
160 | * objdump.c (slurp_symtab): Don't add an extra entry for NULL | |
161 | to the symbol array. | |
162 | (slurp_dynamic_symtab): Likewise. | |
163 | (dump_bfd): Formatting. Copy terminating NULL from extra_syms. | |
164 | ||
0d0a0d86 AM |
165 | 2021-02-14 Alan Modra <amodra@gmail.com> |
166 | ||
167 | * Makefile.in: Regenerate. | |
168 | * doc/Makefile.in: Regenerate. | |
169 | ||
adeab0c5 MF |
170 | 2021-02-13 Mike Frysinger <vapier@gentoo.org> |
171 | ||
172 | * aclocal.m4: Regenerate. | |
173 | ||
c46b7066 NC |
174 | 2021-02-12 Nick Clifton <nickc@redhat.com> |
175 | ||
176 | * configure.ac (follow-debug-links): Add option to enable or | |
177 | disable the following of debug links by default. Set the | |
178 | default for the option to be 'follow'. | |
179 | * dwarf.c (do_follow_links): Initialise with DEFAULT_FOR_FOLLOW_LINKS. | |
180 | (dwarf_select_sections_by_names): Add no-follow-links option. | |
181 | (dwarf_select_sections_by_letter): Add 'N' option. | |
182 | * objdump.c (usage): Add conditional text describing the | |
183 | follow links option. | |
184 | (slurp_symtab): Ensure that there is a NULL entry at the end | |
185 | of the symbol table. | |
186 | (slurp_dynamic_symtab): Likewise. | |
187 | (dump_bfd): When extending the symbol table, ensure that there | |
188 | is still a NULL entry at the end. | |
189 | * readelf.c (usage): Add conditional text describing the | |
190 | follow links option. | |
191 | * doc/binutils.texi: Update documentation for objcopy and | |
192 | readelf. | |
193 | * doc/debug.options.texi: Update documentation of the | |
194 | follow-links option. | |
195 | * config.in: Regenerate. | |
196 | * configure: Regenerate. | |
197 | * testsuite/binutils-all/compress.exp: Add the -WN option to | |
198 | objdump command lines that are not expecting to follow links. | |
199 | * testsuite/binutils-all/readelf.exp: Add the | |
200 | --debug-dump=no-follow-links option to tests that are not | |
201 | expecting to follow debug links. | |
202 | * NEWS: Mention the new behaviour. | |
203 | ||
17e04eff AM |
204 | 2021-02-12 Alan Modra <amodra@gmail.com> |
205 | ||
206 | * testsuite/binutils-all/objcopy.exp: Report "unsupported" when | |
207 | gas or ld fails to build a testcase rather than "unresolved". | |
208 | Report "fail" when readelf returns an error status rather than | |
209 | "unresolved". | |
210 | * testsuite/binutils-all/ar.exp: Likewise. | |
211 | * testsuite/binutils-all/compress.exp: Likewise. | |
212 | * testsuite/binutils-all/readelf.exp: Likewise. | |
213 | ||
8f054a7a AM |
214 | 2021-02-12 Alan Modra <amodra@gmail.com> |
215 | ||
216 | * testsuite/binutils-all/pr25662.s: Replace "a" with "aaa" and | |
217 | "c" with "ccc" labels. | |
218 | ||
528a4f87 TV |
219 | 2021-02-12 Tom de Vries <tdevries@suse.de> |
220 | ||
221 | * dwarf.h (debug_info): Fix typo in comment. | |
222 | ||
95abb394 TV |
223 | 2021-02-12 Tom de Vries <tdevries@suse.de> |
224 | ||
225 | * dwarf.c (display_debug_str_offsets): Handle multiple sets of | |
226 | entries. | |
227 | ||
d60f7998 TV |
228 | 2021-02-12 Tom de Vries <tdevries@suse.de> |
229 | ||
230 | * dwarf.c (process_debug_info): Print DWO ID. | |
231 | ||
1cfcf300 AM |
232 | 2021-02-11 Alan Modra <amodra@gmail.com> |
233 | ||
234 | PR 27290 | |
235 | PR 27293 | |
236 | PR 27295 | |
237 | * od-elf32_avr.c (elf32_avr_get_note_section_contents): Formatting. | |
238 | Use bfd_malloc_and_get_section. | |
239 | (elf32_avr_get_note_desc): Formatting. Return descsz. Sanity | |
240 | check namesz. Return NULL if descsz is too small. Ensure | |
241 | string table is terminated. | |
242 | (elf32_avr_get_device_info): Formatting. Add note_size param. | |
243 | Sanity check note. | |
244 | (elf32_avr_dump_mem_usage): Adjust to suit. | |
245 | ||
d9d9d8ef TV |
246 | 2021-02-10 Tom de Vries <tdevries@suse.de> |
247 | ||
248 | PR binutils/27391 | |
249 | * dwarf.c (load_dwo_file): Handle case that name is absolute path. | |
250 | ||
52ff20fe TV |
251 | 2021-02-10 Tom de Vries <tdevries@suse.de> |
252 | ||
253 | PR binutils/27371 | |
254 | * dwarf.c (display_debug_ranges): Filter range lists according to | |
255 | section. | |
256 | ||
5f128a25 TV |
257 | 2021-02-09 Tom de Vries <tdevries@suse.de> |
258 | ||
259 | PR binutils/27370 | |
260 | * dwarf.c (get_type_abbrev_from_form): Handle DW_FORM_ref_sig8. | |
261 | ||
9b87f84a TV |
262 | 2021-02-09 Tom de Vries <tdevries@suse.de> |
263 | ||
264 | PR binutils/27386 | |
265 | * dwarf.c (process_debug_info): Handling DW_UT_skeleton and | |
266 | DW_UT_split_compile. | |
267 | ||
a57d1773 AM |
268 | 2021-02-09 Alan Modra <amodra@gmail.com> |
269 | ||
270 | * testsuite/lib/binutils-common.exp (supports_gnu_osabi): Remove | |
271 | symbianelf. | |
272 | ||
de8d4203 AM |
273 | 2021-02-07 Alan Modra <amodra@gmail.com> |
274 | ||
275 | * unwind-ia64.c (unw_print_xyreg): Don't leave output buffer | |
276 | uninitialised on invalid input. | |
277 | ||
51a25252 AM |
278 | 2021-02-06 Alan Modra <amodra@gmail.com> |
279 | ||
280 | PR 27349 | |
281 | * rename.c (smart_rename): Test for existence and type of output | |
282 | file with lstat. | |
283 | ||
e37d88e5 NC |
284 | 2021-02-05 Nick Clifton <nickc@redhat.com> |
285 | ||
286 | * MAINTAINERS: Remove Richard Henderson as the ALPHA maintainer. | |
287 | ||
887854ba EZ |
288 | 2021-02-05 Eli Zaretskii <eliz@gnu.org> |
289 | ||
290 | PR 27252 | |
291 | * elfedit.c (check_file): | |
292 | * bucomm.c (get_file_size): Fix typos in comments. | |
293 | ||
c180f095 AM |
294 | 2021-02-05 Alan Modra <amodra@gmail.com> |
295 | ||
296 | PR 27345 | |
297 | * arsup.c (ar_save): Use stat rather than lstat. | |
298 | ||
95b91a04 AM |
299 | 2021-02-03 Alan Modra <amodra@gmail.com> |
300 | ||
301 | PR 27270 | |
302 | PR 27284 | |
303 | PR 26945 | |
304 | * ar.c: Don't include libbfd.h. | |
305 | (write_archive): Replace xmalloc+strcpy with xstrdup. Use | |
306 | bfd_stat rather than fstat on iostream. Move stat and fd tests | |
307 | outside of _WIN32 ifdef. Delete skip_stat variable. | |
308 | * arsup.c (temp_name, real_ofd): New static variables. | |
309 | (ar_open): Use make_tempname and bfd_fdopenw. | |
310 | (ar_save): Adjust to suit ar_open changes. Move stat output | |
311 | of _WIN32 ifdef. | |
312 | * objcopy.c: Don't include libbfd.h. | |
313 | (copy_file): Use bfd_stat. | |
314 | ||
5424d7ed L |
315 | 2021-02-02 H.J. Lu <hongjiu.lu@intel.com> |
316 | ||
317 | PR binutils/27281 | |
318 | * readelf.c (process_section_headers): Add 'R' and 'D' to | |
319 | "Key to Flags:". | |
320 | * testsuite/binutils-all/retain1a.d: Updated. | |
321 | ||
72a51a06 NC |
322 | 2021-01-30 Nick Clifton <nickc@redhat.com> |
323 | ||
324 | * README-how-to-make-a-release: Small updates after the 2.35.2 | |
325 | release. | |
326 | ||
cc3edc52 EZ |
327 | 2021-01-28 Eli Zaretskii <eliz@gnu.org> |
328 | ||
329 | PR 4356 | |
330 | * windres.c (quot): Use double quotes to protect strings on | |
331 | Windows platforms. | |
332 | ||
a7ad3cb1 EZ |
333 | 2021-01-28 Eli Zaretskii <eliz@gnu.org> |
334 | ||
335 | PR 27252 | |
336 | * bucomm.c (get_file_size): Add code to handle /dev/null on | |
337 | Windows systems. | |
338 | * elfedit.c (check_file): Likewise. | |
339 | ||
67965ba2 NC |
340 | 2021-01-27 Nick Clifton <nickc@redhat.com> |
341 | ||
342 | * objcopy.c (copy_main): Remove conditional control of the calls | |
343 | to free, simplifying the code and making it easier to detect | |
344 | typos. | |
345 | ||
e37709f0 FC |
346 | 2021-01-26 Frederic Cambus <fred@statdns.com> |
347 | ||
348 | * objcopy.c (copy_main): Fix a double free happening when both | |
349 | --localize-symbols and --globalize-symbols options are invoked | |
350 | together. | |
351 | ||
9b351c9b NC |
352 | 2021-01-24 Nick Clifton <nickc@redhat.com> |
353 | ||
354 | * README-how-to-make-a-release: Minor updates after the 2.36 release. | |
355 | ||
ad92f33d AM |
356 | 2021-01-16 Alan Modra <amodra@gmail.com> |
357 | ||
358 | * readelf.c (uncompress_section_contents): Tidy inflateEnd result test. | |
359 | ||
3624a6c1 AM |
360 | 2021-01-15 Alan Modra <amodra@gmail.com> |
361 | ||
362 | PR 26539 | |
363 | * readelf.c (uncompress_section_contents): Always call inflateEnd. | |
364 | ||
c14dee84 AO |
365 | 2021-01-14 Alexandre Oliva <oliva@gnu.org> |
366 | ||
367 | * MAINTAINERS: Update my email address. | |
368 | ||
5a10699f NC |
369 | 2021-01-14 Nick Clifton <nickc@redhat.com> |
370 | ||
371 | * po/sv.po: Updated Swedish translation. | |
372 | ||
5347ed60 AM |
373 | 2021-01-13 Alan Modra <amodra@gmail.com> |
374 | ||
375 | * Makefile.in: Regenerate. | |
376 | * doc/Makefile.in: Regenerate. | |
377 | ||
2ce40d1a ZF |
378 | 2021-01-13 Zebediah Figura <z.figura12@gmail.com> |
379 | ||
380 | PR 27037 | |
381 | * dlltool.c (i386_trampoline): Adjust %rsp immediately on entry | |
382 | and before exit. | |
383 | (i386_x64_trampoline): Add SEH annotations. | |
384 | (struct mac): Add how_seh field. | |
385 | (make_delay_head): If how_set field is true add SEh instructions. | |
386 | ||
d546b610 L |
387 | 2021-01-12 H.J. Lu <hongjiu.lu@intel.com> |
388 | ||
389 | PR binutils/26792 | |
390 | * configure.ac: Use GNU_MAKE_JOBSERVER. | |
391 | * aclocal.m4: Regenerated. | |
392 | * configure: Likewise. | |
393 | ||
6d104cac NC |
394 | 2021-01-12 Nick Clifton <nickc@redhat.com> |
395 | ||
396 | * po/fr.po: Updated French translation. | |
397 | ||
83b33c6c L |
398 | 2021-01-11 H.J. Lu <hongjiu.lu@intel.com> |
399 | ||
400 | PR ld/27173 | |
401 | * configure: Regenerated. | |
402 | ||
a8aa72b9 NC |
403 | 2021-01-11 Nick Clifton <nickc@redhat.com> |
404 | ||
405 | * po/pt.po: Updated Portuguese translation. | |
406 | * po/sr.po: Updated Serbian translation. | |
407 | * po/uk.po: Updated Ukranian translation. | |
408 | ||
a4966cd9 L |
409 | 2021-01-09 H.J. Lu <hongjiu.lu@intel.com> |
410 | ||
411 | * configure: Regenerated. | |
412 | ||
573fe3fb NC |
413 | 2021-01-09 Nick Clifton <nickc@redhat.com> |
414 | ||
415 | * configure: Regenerate. | |
416 | * po/binutils.pot: Regenerate. | |
417 | ||
055bc77a NC |
418 | 2021-01-09 Nick Clifton <nickc@redhat.com> |
419 | ||
420 | * 2.36 release branch crated. | |
573fe3fb NC |
421 | * README-how-to-make-a-release: Add note about updating Makefiles |
422 | and libtool files. | |
423 | * BRANCHES: Add binutils-2.36-branch. | |
055bc77a | 424 | |
64307045 AM |
425 | 2021-01-09 Alan Modra <amodra@gmail.com> |
426 | ||
427 | * configure: Regenerate. | |
428 | ||
f4782128 ST |
429 | 2021-01-07 Samuel Thibault <samuel.thibault@gnu.org> |
430 | ||
431 | * configure: Regenerate. | |
432 | ||
d1bcae83 L |
433 | 2021-01-07 H.J. Lu <hongjiu.lu@intel.com> |
434 | ||
435 | PR 27109 | |
436 | * objcopy.c (copy_object): Handle section symbols for | |
437 | non-relocatable inputs. | |
438 | * testsuite/binutils-all/readelf.exp (readelf_test): Check | |
439 | is_elf_unused_section_symbols. | |
440 | * testsuite/binutils-all/readelf.s-64: Updated. | |
441 | * testsuite/binutils-all/readelf.ss: Likewise. | |
442 | * testsuite/binutils-all/readelf.ss-64: Likewise. | |
443 | * testsuite/binutils-all/readelf.s-64-unused: New file. | |
444 | * testsuite/binutils-all/readelf.ss-64-unused: Likewise. | |
445 | * testsuite/binutils-all/readelf.ss-unused: Likewise. | |
446 | * testsuite/lib/binutils-common.exp | |
447 | (is_elf_unused_section_symbols): New proc. | |
448 | ||
6987d5a1 RT |
449 | 2021-01-06 Reuben Thomas <rrt@sc3d.org> |
450 | ||
451 | * binutils/readelf.c: Correct grammar in comment. | |
452 | ||
f9a6a8f0 AM |
453 | 2021-01-01 Nicolas Boulenguez <nicolas@debian.org> |
454 | ||
455 | * coffgrok.c (do_type): Correct spelling of auxiliary in errors. | |
456 | * doc/binutils.texi: Correct grammar. | |
457 | * readelf.c (process_version_sections): Correct spelling of auxiliary | |
458 | in warning. | |
459 | * testsuite/binutils-all/vax/objdump.exp: Comment grammar fix. | |
460 | ||
250d07de AM |
461 | 2021-01-01 Alan Modra <amodra@gmail.com> |
462 | ||
463 | Update year range in copyright notice of all files. | |
464 | ||
c2795844 | 465 | For older changes see ChangeLog-2020 |
3499769a | 466 | \f |
c2795844 | 467 | Copyright (C) 2021 Free Software Foundation, Inc. |
3499769a AM |
468 | |
469 | Copying and distribution of this file, with or without modification, | |
470 | are permitted in any medium without royalty provided the copyright | |
471 | notice and this notice are preserved. | |
472 | ||
473 | Local Variables: | |
474 | mode: change-log | |
475 | left-margin: 8 | |
476 | fill-column: 74 | |
477 | version-control: never | |
478 | End: |