1 2022-03-24 Tom de Vries <tdevries@suse.de>
4 * tas_n.c (libat_test_and_set): Fix return value.
6 2022-03-17 Jakub Jelinek <jakub@redhat.com>
9 * Makefile.am (IFUNC_OPTIONS): Change on x86_64 to -mcx16 -mcx16.
10 (libatomic_la_LIBADD): Add $(addsuffix _16_2_.lo,$(SIZEOBJS)) for
12 * Makefile.in: Regenerated.
13 * config/x86/host-config.h (IFUNC_COND_1): For x86_64 define to
14 both AVX and CMPXCHG16B bits.
15 (IFUNC_COND_2): Define.
16 (IFUNC_NCOND): For x86_64 define to 2 * (N == 16).
17 (MAYBE_HAVE_ATOMIC_CAS_16, MAYBE_HAVE_ATOMIC_EXCHANGE_16,
18 MAYBE_HAVE_ATOMIC_LDST_16): Define to IFUNC_COND_2 rather than
20 (HAVE_ATOMIC_CAS_16): Redefine to 1 whenever IFUNC_ALT != 0.
21 (HAVE_ATOMIC_LDST_16): Redefine to 1 whenever IFUNC_ALT == 1.
22 (atomic_compare_exchange_n): Define whenever IFUNC_ALT != 0
23 on x86_64 for N == 16.
24 (__atomic_load_n, __atomic_store_n): Redefine whenever IFUNC_ALT == 1
25 on x86_64 for N == 16.
26 (atomic_load_n, atomic_store_n): New functions.
27 * config/x86/init.c (__libat_feat1_init): On x86_64 clear bit_AVX
28 if CPU vendor is not Intel.
30 2022-02-03 David Seifert <soap@gentoo.org>
31 Jakub Jelinek <jakub@redhat.com>
33 * configure.ac: Support --disable-werror.
34 * configure: Regenerate.
36 2022-01-31 Martin Liska <mliska@suse.cz>
38 * acinclude.m4: Detect *_ld_is_mold and use it.
39 * configure: Regenerate.
41 2022-01-24 Martin Liska <mliska@suse.cz>
43 * acinclude.m4: Remove duplicate
44 LIBAT_CHECK_LINKER_FEATURES.
45 * configure: Regenerate.
47 2021-07-21 Martin Sebor <msebor@redhat.com>
50 * config/linux/arm/host-config.h (__kernel_helper_version): New
51 function. Adjust shadow macro.
53 2021-01-15 Jakub Jelinek <jakub@redhat.com>
56 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
57 be added through preprocessor check on
58 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4. Determine if try_ifunc is needed
59 based on preprocessor check on __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16
60 or __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8.
62 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
64 * configure: Re-generate.
66 2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
69 * configure: Regenerate.
71 2020-11-29 John David Anglin <danglin@gcc.gnu.org>
73 * configure: Regenerate.
75 2020-10-11 Clement Chigot <clement.chigot@atos.net>
77 * config/t-aix: Delete and recreate libatomic before creating
80 2020-09-27 Clement Chigot <clement.chigot@atos.net>
82 * config/t-aix: Use $(AR) without -X32_64.
84 2020-09-11 Tom de Vries <tdevries@suse.de>
87 * configure.tgt: Add nvptx.
88 * libatomic_i.h (MASK_8, INVERT_MASK_8): New macro definition.
89 * config/nvptx/host-config.h: New file.
90 * config/nvptx/lock.c: New file.
92 2020-09-07 Tom de Vries <tdevries@suse.de>
94 * testsuite/libatomic.c/atomic-generic.c: Include string.h.
96 2020-07-14 David Edelsohn <dje.gcc@gmail.com>
98 * config/t-aix: Set BITS from compiler cpp macro.
100 2020-06-22 David Edelsohn <dje.gcc@gmail.com>
102 * Makefile.am: Use -include.
103 * Makefile.in: Regenerate.
105 2020-06-21 David Edelsohn <dje.gcc@gmail.com>
107 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
108 * Makefile.in: Regenerate.
109 * configure.ac (tmake_file): Substitute.
110 * configure: Regenerate.
111 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
112 * config/t-aix: New file.
114 2020-06-01 Uroš Bizjak <ubizjak@gmail.com>
116 * config/x86/fenv.c (struct fenv): Add __attribute__ ((gcc_struct)).
118 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
121 * configure: Regenerated.
123 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
126 * configure: Regenerated.
128 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
130 * configure: Regenerated.
132 2020-05-06 Uroš Bizjak <ubizjak@gmail.com>
134 * config/x86/fenv.c (__math_force_eval): Remove.
135 (__math_force_eval_div): New define.
136 (__atomic_deraiseexcept): Use __math_force_eval_div to use
137 generic division to generate INVALID, DIVZERO and INEXACT
140 2020-05-01 Uroš Bizjak <ubizjak@gmail.com>
142 * config/x86/fenv.c (__math_force_eval): New define.
143 (__atomic_feraiseexcept): Use __math_force_eval to evaluate
144 generic division to generate INVALID and DIVZERO exceptions.
146 2020-04-19 Uroš Bizjak <ubizjak@gmail.com>
148 * config/x86/fenv.c (__atomic_feraiseexcept) [__SSE_MATH__]:
149 Remove unneeded assignments to volatile memory.
151 2020-04-06 Maciej W. Rozycki <macro@wdc.com>
153 * configure.ac: Add testsuite/libatomic-site-extra.exp to output
155 * configure: Regenerate.
156 * libatomic/testsuite/libatomic-site-extra.exp.in: New file.
157 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
159 * testsuite/Makefile.in: Regenerate.
161 2020-02-22 Jakub Jelinek <jakub@redhat.com>
164 * Makefile.am (M_DEPS): Guard the empty definition with
165 @AMDEP_FALSE@ rather than @AMDEP_TRUE@.
166 * Makefile.in: Regenerated.
168 2020-02-22 Richard Purdie <rpurdie@rpsys.net>
171 * Makefile.am (M_DEPS): Honor -disable-dependency-tracking.
172 * Makefile.in: Regenerated.
174 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
176 * configure.ac: Handle `--with-toolexeclibdir='.
177 * Makefile.in: Regenerate.
178 * aclocal.m4: Regenerate.
179 * configure: Regenerate.
180 * testsuite/Makefile.in: Regenerate.
182 2020-01-01 Jakub Jelinek <jakub@redhat.com>
184 Update copyright years.
186 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
188 * configure: Regenerate.
190 2019-09-10 Christophe Lyon <christophe.lyon@st.com>
192 * configure.tgt: Handle arm*-*-uclinux*.
193 * configure: Regenerate.
195 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
198 * acinclude.m4 (LIBAT_CHECK_LINKER_FEATURES): Fix GNU ld --version
199 scanning to conform to the GNU Coding Standards.
200 * configure: Regenerate.
202 2019-06-14 Matt Thomas <matt@3am-software.com>
203 Matthew Green <mrg@eterna.com.au>
204 Nick Hudson <skrll@netbsd.org>
205 Maya Rashish <coypu@sdf.org>
207 * configure.tgt (arm*): Handle NetBSD in the same way as FreeBSD.
209 2019-01-01 Jakub Jelinek <jakub@redhat.com>
211 Update copyright years.
213 2018-10-31 Joseph Myers <joseph@codesourcery.com>
216 * Makefile.am: Include multilib.am.
217 * acinclude.m4: Use AC_LANG_SOURCE.
218 * configure.ac: Remove AC_PREREQ.
219 * testsuite/Makefile.am (RUNTEST): Remove quotes.
220 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
223 2018-06-21 Christophe Lyon <christophe.lyon@linaro.org>
225 * config/arm/arm-config.h (__ARM_ARCH__): Remove definitions, use
226 __ARM_ARCH instead. Use __ARM_FEATURE_LDREX to define HAVE_STREX
229 2018-05-23 Florian Weimer <fweimer@redhat.com>
232 x86: Do not assume ELF constructors run before IFUNC resolvers.
233 * config/x86/host-config.h (libat_feat1_ecx, libat_feat1_edx):
235 (__libat_feat1, __libat_feat1_init): Declare.
236 (FEAT1_REGISTER): Define.
237 (load_feat1): New function.
238 (IFUNC_COND_1): Adjust.
239 * config/x86/init.c (libat_feat1_ecx, libat_feat1_edx)
240 (init_cpuid): Remove definitions.
241 (__libat_feat1): New variable.
242 (__libat_feat1_init): New function.
244 2018-05-02 Tom de Vries <tom@codesourcery.com>
247 * testsuite/lib/libatomic.exp: Include scanltranstree.exp.
249 2018-05-02 Tom de Vries <tom@codesourcery.com>
252 * testsuite/lib/libatomic.exp: Include scanwpaipa.exp.
254 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
256 * configure: Regenerated.
258 2018-04-19 Jakub Jelinek <jakub@redhat.com>
260 * configure: Regenerated.
262 2018-04-18 David Malcolm <dmalcolm@redhat.com>
265 * configure: Regenerate.
267 2018-03-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
269 * config/s390/exch_n.c: New file.
270 * configure.tgt: Add the config directory for s390.
272 2018-02-14 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
275 * configure: Regenerate.
277 2018-01-03 Jakub Jelinek <jakub@redhat.com>
279 Update copyright years.
281 2017-12-14 Steve Ellcey <sellcey@cavium.com>
283 * Makefile.am (IFUNC_OPTIONS): Change aarch64
284 option from -march=armv8.1-a to -march=armv8-a+lse.
285 * configure.ac (*aarch64*): Check to see if
286 compiler understands -march=armv8-a+lse option.
287 * configure.tgt (*aarch64*): Only set try_ifunc
288 if compiler understands -march=armv8-a+lse option.
289 * Makefile.in: Regenerate.
290 * testsuite/Makefile.in: Regenerate.
291 * configure: Regenerate.
292 * aclocal.m4: Regenerate.
294 2017-12-04 Steve Ellcey <sellcey@cavium.com>
296 * Makefile.am (ARCH_AARCH64_LINUX): Add IFUNC_OPTIONS and
298 * config/linux/aarch64/host-config.h: New file.
299 * configure.ac (IFUNC_RESOLVER_ARGS): Define.
300 (ARCH_AARCH64_LINUX): New conditional for IFUNC builds.
301 * configure.tgt (aarch64): Set ARCH and try_ifunc.
302 (aarch64*-*-linux*) Update config_path.
303 (aarch64*-*-linux*) Set IFUNC_RESOLVER_ARGS.
304 * libatomic_i.h (GEN_SELECTOR): Add IFUNC_RESOLVER_ARGS argument.
305 * Makefile.in: Regenerate.
306 * auto-config.h.in: Regenerate.
307 * configure: Regenerate.
309 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
311 * configure.ac: Set CET_FLAGS, update XCFLAGS.
312 * acinclude.m4: Add cet.m4 and enable.m4.
313 * configure: Regenerate.
314 * Makefile.in: Likewise.
315 * testsuite/Makefile.in: Likewise.
317 2017-10-20 Richard Earnshaw <rearnsha@arm.com>
319 * Makefile.am: (IFUNC_OPTIONS): Set the architecture to
320 -march=armv7-a+fp on Linux/Arm.
321 * Makefile.in: Regenerated.
323 2017-10-02 Martin Sebor <msebor@redhat.com>
326 * acinclude.m4 (LIBAT_CHECK_IFUNC): Have ifunc resolver return
327 a function pointer rather than void* to avoid GCC 8 warnings.
328 * configure: Regenerate.
329 * libatomic_i.h: Declare ifunc resolvers to return function
330 pointers rather than void*.
332 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
334 * testsuite/lib/libatomic.exp: Load scanlang.exp.
336 2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
338 * configure.tgt: Add RISC-V tuple.
340 2017-02-01 Richard Henderson <rth@redhat.com>
341 Torvald Riegel <triegel@redhat.com>
343 * acinclude.m4: Add #define FAST_ATOMIC_LDST_*.
344 * auto-config.h.in: Regenerate.
345 * config/x86/host-config.h (FAST_ATOMIC_LDST_16): Define to 0.
346 (atomic_compare_exchange_n): New.
347 * glfree.c (EXACT, LARGER): Change condition and add comments.
349 2017-01-30 Szabolcs Nagy <szabolcs.nagy@arm.com>
352 * config/arm/exch_n.c (libat_exchange): Check __ARM_FEATURE_SIMD32.
354 2017-01-21 Jakub Jelinek <jakub@redhat.com>
357 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
358 of cat to get version from BASE-VER file.
359 * testsuite/Makefile.in: Regenerated.
361 2017-01-17 Jakub Jelinek <jakub@redhat.com>
364 * configure.ac: Add GCC_BASE_VER.
365 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
366 get version from BASE-VER file.
367 * testsuite/Makefile.in: Regenerated.
368 * configure: Regenerated.
369 * Makefile.in: Regenerated.
371 2017-01-01 Jakub Jelinek <jakub@redhat.com>
373 Update copyright years.
375 2016-11-15 Matthias Klose <doko@ubuntu.com>
377 * configure: Regenerate.
379 2016-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
381 * configure.tgt (configure_tgt_pre_target_cpu_XCFLAGS): New variable.
382 (*-*-rtems*): New supported target.
383 * config/rtems/host-config.h: New file.
384 * config/rtems/lock.c: Likewise.
386 2016-04-25 H.J. Lu <hongjiu.lu@intel.com>
389 * configure.tgt (XCFLAGS): Revert the last change.
391 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
394 * configure.tgt (XCFLAGS): Don't add -march=i486 to compile
395 32-bit x86 target library on x86-64.
397 2016-01-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
400 * Makefile.am (all-multi): Add dependency.
401 * Makefile.in: Regenerate.
403 2016-01-04 Jakub Jelinek <jakub@redhat.com>
405 Update copyright years.
407 2015-11-18 Joseph Myers <joseph@codesourcery.com>
410 * fence.c, flag.c: New files.
411 * Makefile.am (libatomic_la_SOURCES): Add fence.c and flag.c.
412 * Makefile.in: Regenerate.
413 * configure.ac (libtool_VERSION): Change to 3:0:2.
414 * configure: Regenerate.
415 * libatomic.map (LIBATOMIC_1.2): New symbol version.
417 2015-10-09 David Malcolm <dmalcolm@redhat.com>
419 * testsuite/lib/libatomic.exp: Load multiline.exp before
420 prune.exp, using load_gcc_lib.
422 2015-07-14 John Marino <gnugcc@marino.st>
424 * configure.tgt: Add *-*-dragonfly to supported targets.
426 2015-01-21 Andrew Waterman <waterman@cs.berkeley.edu>
428 * fop_n.c (libat_fetch_op): Align address to word boundary.
429 (libat_op_fetch): Likewise.
431 2015-01-16 Ilya Verbin <ilya.verbin@intel.com>
434 * testsuite/lib/libatomic.exp: Do not load gcc-dg.exp.
435 * testsuite/libatomic.c/c.exp: Load gcc-dg.exp.
437 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
439 * configure.tgt: Exclude arm*-*-freebsd* from try_ifunc.
441 2015-01-05 Jakub Jelinek <jakub@redhat.com>
443 Update copyright years.
445 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
447 * testsuite/lib/libatomic.exp: Load target-utils.exp
449 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
452 * configure: Regenerated.
454 2014-11-13 Andrew Waterman <waterman@cs.berkeley.edu>
456 * cas_n.c (libat_compare_exchange): Add missing cast.
458 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
461 * configure: Regenerate.
463 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
465 * configure.tgt: Add cygwin to supported targets.
467 2014-07-18 Uros Bizjak <ubizjak@gmail.com>
469 * configure.tgt (alpha*): Add -mfp-trap-mode=sui to XCFLAGS.
471 2014-06-17 Kai Tietz <ktietz@redhat.com>
473 * Makefile.am (libatomic_la_LDFLAGS): Add lt_host_flags.
474 * configure.ac (ACX_LT_HOST_FLAGS): New.
475 (target_thread_file): New.
476 * configure.tgt (mingw): Add mingw support.
477 * config/mingw/host-config.h: New file.
478 * config/mingw/lock.c: Likewise.
479 * Makefile.in: Regenerated.
480 * configure: Likewise.
481 * aclocal.m4: Likewise.
482 * testsuite/Makefile.in: Likewise.
484 2014-02-20 Richard Henderson <rth@redhat.com>
487 * cas_n.c (libat_compare_exchange): Conditionalize on failure
488 the store back to EPTR.
490 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
492 Update copyright years
494 2013-12-09 Uros Bizjak <ubizjak@gmail.com>
496 * config/x86/fenv.c (__atomic_feraiseexcept): Emit SSE
497 instructions when __SSE_MATH__ is defined.
499 2013-11-18 Joseph Myers <joseph@codesourcery.com>
501 * testsuite/libatomic.c/atomic-compare-exchange-1.c,
502 testsuite/libatomic.c/atomic-compare-exchange-2.c,
503 testsuite/libatomic.c/atomic-compare-exchange-3.c,
504 testsuite/libatomic.c/atomic-compare-exchange-4.c,
505 testsuite/libatomic.c/atomic-compare-exchange-5.c,
506 testsuite/libatomic.c/atomic-exchange-1.c,
507 testsuite/libatomic.c/atomic-exchange-2.c,
508 testsuite/libatomic.c/atomic-exchange-3.c,
509 testsuite/libatomic.c/atomic-exchange-4.c,
510 testsuite/libatomic.c/atomic-exchange-5.c,
511 testsuite/libatomic.c/atomic-generic.c,
512 testsuite/libatomic.c/atomic-load-1.c,
513 testsuite/libatomic.c/atomic-load-2.c,
514 testsuite/libatomic.c/atomic-load-3.c,
515 testsuite/libatomic.c/atomic-load-4.c,
516 testsuite/libatomic.c/atomic-load-5.c,
517 testsuite/libatomic.c/atomic-op-1.c,
518 testsuite/libatomic.c/atomic-op-2.c,
519 testsuite/libatomic.c/atomic-op-3.c,
520 testsuite/libatomic.c/atomic-op-4.c,
521 testsuite/libatomic.c/atomic-op-5.c,
522 testsuite/libatomic.c/atomic-store-1.c,
523 testsuite/libatomic.c/atomic-store-2.c,
524 testsuite/libatomic.c/atomic-store-3.c,
525 testsuite/libatomic.c/atomic-store-4.c,
526 testsuite/libatomic.c/atomic-store-5.c: Declare main as returning
527 int. Do not require built-in sync support or add target-specific
529 * testsuite/libatomic.c/atomic-exchange-1.c,
530 testsuite/libatomic.c/atomic-exchange-2.c,
531 testsuite/libatomic.c/atomic-exchange-3.c,
532 testsuite/libatomic.c/atomic-exchange-4.c,
533 testsuite/libatomic.c/atomic-exchange-5.c: Separate increments of
534 count from expression using value of count.
536 2013-11-10 Uros Bizjak <ubizjak@gmail.com>
538 * config/x86/fenv.c: New file.
540 2013-11-07 Joseph Myers <joseph@codesourcery.com>
543 * libatomic.map (LIBATOMIC_1.1): New symbol version. Include
544 __atomic_feraiseexcept.
545 * configure.ac (libtool_VERSION): Change to 2:0:1.
546 (fenv.h): Test for header.
547 * Makefile.am (libatomic_la_SOURCES): Add fenv.c.
548 * Makefile.in, auto-config.h.in, configure: Regenerate.
550 2013-10-17 Michael Hudson-Doyle <michael.hudson@linaro.org>
552 * libatomic/configure.tgt (aarch64*): Remove code preventing
555 2013-09-20 Alan Modra <amodra@gmail.com>
557 * configure: Regenerate.
559 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
561 Update copyright years.
563 2012-12-18 Ian Lance Taylor <iant@google.com>
566 * Makefile.am (noinst_LTLIBRARIES): Define new make variable.
567 (libatomic_convenience_la_SOURCES): Likewise.
568 (libatomic_convenience_la_LIBADD): Likewise.
569 * Makefile.in: Rebuild.
570 * testsuite/Makefile.in: Rebuild.
572 2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
574 * config/arm/arm-config.h (__ARM_ARCH_8A__): New.
576 2012-11-21 Matthias Klose <doko@ubuntu.com>
578 * configure.tgt (i[3456]86): Handle -mx32 like -m64.
580 2012-11-04 Thomas Schwinge <thomas@codesourcery.com>
582 * acinclude.m4 (LIBAT_CHECK_IFUNC): Clarify message.
583 * configure: Regenerate.
585 * configure: Regenerate.
587 2012-10-23 Sofiane Naci <sofiane.naci@arm.com>
589 Mark libatomic unsupported in AArch64.
591 * configure.tgt: Mark libatomic unsupported.
593 2012-09-20 Jakub Jelinek <jakub@redhat.com>
596 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
597 * configure: Regenerate.
598 * Makefile.in: Regenerate.
600 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
602 * configure: Regenerated.
604 2012-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
607 * tas_n.c (libat_test_and_set): Correct return. Remove unused variable.
609 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
611 * configure: Regenerated.
613 2012-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
616 * acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Add -O0 -S to CFLAGS
617 instead of overriding.
618 * configure: Regenerate.
620 2012-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
622 * Makefile.am (libatomic.map-sun): Handle objects in
624 * aclocal.m4: Regenerate.
625 * Makefile.in: Regenerate.
627 2012-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
629 * configure.ac: Add $XPCFLAGS to CFLAGS, not $XCFLAGS.
630 * configure: Regenerate.
632 2012-05-03 Richard Henderson <rth@redhat.com>
634 * configure.ac (AM_MAINTAINER_MODE): New.
635 * acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Handle compilation
636 failure in gcc_no_link path.
637 * configure, aclocal.m4, Makefile.in: Rebuild.
639 2012-05-01 Richard Henderson <rth@redhat.com>
643 Copyright (C) 2012-2022 Free Software Foundation, Inc.
645 Copying and distribution of this file, with or without modification,
646 are permitted in any medium without royalty provided the copyright
647 notice and this notice are preserved.