]>
Commit | Line | Data |
---|---|---|
c6c2d1bc CLT |
1 | 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com> |
2 | ||
3 | PR other/79543 | |
4 | * acinclude.m4 (LIBAT_CHECK_LINKER_FEATURES): Fix GNU ld --version | |
5 | scanning to conform to the GNU Coding Standards. | |
6 | * configure: Regenerate. | |
7 | ||
b27c1082 MT |
8 | 2019-06-14 Matt Thomas <matt@3am-software.com> |
9 | Matthew Green <mrg@eterna.com.au> | |
10 | Nick Hudson <skrll@netbsd.org> | |
11 | Maya Rashish <coypu@sdf.org> | |
12 | ||
13 | * configure.tgt (arm*): Handle NetBSD in the same way as FreeBSD. | |
14 | ||
a5544970 JJ |
15 | 2019-01-01 Jakub Jelinek <jakub@redhat.com> |
16 | ||
17 | Update copyright years. | |
18 | ||
22e05272 JM |
19 | 2018-10-31 Joseph Myers <joseph@codesourcery.com> |
20 | ||
21 | PR bootstrap/82856 | |
22 | * Makefile.am: Include multilib.am. | |
23 | * acinclude.m4: Use AC_LANG_SOURCE. | |
24 | * configure.ac: Remove AC_PREREQ. | |
25 | * testsuite/Makefile.am (RUNTEST): Remove quotes. | |
26 | * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: | |
27 | Regenerate. | |
28 | ||
9b2e34ef CL |
29 | 2018-06-21 Christophe Lyon <christophe.lyon@linaro.org> |
30 | ||
31 | * config/arm/arm-config.h (__ARM_ARCH__): Remove definitions, use | |
32 | __ARM_ARCH instead. Use __ARM_FEATURE_LDREX to define HAVE_STREX | |
33 | and HAVE_STREXBHD | |
34 | ||
cb3c90cc FW |
35 | 2018-05-23 Florian Weimer <fweimer@redhat.com> |
36 | ||
37 | PR libgcc/60790 | |
38 | x86: Do not assume ELF constructors run before IFUNC resolvers. | |
39 | * config/x86/host-config.h (libat_feat1_ecx, libat_feat1_edx): | |
40 | Remove declarations. | |
41 | (__libat_feat1, __libat_feat1_init): Declare. | |
42 | (FEAT1_REGISTER): Define. | |
43 | (load_feat1): New function. | |
44 | (IFUNC_COND_1): Adjust. | |
45 | * config/x86/init.c (libat_feat1_ecx, libat_feat1_edx) | |
46 | (init_cpuid): Remove definitions. | |
47 | (__libat_feat1): New variable. | |
48 | (__libat_feat1_init): New function. | |
49 | ||
9220b511 TV |
50 | 2018-05-02 Tom de Vries <tom@codesourcery.com> |
51 | ||
52 | PR testsuite/85106 | |
53 | * testsuite/lib/libatomic.exp: Include scanltranstree.exp. | |
54 | ||
6c3c13c1 TV |
55 | 2018-05-02 Tom de Vries <tom@codesourcery.com> |
56 | ||
57 | PR testsuite/85106 | |
58 | * testsuite/lib/libatomic.exp: Include scanwpaipa.exp. | |
59 | ||
7b47ecf2 L |
60 | 2018-04-24 H.J. Lu <hongjiu.lu@intel.com> |
61 | ||
62 | * configure: Regenerated. | |
63 | ||
a0e1df88 JJ |
64 | 2018-04-19 Jakub Jelinek <jakub@redhat.com> |
65 | ||
66 | * configure: Regenerated. | |
67 | ||
001ddaa8 DM |
68 | 2018-04-18 David Malcolm <dmalcolm@redhat.com> |
69 | ||
70 | PR jit/85384 | |
71 | * configure: Regenerate. | |
72 | ||
a4c6bd08 AK |
73 | 2018-03-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
74 | ||
75 | * config/s390/exch_n.c: New file. | |
76 | * configure.tgt: Add the config directory for s390. | |
77 | ||
14e335ed IT |
78 | 2018-02-14 Igor Tsimbalist <igor.v.tsimbalist@intel.com> |
79 | ||
80 | PR target/84148 | |
81 | * configure: Regenerate. | |
82 | ||
85ec4feb JJ |
83 | 2018-01-03 Jakub Jelinek <jakub@redhat.com> |
84 | ||
85 | Update copyright years. | |
86 | ||
9d0e85af SE |
87 | 2017-12-14 Steve Ellcey <sellcey@cavium.com> |
88 | ||
89 | * Makefile.am (IFUNC_OPTIONS): Change aarch64 | |
90 | option from -march=armv8.1-a to -march=armv8-a+lse. | |
91 | * configure.ac (*aarch64*): Check to see if | |
92 | compiler understands -march=armv8-a+lse option. | |
93 | * configure.tgt (*aarch64*): Only set try_ifunc | |
94 | if compiler understands -march=armv8-a+lse option. | |
95 | * Makefile.in: Regenerate. | |
96 | * testsuite/Makefile.in: Regenerate. | |
97 | * configure: Regenerate. | |
98 | * aclocal.m4: Regenerate. | |
99 | ||
141abc6f SE |
100 | 2017-12-04 Steve Ellcey <sellcey@cavium.com> |
101 | ||
102 | * Makefile.am (ARCH_AARCH64_LINUX): Add IFUNC_OPTIONS and | |
103 | libatomic_la_LIBADD. | |
104 | * config/linux/aarch64/host-config.h: New file. | |
105 | * configure.ac (IFUNC_RESOLVER_ARGS): Define. | |
106 | (ARCH_AARCH64_LINUX): New conditional for IFUNC builds. | |
107 | * configure.tgt (aarch64): Set ARCH and try_ifunc. | |
108 | (aarch64*-*-linux*) Update config_path. | |
109 | (aarch64*-*-linux*) Set IFUNC_RESOLVER_ARGS. | |
110 | * libatomic_i.h (GEN_SELECTOR): Add IFUNC_RESOLVER_ARGS argument. | |
111 | * Makefile.in: Regenerate. | |
112 | * auto-config.h.in: Regenerate. | |
113 | * configure: Regenerate. | |
114 | ||
efc643e9 IT |
115 | 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com> |
116 | ||
117 | * configure.ac: Set CET_FLAGS, update XCFLAGS. | |
118 | * acinclude.m4: Add cet.m4 and enable.m4. | |
119 | * configure: Regenerate. | |
120 | * Makefile.in: Likewise. | |
121 | * testsuite/Makefile.in: Likewise. | |
122 | ||
e64944ac RE |
123 | 2017-10-20 Richard Earnshaw <rearnsha@arm.com> |
124 | ||
125 | * Makefile.am: (IFUNC_OPTIONS): Set the architecture to | |
126 | -march=armv7-a+fp on Linux/Arm. | |
127 | * Makefile.in: Regenerated. | |
128 | ||
bc437a56 MS |
129 | 2017-10-02 Martin Sebor <msebor@redhat.com> |
130 | ||
131 | PR c/81854 | |
132 | * acinclude.m4 (LIBAT_CHECK_IFUNC): Have ifunc resolver return | |
133 | a function pointer rather than void* to avoid GCC 8 warnings. | |
134 | * configure: Regenerate. | |
135 | * libatomic_i.h: Declare ifunc resolvers to return function | |
136 | pointers rather than void*. | |
137 | ||
62ffe920 RO |
138 | 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
139 | ||
140 | * testsuite/lib/libatomic.exp: Load scanlang.exp. | |
141 | ||
b906c007 PD |
142 | 2017-02-06 Palmer Dabbelt <palmer@dabbelt.com> |
143 | ||
144 | * configure.tgt: Add RISC-V tuple. | |
145 | ||
969a32ce | 146 | 2017-02-01 Richard Henderson <rth@redhat.com> |
92a285c1 | 147 | Torvald Riegel <triegel@redhat.com> |
969a32ce TR |
148 | |
149 | * acinclude.m4: Add #define FAST_ATOMIC_LDST_*. | |
150 | * auto-config.h.in: Regenerate. | |
151 | * config/x86/host-config.h (FAST_ATOMIC_LDST_16): Define to 0. | |
152 | (atomic_compare_exchange_n): New. | |
153 | * glfree.c (EXACT, LARGER): Change condition and add comments. | |
154 | ||
87c45ec7 SN |
155 | 2017-01-30 Szabolcs Nagy <szabolcs.nagy@arm.com> |
156 | ||
157 | PR target/78945 | |
158 | * config/arm/exch_n.c (libat_exchange): Check __ARM_FEATURE_SIMD32. | |
159 | ||
73aa401e JJ |
160 | 2017-01-21 Jakub Jelinek <jakub@redhat.com> |
161 | ||
162 | PR other/79046 | |
163 | * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead | |
164 | of cat to get version from BASE-VER file. | |
165 | * testsuite/Makefile.in: Regenerated. | |
166 | ||
3c36aa6b JJ |
167 | 2017-01-17 Jakub Jelinek <jakub@redhat.com> |
168 | ||
169 | PR other/79046 | |
170 | * configure.ac: Add GCC_BASE_VER. | |
171 | * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to | |
172 | get version from BASE-VER file. | |
173 | * testsuite/Makefile.in: Regenerated. | |
174 | * configure: Regenerated. | |
175 | * Makefile.in: Regenerated. | |
176 | ||
cbe34bb5 JJ |
177 | 2017-01-01 Jakub Jelinek <jakub@redhat.com> |
178 | ||
179 | Update copyright years. | |
180 | ||
84c1b9d3 MK |
181 | 2016-11-15 Matthias Klose <doko@ubuntu.com> |
182 | ||
183 | * configure: Regenerate. | |
184 | ||
c47194d2 SH |
185 | 2016-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de> |
186 | ||
187 | * configure.tgt (configure_tgt_pre_target_cpu_XCFLAGS): New variable. | |
188 | (*-*-rtems*): New supported target. | |
189 | * config/rtems/host-config.h: New file. | |
190 | * config/rtems/lock.c: Likewise. | |
191 | ||
3dd7e092 L |
192 | 2016-04-25 H.J. Lu <hongjiu.lu@intel.com> |
193 | ||
194 | PR target/70454 | |
195 | * configure.tgt (XCFLAGS): Revert the last change. | |
196 | ||
9023fd9e L |
197 | 2016-04-20 H.J. Lu <hongjiu.lu@intel.com> |
198 | ||
199 | PR target/70454 | |
200 | * configure.tgt (XCFLAGS): Don't add -march=i486 to compile | |
201 | 32-bit x86 target library on x86-64. | |
202 | ||
7c961392 SN |
203 | 2016-01-06 Szabolcs Nagy <szabolcs.nagy@arm.com> |
204 | ||
205 | PR other/67627 | |
206 | * Makefile.am (all-multi): Add dependency. | |
207 | * Makefile.in: Regenerate. | |
208 | ||
818ab71a JJ |
209 | 2016-01-04 Jakub Jelinek <jakub@redhat.com> |
210 | ||
211 | Update copyright years. | |
212 | ||
c29c36ad JM |
213 | 2015-11-18 Joseph Myers <joseph@codesourcery.com> |
214 | ||
215 | PR c/65083 | |
216 | * fence.c, flag.c: New files. | |
217 | * Makefile.am (libatomic_la_SOURCES): Add fence.c and flag.c. | |
218 | * Makefile.in: Regenerate. | |
219 | * configure.ac (libtool_VERSION): Change to 3:0:2. | |
220 | * configure: Regenerate. | |
221 | * libatomic.map (LIBATOMIC_1.2): New symbol version. | |
222 | ||
9e531d37 DM |
223 | 2015-10-09 David Malcolm <dmalcolm@redhat.com> |
224 | ||
225 | * testsuite/lib/libatomic.exp: Load multiline.exp before | |
226 | prune.exp, using load_gcc_lib. | |
227 | ||
b6735e76 JM |
228 | 2015-07-14 John Marino <gnugcc@marino.st> |
229 | ||
230 | * configure.tgt: Add *-*-dragonfly to supported targets. | |
231 | ||
122a5d60 AW |
232 | 2015-01-21 Andrew Waterman <waterman@cs.berkeley.edu> |
233 | ||
234 | * fop_n.c (libat_fetch_op): Align address to word boundary. | |
235 | (libat_op_fetch): Likewise. | |
236 | ||
fe23ff4b IV |
237 | 2015-01-16 Ilya Verbin <ilya.verbin@intel.com> |
238 | ||
239 | PR testsuite/64605 | |
240 | * testsuite/lib/libatomic.exp: Do not load gcc-dg.exp. | |
241 | * testsuite/libatomic.c/c.exp: Load gcc-dg.exp. | |
242 | ||
82a19768 AT |
243 | 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org> |
244 | ||
245 | * configure.tgt: Exclude arm*-*-freebsd* from try_ifunc. | |
246 | ||
5624e564 JJ |
247 | 2015-01-05 Jakub Jelinek <jakub@redhat.com> |
248 | ||
249 | Update copyright years. | |
250 | ||
69aef6dc KT |
251 | 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
252 | ||
253 | * testsuite/lib/libatomic.exp: Load target-utils.exp | |
254 | ||
a699d672 L |
255 | 2014-11-21 H.J. Lu <hongjiu.lu@intel.com> |
256 | ||
257 | PR bootstrap/63784 | |
258 | * configure: Regenerated. | |
259 | ||
ca3d99a6 AW |
260 | 2014-11-13 Andrew Waterman <waterman@cs.berkeley.edu> |
261 | ||
262 | * cas_n.c (libat_compare_exchange): Add missing cast. | |
263 | ||
ebf6d33b FXC |
264 | 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
265 | ||
266 | PR target/63610 | |
267 | * configure: Regenerate. | |
268 | ||
6fe8c024 KT |
269 | 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com> |
270 | ||
271 | * configure.tgt: Add cygwin to supported targets. | |
272 | ||
273 | 2014-07-18 Uros Bizjak <ubizjak@gmail.com> | |
537b5312 UB |
274 | |
275 | * configure.tgt (alpha*): Add -mfp-trap-mode=sui to XCFLAGS. | |
276 | ||
dc3368d0 KT |
277 | 2014-06-17 Kai Tietz <ktietz@redhat.com> |
278 | ||
279 | * Makefile.am (libatomic_la_LDFLAGS): Add lt_host_flags. | |
280 | * configure.ac (ACX_LT_HOST_FLAGS): New. | |
281 | (target_thread_file): New. | |
282 | * configure.tgt (mingw): Add mingw support. | |
283 | * config/mingw/host-config.h: New file. | |
284 | * config/mingw/lock.c: Likewise. | |
285 | * Makefile.in: Regenerated. | |
286 | * configure: Likewise. | |
287 | * aclocal.m4: Likewise. | |
288 | * testsuite/Makefile.in: Likewise. | |
289 | ||
672ce939 RH |
290 | 2014-02-20 Richard Henderson <rth@redhat.com> |
291 | ||
292 | PR c++/60272 | |
293 | * cas_n.c (libat_compare_exchange): Conditionalize on failure | |
294 | the store back to EPTR. | |
295 | ||
3e6a2e37 RS |
296 | 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com> |
297 | ||
298 | Update copyright years | |
299 | ||
8b02e720 UB |
300 | 2013-12-09 Uros Bizjak <ubizjak@gmail.com> |
301 | ||
302 | * config/x86/fenv.c (__atomic_feraiseexcept): Emit SSE | |
1f71a3c3 | 303 | instructions when __SSE_MATH__ is defined. |
8b02e720 | 304 | |
a2ca7c8c JM |
305 | 2013-11-18 Joseph Myers <joseph@codesourcery.com> |
306 | ||
307 | * testsuite/libatomic.c/atomic-compare-exchange-1.c, | |
308 | testsuite/libatomic.c/atomic-compare-exchange-2.c, | |
309 | testsuite/libatomic.c/atomic-compare-exchange-3.c, | |
310 | testsuite/libatomic.c/atomic-compare-exchange-4.c, | |
311 | testsuite/libatomic.c/atomic-compare-exchange-5.c, | |
312 | testsuite/libatomic.c/atomic-exchange-1.c, | |
313 | testsuite/libatomic.c/atomic-exchange-2.c, | |
314 | testsuite/libatomic.c/atomic-exchange-3.c, | |
315 | testsuite/libatomic.c/atomic-exchange-4.c, | |
316 | testsuite/libatomic.c/atomic-exchange-5.c, | |
317 | testsuite/libatomic.c/atomic-generic.c, | |
318 | testsuite/libatomic.c/atomic-load-1.c, | |
319 | testsuite/libatomic.c/atomic-load-2.c, | |
320 | testsuite/libatomic.c/atomic-load-3.c, | |
321 | testsuite/libatomic.c/atomic-load-4.c, | |
322 | testsuite/libatomic.c/atomic-load-5.c, | |
323 | testsuite/libatomic.c/atomic-op-1.c, | |
324 | testsuite/libatomic.c/atomic-op-2.c, | |
325 | testsuite/libatomic.c/atomic-op-3.c, | |
326 | testsuite/libatomic.c/atomic-op-4.c, | |
327 | testsuite/libatomic.c/atomic-op-5.c, | |
328 | testsuite/libatomic.c/atomic-store-1.c, | |
329 | testsuite/libatomic.c/atomic-store-2.c, | |
330 | testsuite/libatomic.c/atomic-store-3.c, | |
331 | testsuite/libatomic.c/atomic-store-4.c, | |
332 | testsuite/libatomic.c/atomic-store-5.c: Declare main as returning | |
333 | int. Do not require built-in sync support or add target-specific | |
334 | options. | |
335 | * testsuite/libatomic.c/atomic-exchange-1.c, | |
336 | testsuite/libatomic.c/atomic-exchange-2.c, | |
337 | testsuite/libatomic.c/atomic-exchange-3.c, | |
338 | testsuite/libatomic.c/atomic-exchange-4.c, | |
339 | testsuite/libatomic.c/atomic-exchange-5.c: Separate increments of | |
340 | count from expression using value of count. | |
341 | ||
6fbf9877 UB |
342 | 2013-11-10 Uros Bizjak <ubizjak@gmail.com> |
343 | ||
344 | * config/x86/fenv.c: New file. | |
345 | ||
267bac10 JM |
346 | 2013-11-07 Joseph Myers <joseph@codesourcery.com> |
347 | ||
348 | * fenv.c: New file. | |
349 | * libatomic.map (LIBATOMIC_1.1): New symbol version. Include | |
350 | __atomic_feraiseexcept. | |
351 | * configure.ac (libtool_VERSION): Change to 2:0:1. | |
352 | (fenv.h): Test for header. | |
353 | * Makefile.am (libatomic_la_SOURCES): Add fenv.c. | |
354 | * Makefile.in, auto-config.h.in, configure: Regenerate. | |
355 | ||
a115cf9c MHD |
356 | 2013-10-17 Michael Hudson-Doyle <michael.hudson@linaro.org> |
357 | ||
358 | * libatomic/configure.tgt (aarch64*): Remove code preventing | |
359 | build. | |
360 | ||
3cbe17f7 AM |
361 | 2013-09-20 Alan Modra <amodra@gmail.com> |
362 | ||
363 | * configure: Regenerate. | |
364 | ||
69b2c423 RS |
365 | 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com> |
366 | ||
367 | Update copyright years. | |
368 | ||
36749a1f ILT |
369 | 2012-12-18 Ian Lance Taylor <iant@google.com> |
370 | ||
371 | PR go/55201 | |
372 | * Makefile.am (noinst_LTLIBRARIES): Define new make variable. | |
373 | (libatomic_convenience_la_SOURCES): Likewise. | |
374 | (libatomic_convenience_la_LIBADD): Likewise. | |
375 | * Makefile.in: Rebuild. | |
376 | * testsuite/Makefile.in: Rebuild. | |
377 | ||
408d2995 MS |
378 | 2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com> |
379 | ||
380 | * config/arm/arm-config.h (__ARM_ARCH_8A__): New. | |
381 | ||
5eb4cb47 MK |
382 | 2012-11-21 Matthias Klose <doko@ubuntu.com> |
383 | ||
384 | * configure.tgt (i[3456]86): Handle -mx32 like -m64. | |
385 | ||
b9efc877 TS |
386 | 2012-11-04 Thomas Schwinge <thomas@codesourcery.com> |
387 | ||
40448151 TS |
388 | * acinclude.m4 (LIBAT_CHECK_IFUNC): Clarify message. |
389 | * configure: Regenerate. | |
390 | ||
b9efc877 TS |
391 | * configure: Regenerate. |
392 | ||
34f8442e SN |
393 | 2012-10-23 Sofiane Naci <sofiane.naci@arm.com> |
394 | ||
395 | Mark libatomic unsupported in AArch64. | |
396 | ||
397 | * configure.tgt: Mark libatomic unsupported. | |
398 | ||
c0758df9 JJ |
399 | 2012-09-20 Jakub Jelinek <jakub@redhat.com> |
400 | ||
401 | PR other/43620 | |
402 | * configure.ac (AM_INIT_AUTOMAKE): Add no-dist. | |
403 | * configure: Regenerate. | |
404 | * Makefile.in: Regenerate. | |
405 | ||
00c2f0ef DE |
406 | 2012-09-14 David Edelsohn <dje.gcc@gmail.com> |
407 | ||
408 | * configure: Regenerated. | |
409 | ||
91734423 JDA |
410 | 2012-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
411 | ||
412 | PR other/53231 | |
413 | * tas_n.c (libat_test_and_set): Correct return. Remove unused variable. | |
414 | ||
e6d5f8c9 L |
415 | 2012-05-16 H.J. Lu <hongjiu.lu@intel.com> |
416 | ||
417 | * configure: Regenerated. | |
418 | ||
aaea76b3 RO |
419 | 2012-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
420 | ||
421 | PR other/53284 | |
422 | * acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Add -O0 -S to CFLAGS | |
423 | instead of overriding. | |
424 | * configure: Regenerate. | |
425 | ||
527eeee5 RO |
426 | 2012-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
427 | ||
428 | * Makefile.am (libatomic.map-sun): Handle objects in | |
429 | libatomic_la_LIBADD. | |
430 | * aclocal.m4: Regenerate. | |
431 | * Makefile.in: Regenerate. | |
432 | ||
e9885be5 RO |
433 | 2012-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
434 | ||
435 | * configure.ac: Add $XPCFLAGS to CFLAGS, not $XCFLAGS. | |
436 | * configure: Regenerate. | |
437 | ||
0fe5522f RH |
438 | 2012-05-03 Richard Henderson <rth@redhat.com> |
439 | ||
fa3cd3c3 | 440 | * configure.ac (AM_MAINTAINER_MODE): New. |
0fe5522f RH |
441 | * acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Handle compilation |
442 | failure in gcc_no_link path. | |
fa3cd3c3 | 443 | * configure, aclocal.m4, Makefile.in: Rebuild. |
0fe5522f | 444 | |
48310492 RH |
445 | 2012-05-01 Richard Henderson <rth@redhat.com> |
446 | ||
447 | * Initial commit. | |
818ab71a | 448 | \f |
a5544970 | 449 | Copyright (C) 2012-2019 Free Software Foundation, Inc. |
818ab71a JJ |
450 | |
451 | Copying and distribution of this file, with or without modification, | |
452 | are permitted in any medium without royalty provided the copyright | |
453 | notice and this notice are preserved. |