1 2019-04-08 H.J. Lu <hongjiu.lu@intel.com>
3 * testsuite/ld-elf/shared.exp: XFAIL PR ld/20995 tests for
4 lynxos and nto targets.
6 2019-04-08 H.J. Lu <hongjiu.lu@intel.com>
8 * Makefile.am (ALL_EMULATION_SOURCES): Remove eelf_i386_chaos.c.
9 (eelf_i386_chaos.c): Removed.
10 * Makefile.in: Regenerated.
11 * configure.tgt: Remove i[3-7]86-*-kaos*.
12 * emulparams/elf_i386_chaos.sh: Removed.
14 2019-04-08 H.J. Lu <hongjiu.lu@intel.com>
16 * emulparams/elf_i386_be.sh (EXTRA_EM_FILE): New.
17 * emulparams/i386moss.sh (EXTRA_EM_FILE): Likewise.
19 2019-04-08 Alan Modra <amodra@gmail.com>
21 * emulparams/elf64rdos.sh (EXTRA_EM_FILE): Define.
22 * emulparams/i386lynx.sh (EXTRA_EM_FILE): Define.
23 * emulparams/i386nto.sh (EXTRA_EM_FILE): Define.
25 2019-04-06 H.J. Lu <hongjiu.lu@intel.com>
27 * Makefile.am (ELF_X86_DEPS): Add $(srcdir)/emultempl/elf-x86.em.
28 (eelf_i386_sol2.c): Also depend on
29 $(srcdir)/emultempl/solaris2-x86.em.
30 (eelf_x86_64_sol2.c): Likewise.
31 * Makefile.in: Regenerated.
32 * emulparams/call_nop.sh: Set x86-specific linker options via
34 * emulparams/cet.sh: Likewise.
35 * emulparams/reloc_overflow.sh: Likewise.
36 * emulparams/elf32_x86_64.sh (EXTRA_EM_FILE): New. Set to
38 * emulparams/elf_i386.sh: Likewise.
39 * emulparams/elf_i386_be.sh: Likewise.
40 * emulparams/elf_i386_chaos.sh: Likewise.
41 * emulparams/elf_i386_ldso.sh: Likewise.
42 * emulparams/elf_i386_vxworks.sh: Likewise.
43 * emulparams/elf_iamcu.sh: Likewise.
44 * emulparams/elf_k1om.sh: Likewise.
45 * emulparams/elf_l1om.sh: Likewise.
46 * emulparams/elf_x86_64.sh: Likewise.
47 * emulparams/elf_i386_sol2.sh (EXTRA_EM_FILE): Changed to
49 * emulparams/elf_x86_64_sol2.sh: Likewise.
50 * emultempl/elf-x86.em: New file.
51 * emultempl/solaris2-x86.em: Likewise.
52 * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Don't
53 set link_info.call_nop_byte.
55 2019-04-05 Alan Modra <amodra@gmail.com>
57 * testsuite/ld-powerpc/tlsexe32.d: Remove trailing spaces.
58 * testsuite/ld-powerpc/tlsopt5.d: Likewise.
59 * testsuite/ld-powerpc/tlsopt5_32.d: Likewise.
61 2019-04-03 Alan Modra <amodra@gmail.com>
64 ldlex.l (SYMBOLNAMECHAR1): Don't match '/'.
65 (<EXPRESSION>"/DISCARD/"): New.
67 2019-04-03 Alan Modra <amodra@gmail.com>
69 * ldlex.l: Formatting.
70 (CMDFILENAMECHAR, CMDFILENAMECHAR1): Delete.
71 (FILENAMECHAR1, SYMBOLNAMECHAR1, FILENAMECHAR, WILDCHAR),
72 (NOCFILENAMECHAR): Remove duplicate chars. Reorder.
73 (SYMBOLCHARN): Likewise. Rename to SYMBOLNAMECHAR.
74 (<INPUTLIST>"$SYSROOT"..): Delete rule.
76 2019-03-29 Max Filippov <jcmvbkbc@gmail.com>
78 * testsuite/ld-xtensa/relax-undef-weak-pie-export-dynamic.d: New
80 * testsuite/ld-xtensa/xtensa.exp
81 (relax-undef-weak-pie-export-dynamic): Add new test.
83 2019-03-26 Martin Liska <mliska@suse.cz>
85 * plugin.c (get_symbols): Add lto_kind_str, lto_resolution_str,
86 lto_visibility_str and use then to inform about plugin-symbols.
87 * testsuite/ld-plugin/plugin-12.d: Adjust expected pattern.
89 2019-03-25 Tamar Christina <tamar.christina@arm.com>
91 * testsuite/ld-arm/jump-reloc-veneers-cond-long.d: Update disassembly.
92 * testsuite/ld-arm/jump-reloc-veneers-long.d: Update disassembly.
94 2019-03-21 Sudakshina Das <sudi.das@arm.com>
96 * testsuite/ld-aarch64/aarch64-elf.exp: Add new test.
97 * testsuite/ld-aarch64/bti-plt-1.s: Add .ifdef for PAC note section.
98 * testsuite/ld-aarch64/bti-plt-6.d: Update warning.
99 * testsuite/ld-aarch64/bti-plt-7.d: Likewise.
100 * testsuite/ld-aarch64/bti-warn.d: New test.
102 2019-03-21 Alan Modra <amodra@gmail.com>
104 * testsuite/ld-elf/fini2.s: Reduce alignment.
105 * testsuite/ld-elf/fini3.s: Likewise.
106 * testsuite/ld-elf/finin.s: Likewise.
107 * testsuite/ld-elf/init2.s: Likewise.
108 * testsuite/ld-elf/init3.s: Likewise.
109 * testsuite/ld-elf/initn.s: Likewise.
110 * testsuite/ld-elf/pr14156a.d: Don't xfail m68hc1*-* or xgate-*.
111 * testsuite/ld-elf/pr14156b.d: Don't xfail xgate-*.
113 2019-03-21 Alan Modra <amodra@gmail.com>
115 * scripttempl/alpha.sc, * scripttempl/armbpabi.sc,
116 * scripttempl/crisaout.sc, * scripttempl/elf32cr16.sc,
117 * scripttempl/elf32crx.sc, * scripttempl/elf32xc16x.sc,
118 * scripttempl/elf32xc16xl.sc, * scripttempl/elf32xc16xs.sc,
119 * scripttempl/elf64hppa.sc, * scripttempl/elf_chaos.sc,
120 * scripttempl/elfarc.sc, * scripttempl/elfarcv2.sc,
121 * scripttempl/elfd30v.sc, * scripttempl/elfm68hc11.sc,
122 * scripttempl/elfm68hc12.sc, * scripttempl/elfm9s12z.sc,
123 * scripttempl/elfmicroblaze.sc, * scripttempl/elfxgate.sc,
124 * scripttempl/elfxtensa.sc, * scripttempl/epiphany_4x4.sc,
125 * scripttempl/ft32.sc, * scripttempl/i386beos.sc,
126 * scripttempl/iq2000.sc, * scripttempl/mcorepe.sc,
127 * scripttempl/mep.sc, * scripttempl/mips.sc, * scripttempl/moxie.sc,
128 * scripttempl/pe.sc, * scripttempl/pep.sc, * scripttempl/ppcpe.sc,
129 * scripttempl/tic4xcoff.sc, * scripttempl/tic80coff.sc,
130 * scripttempl/v850.sc, * scripttempl/v850_rh850.sc,
131 * scripttempl/visium.sc, * scripttempl/xstormy16.sc: Add KEEP and
132 SORT_NONE to .init and .fini wildcards.
133 * scripttempl/elf32xc16x.sc,
134 * scripttempl/elf32xc16xl.sc,
135 * scripttempl/elf32xc16xs.sc: Add .fini wildcard.
136 * scripttempl/elf_chaos.sc: Add .init output section.
137 * scripttempl/elfd30v.sc: Remove duplicate .init.
138 * scripttempl/elfm68hc11.sc, * scripttempl/elfm68hc12.sc,
139 * scripttempl/elfm9s12z.sc, * scripttempl/elfxgate.sc: Remove
140 duplicate .init, and add .fini wildcard.
141 * scripttempl/ppcpe.sc (INIT, FINI): Delete.
142 * ldlang.c (update_wild_statements): Special case .init and
143 .fini in the wildcard, not the output section.
145 2019-03-21 Alan Modra <amodra@gmail.com>
147 * emulparams/elf32lm32fd.sh (DYNAMIC_LINK): Undef.
149 2019-03-21 Alan Modra <amodra@gmail.com>
151 * ldlang.c (lang_size_sections_1): Set SEC_KEEP on
152 create_object_symbols_section.
153 * testsuite/ld-elf/pr22319.d: Don't xfail dlx.
155 2019-03-18 Alan Modra <amodra@gmail.com>
157 * testsuite/ld-elf/merge.d: Remove csky from xfails, add moxie.
158 * testsuite/ld-elf/pr21884.d: Remove csky from xfails.
159 * testsuite/ld-elf/shared.exp: Add csky to list not xfailing pr22374.
160 * testsuite/ld-unique/pr21529.d: Remove csky from xfails
162 2019-03-15 Nick Clifton <nickc@redhat.com>
165 * ld.texi (-plugin): Correct the path used to locate linker
168 2019-03-13 Sudakshina Das <sudi.das@arm.com>
170 * NEWS: Document --pac-plt.
171 * emultempl/aarch64elf.em (OPTION_PAC_PLT): New.
172 (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add pac-plt.
173 (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_PAC_PLT.
174 * testsuite/ld-aarch64/aarch64-elf.exp: Add the following tests.
175 * testsuite/ld-aarch64/bti-pac-plt-1.d: New test.
176 * testsuite/ld-aarch64/bti-pac-plt-2.d: New test.
177 * testsuite/ld-aarch64/pac-plt-1.d: New test.
178 * testsuite/ld-aarch64/pac-plt-2.d: New test.
179 * testsuite/ld-aarch64/bti-plt-1.s: Add .ifndef directive.
181 2019-03-13 Sudakshina Das <sudi.das@arm.com>
182 Szabolcs Nagy <szabolcs.nagy@arm.com>
184 * NEWS: Document --force-bti.
185 * emultempl/aarch64elf.em (plt_type, bti_type, OPTION_FORCE_BTI): New.
186 (PARSE_AND_LIST_SHORTOPTS, PARSE_AND_LIST_OPTIONS): Add force-bti.
187 (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_FORCE_BTI.
188 * testsuite/ld-aarch64/aarch64-elf.exp: Add all the tests below.
189 * testsuite/ld-aarch64/bti-plt-1.d: New test.
190 * testsuite/ld-aarch64/bti-plt-1.s: New test.
191 * testsuite/ld-aarch64/bti-plt-2.d: New test.
192 * testsuite/ld-aarch64/bti-plt-3.d: New test.
193 * testsuite/ld-aarch64/bti-plt-4.d: New test.
194 * testsuite/ld-aarch64/bti-plt-5.d: New test.
195 * testsuite/ld-aarch64/bti-plt-6.d: New test.
196 * testsuite/ld-aarch64/bti-plt-7.d: New test.
197 * testsuite/ld-aarch64/bti-plt-so.s: New test.
198 * testsuite/ld-aarch64/bti-plt.ld: New test.
200 2019-03-13 Sudakshina Das <sudi.das@arm.com>
202 * NEWS: Document GNU_PROPERTY_AARCH64_FEATURE_1_BTI and
203 GNU_PROPERTY_AARCH64_FEATURE_1_PAC.
204 * testsuite/ld-aarch64/aarch64-elf.exp: Add run commands for new tests.
205 * testsuite/ld-aarch64/property-bti-pac1.d: New test.
206 * testsuite/ld-aarch64/property-bti-pac1.s: New test.
207 * testsuite/ld-aarch64/property-bti-pac2.d: New test.
208 * testsuite/ld-aarch64/property-bti-pac2.s: New test.
209 * testsuite/ld-aarch64/property-bti-pac3.d: New test.
211 2019-03-13 H.J. Lu <hongjiu.lu@intel.com>
214 * testsuite/ld-i386/i386.exp: Run PR ld/24322 tests.
215 * testsuite/ld-x86-64/x86-64.exp: Likewise.
216 * testsuite/ld-i386/pr24322a.d: New file.
217 * testsuite/ld-i386/pr24322b.d: Likewise.
218 * testsuite/ld-x86-64/pr24322a-x32.d: Likewise.
219 * testsuite/ld-x86-64/pr24322a.d: Likewise.
220 * testsuite/ld-x86-64/pr24322b-x32.d: Likewise.
221 * testsuite/ld-x86-64/pr24322b.d: Likewise.
222 * testsuite/ld-x86-64/pr24322a.s: Likewise.
223 * testsuite/ld-x86-64/pr24322b.s: Likewise.
224 * testsuite/ld-x86-64/pr24322c.s: Likewise.
226 2019-03-06 Nick Bowler <nbowler@draconx.ca>
229 * ldexp.c (fold_name): Allow lookups of the LENGTH and ORIGIN
230 attributes during the first phase.
232 2019-03-01 Andreas Krebbel <krebbel@linux.ibm.com>
234 This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
235 2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
238 * emulparams/elf64_s390.sh (SEPARATE_GOTPLT): Define.
239 * emulparams/elf_s390.sh (SEPARATE_GOTPLT): Define.
240 * testsuite/ld-s390/gotreloc_31-1.dd: Update expected output.
241 * testsuite/ld-s390/tlsbin.dd: Likewise.
242 * testsuite/ld-s390/tlsbin.rd: Likewise.
243 * testsuite/ld-s390/tlsbin.sd: Likewise.
244 * testsuite/ld-s390/tlsbin_64.dd: Likewise.
245 * testsuite/ld-s390/tlsbin_64.rd: Likewise.
246 * testsuite/ld-s390/tlsbin_64.sd: Likewise.
247 * testsuite/ld-s390/tlspic.dd: Likewise.
248 * testsuite/ld-s390/tlspic.rd: Likewise.
249 * testsuite/ld-s390/tlspic.sd: Likewise.
250 * testsuite/ld-s390/tlspic_64.dd: Likewise.
251 * testsuite/ld-s390/tlspic_64.rd: Likewise.
252 * testsuite/ld-s390/tlspic_64.sd: Likewise.
253 * testsuite/ld-s390/s390.exp: Skip s390 tests for tpf targets.
255 2019-02-27 H.J. Lu <hongjiu.lu@intel.com>
258 * testsuite/ld-i386/i386.exp: Run PR ld/24276 test.
259 * testsuite/ld-x86-64/x86-64.exp: Likewise.
260 * testsuite/ld-i386/pr24276.dso: New file.
261 * testsuite/ld-i386/pr24276.warn: Likewise.
262 * testsuite/ld-x86-64/pr24276.dso: Likewise.
263 * testsuite/ld-x86-64/pr24276.warn: Likewise.
265 2019-02-20 Eric Tsai <erictsai@cadence.com>
267 * testsuite/ld-xtensa/call_overflow.d: New test definition.
268 * testsuite/ld-xtensa/call_overflow1.s: New test source.
269 * testsuite/ld-xtensa/call_overflow2.s: New test source.
270 * testsuite/ld-xtensa/call_overflow3.s: New test source.
271 * testsuite/ld-xtensa/xtensa.exp: Add call_overflow test.
273 2019-02-14 Thomas Schwinge <thomas@codesourcery.com>
275 * testsuite/ld-elf/elf.exp: Remove Hurd XFAILs.
277 2019-02-12 Nick Clifton <nickc@redhat.com>
279 * po/fr.po: Updated French translation.
281 2019-02-09 Vineet Gupta <vgupta@synopsys.com>
283 * emultempl/arclinux.em: Delete special INIT/FINI handling.
285 2019-02-07 Nick Clifton <nickc@redhat.com>
288 * ld.texi (Options): Add missing word to the description of the
289 --start-group option.
291 2019-02-06 Alan Modra <amodra@gmail.com>
294 * testsuite/ld-scripts/pr24008.d: Pass with extra target
297 2019-02-05 H.J. Lu <hongjiu.lu@intel.com>
300 * testsuite/ld-x86-64/pr24151a-x32.d: New file.
301 * testsuite/ld-x86-64/pr24151a.d: Likewise.
302 * testsuite/ld-x86-64/pr24151a.s: Likewise.
303 * testsuite/ld-x86-64/x86-64.exp: Run pr24151a and pr24151a-x32.
305 2019-01-31 Alan Modra <amodra@gmail.com>
307 * NEWS: Mention -t change.
308 * ld.texi (--trace/-t): Expand documentation a little.
310 2019-01-29 H.J. Lu <hongjiu.lu@intel.com>
313 * testsuite/ld-scripts/defined.exp: Run pr24008.
314 * testsuite/ld-scripts/pr24008.d: New file.
315 * testsuite/ld-scripts/pr24008.map: Likewise.
316 * testsuite/ld-scripts/pr24008.s: Likewise.
317 * testsuite/ld-scripts/pr24008.t: Likewise.
319 2019-01-29 Eric Botcazou <ebotcazou@adacore.com>
321 * testsuite/ld-ifunc/ifunc.exp: Skip pr23169 on SPARC.
323 2019-01-28 Alan Modra <amodra@gmail.com>
326 * ldexp.h (lang_phase_type): Add lang_fixed_phase_enum.
327 * ldexp.c (fold_name): Move expld.assign_name check later to
328 avoid an extra lookup.
329 (exp_fold_tree_1): When lang_fixed_phase_enum, don't change symbol
330 values, and don't clear expld.assign_name.
331 * ldlang.c (lang_map): Set expld.phase to lang_fixed_phase_enum.
332 (print_assignment): Resolve entire assignment expression.
333 Don't access symbol u.def unless symbol is defined.
335 2019-01-25 Nick Clifton <nickc@redhat.com>
337 * po/bg.po: Updated Bulgarian translation.
339 2019-01-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
341 * ld.texi (--wrap): Add warning that LTO may make this feature
344 2019-01-21 Nick Clifton <nickc@redhat.com>
346 * po/uk.po: Updated Ukranian translation.
347 * po/pr_BR.po: Updated Brazilian Portuguese translation.
349 2019-01-21 Nick Clifton <nickc@redhat.com>
352 * testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Update
353 expected error message.
355 2019-01-19 Nick Clifton <nickc@redhat.com>
357 * configure: Regenerate.
358 * po/ld.pot: Regenerate.
360 2018-06-24 Nick Clifton <nickc@redhat.com>
364 2019-01-16 Kito Cheng <kito@andestech.com>
366 * testsuite/ld-elf/orphan-region.d: XFAIL for RISC-V, because add new
368 * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Add new tests.
369 * testsuite/ld-riscv-elf/attr-merge-arch-01.d: New test.
370 * testsuite/ld-riscv-elf/attr-merge-arch-01a.s: Likewise.
371 * testsuite/ld-riscv-elf/attr-merge-arch-01b.s: Likewise.
372 * testsuite/ld-riscv-elf/attr-merge-arch-02.d: Likewise.
373 * testsuite/ld-riscv-elf/attr-merge-arch-02a.s: Likewise.
374 * testsuite/ld-riscv-elf/attr-merge-arch-02b.s: Likewise.
375 * testsuite/ld-riscv-elf/attr-merge-arch-03.d: Likewise.
376 * testsuite/ld-riscv-elf/attr-merge-arch-03a.s: Likewise.
377 * testsuite/ld-riscv-elf/attr-merge-arch-03b.s: Likewise.
378 * testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Likewise.
379 * testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s: Likewise.
380 * testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s: Likewise.
381 * testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s: Likewise.
382 * testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s: Likewise.
383 * testsuite/ld-riscv-elf/attr-merge-priv-spec.d: Likewise.
384 * testsuite/ld-riscv-elf/attr-merge-stack-align-a.s: Likewise.
385 * testsuite/ld-riscv-elf/attr-merge-stack-align-b.s: Likewise.
386 * testsuite/ld-riscv-elf/attr-merge-stack-align-failed-a.s: Likewise.
387 * testsuite/ld-riscv-elf/attr-merge-stack-align-failed-b.s: Likewise.
388 * testsuite/ld-riscv-elf/attr-merge-stack-align-failed.d: Likewise.
389 * testsuite/ld-riscv-elf/attr-merge-stack-align.d: Likewise.
390 * testsuite/ld-riscv-elf/attr-merge-strict-align-01.d: Likewise.
391 * testsuite/ld-riscv-elf/attr-merge-strict-align-01a.s: Likewise.
392 * testsuite/ld-riscv-elf/attr-merge-strict-align-01b.s: Likewise.
393 * testsuite/ld-riscv-elf/attr-merge-strict-align-02.d: Likewise.
394 * testsuite/ld-riscv-elf/attr-merge-strict-align-02a.s: Likewise.
395 * testsuite/ld-riscv-elf/attr-merge-strict-align-02b.s: Likewise.
396 * testsuite/ld-riscv-elf/attr-merge-strict-align-03.d: Likewise.
397 * testsuite/ld-riscv-elf/attr-merge-strict-align-03a.s: Likewise.
398 * testsuite/ld-riscv-elf/attr-merge-strict-align-03b.s: Likewise.
399 * testsuite/ld-riscv-elf/attr-merge-strict-align-04.d: Likewise.
400 * testsuite/ld-riscv-elf/attr-merge-strict-align-04a.s: Likewise.
401 * testsuite/ld-riscv-elf/attr-merge-strict-align-04b.s: Likewise.
402 * testsuite/ld-riscv-elf/attr-merge-strict-align-05.d: Likewise.
403 * testsuite/ld-riscv-elf/attr-merge-strict-align-05a.s: Likewise.
404 * testsuite/ld-riscv-elf/attr-merge-strict-align-05b.s: Likewise.
406 2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
409 * emulparams/elf64_s390.sh (SEPARATE_GOTPLT): Define.
410 * emulparams/elf_s390.sh (SEPARATE_GOTPLT): Define.
411 * testsuite/ld-s390/gotreloc_31-1.dd: Update expected output.
412 * testsuite/ld-s390/tlsbin.dd: Likewise.
413 * testsuite/ld-s390/tlsbin.rd: Likewise.
414 * testsuite/ld-s390/tlsbin.sd: Likewise.
415 * testsuite/ld-s390/tlsbin_64.dd: Likewise.
416 * testsuite/ld-s390/tlsbin_64.rd: Likewise.
417 * testsuite/ld-s390/tlsbin_64.sd: Likewise.
418 * testsuite/ld-s390/tlspic.dd: Likewise.
419 * testsuite/ld-s390/tlspic.rd: Likewise.
420 * testsuite/ld-s390/tlspic.sd: Likewise.
421 * testsuite/ld-s390/tlspic_64.dd: Likewise.
422 * testsuite/ld-s390/tlspic_64.rd: Likewise.
423 * testsuite/ld-s390/tlspic_64.sd: Likewise.
424 * testsuite/ld-s390/s390.exp: Skip s390 tests for tpf targets.
426 2019-01-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
428 * ld.texi (--wrap): Add example to emphasise that only undefined
429 references are replaced by the linker.
431 2019-01-09 Nick Clifton <nickc@redhat.com>
433 * po/es.po: Updated Spanish translation.
435 2019-01-09 Andrew Paprocki <andrew@ishiboo.com>
437 * configure: Regenerate.
439 2019-01-08 Alan Modra <amodra@gmail.com>
441 * testsuite/ld-elf/sec64k.exp: Use . rather than $objdir in
442 generated source file names.
443 * testsuite/ld-m68k/m68k-got.exp: Likewise.
445 2019-01-01 Alan Modra <amodra@gmail.com>
447 Update year range in copyright notice of all files.
449 For older changes see ChangeLog-2018
451 Copyright (C) 2019 Free Software Foundation, Inc.
453 Copying and distribution of this file, with or without modification,
454 are permitted in any medium without royalty provided the copyright
455 notice and this notice are preserved.
461 version-control: never