Skip to content
Snippets Groups Projects
  1. Oct 26, 2024
  2. Oct 24, 2024
  3. Oct 19, 2024
  4. Oct 16, 2024
    • Joseph Myers's avatar
      testsuite: Prepare for -std=gnu23 default · 9fb5348e
      Joseph Myers authored
      Now that C23 support is essentially feature-complete, I'd like to
      switch the default language version for C compilation to -std=gnu23.
      
      This requires updating a large number of testcases that fail with the
      new language version if left unchanged.  In this patch, update most of
      the tests for which there is a safe change that works both before and
      after the update to default language version - typically adding the
      option -std=gnu17 or -Wno-old-style-definition to the tests.  (There
      are also a few tests where I'd like to investigate further why they
      fail with -std=gnu23, or where I think such failures show an actual
      bug to fix before changing the default language version, or where it
      seems more appropriate to make a testcase change that would result in
      failures in the absence of the language version change rather than
      just adding an option that does nothing with the gnu17 default.)
      
      The libffi test fixes have also been submitted upstream:
      <https://github.com/libffi/libffi/pull/861>.
      
      Most of the failures requiring such changes are for one of two
      reasons:
      
      * Unprototyped function declarations with () (meaning the same as
        (void) in C23 mode) for a function then called with arguments.
      
      * Old-style function definitions, which warn by default in C23 mode,
        so resulting in test failures for the unexpected warnings.
      
      Other reasons for failures include:
      
      * Tests with their own definitions of bool, true and false.
      
      * Tests of diagnostics (often with -pedantic) in cases where C23 has
        changed semantics, such as:
      
        - tag compatibility for structs;
        - enum values out of range of int;
        - handing of qualified array types;
        - decimal floating types formerly needing -pedantic diagnostics, but
          being standard in C23.
      
      Bootstrapped with no regressions for x86_64-pc-linux-gnu.
      
      gcc/testsuite/
      	* c-c++-common/Wcast-function-type.c: Add -std=gnu17 for C.
      	* c-c++-common/Wformat-pr84258.c: Add -std=gnu17 for C.
      	* c-c++-common/Wvarargs.c: Add -std=gnu17 for C.
      	* c-c++-common/analyzer/data-model-12.c: Add -std=gnu17 for C.
      	* c-c++-common/builtins.c: Add -std=gnu17 for C.
      	* c-c++-common/pointer-to-fn1.c: Add -std=gnu17 for C.
      	* c-c++-common/pragma-diag-17.c: Add -std=gnu17 for C.
      	* c-c++-common/sizeof-array-argument.c: Add
      	-Wno-old-style-definition for C.
      	* g++.dg/lto/pr54625-1_0.c: Add -std=gnu17.
      	* g++.dg/lto/pr54625-2_0.c: Add -std=gnu17.
      	* gcc.c-torture/compile/20040214-2.c: Add -std=gnu17.
      	* gcc.c-torture/compile/921011-2.c: Add -std=gnu17.
      	* gcc.c-torture/compile/931102-1.c: Add -std=gnu17.
      	* gcc.c-torture/compile/990801-1.c: Add -std=gnu17.
      	* gcc.c-torture/compile/nested-1.c: Add -std=gnu17.
      	* gcc.c-torture/compile/pr100241-1.c: Add -std=gnu17.
      	* gcc.c-torture/compile/pr106101.c: Add -std=gnu17.
      	* gcc.c-torture/compile/pr113616.c: Add -std=gnu17.
      	* gcc.c-torture/compile/pr47967.c: Add -std=gnu17.
      	* gcc.c-torture/compile/pr51694.c: Add -std=gnu17.
      	* gcc.c-torture/compile/pr71109.c: Add -std=gnu17.
      	* gcc.c-torture/compile/pr83051-2.c: Add -std=gnu17.
      	* gcc.c-torture/compile/pr89663-1.c: Add -std=gnu17.
      	* gcc.c-torture/compile/pr94238.c: Add -std=gnu17.
      	* gcc.c-torture/compile/pr96796.c: Add -std=gnu17.
      	* gcc.c-torture/compile/pr97576.c: Add -std=gnu17.
      	* gcc.c-torture/compile/udivmod4.c: Add -std=gnu17.
      	* gcc.c-torture/execute/20010605-2.c: Add -std=gnu17.
      	* gcc.c-torture/execute/20020404-1.c: Add -std=gnu17.
      	* gcc.c-torture/execute/20030714-1.c: Add -std=gnu17.
      	* gcc.c-torture/execute/20051012-1.c: Add -std=gnu17.
      	* gcc.c-torture/execute/20190820-1.c: Add -std=gnu17.
      	* gcc.c-torture/execute/920612-1.c: Add -Wno-old-style-definition.
      	* gcc.c-torture/execute/930608-1.c: Add -std=gnu17.
      	* gcc.c-torture/execute/comp-goto-1.c: Add -std=gnu17.
      	* gcc.c-torture/execute/ieee/fp-cmp-1.x: Add -std=gnu17.
      	* gcc.c-torture/execute/ieee/fp-cmp-2.x: Add -std=gnu17.
      	* gcc.c-torture/execute/ieee/fp-cmp-3.x: Add -std=gnu17.
      	* gcc.c-torture/execute/ieee/fp-cmp-4.x: New file.
      	* gcc.c-torture/execute/ieee/fp-cmp-4f.x: New file.
      	* gcc.c-torture/execute/ieee/fp-cmp-4l.x: New file.
      	* gcc.c-torture/execute/loop-9.c: Add -std=gnu17.
      	* gcc.c-torture/execute/pr103209.c: Add -std=gnu17.
      	* gcc.c-torture/execute/pr28289.c: Add -std=gnu17.
      	* gcc.c-torture/execute/pr34982.c: Add -std=gnu17.
      	* gcc.c-torture/execute/pr67037.c: Add -std=gnu17.
      	* gcc.c-torture/execute/va-arg-2.c: Add -std=gnu17.
      	* gcc.dg/20010202-1.c: Add -std=gnu17.
      	* gcc.dg/20020430-1.c: Add -std=gnu17.
      	* gcc.dg/20031218-3.c: Add -std=gnu17.
      	* gcc.dg/20040127-1.c: Add -std=gnu17.
      	* gcc.dg/20041014-1.c: Add -Wno-old-style-definition.
      	* gcc.dg/20041122-1.c: Add -std=gnu17.
      	* gcc.dg/20050309-1.c: Add -std=gnu17.
      	* gcc.dg/20061026.c: Add -std=gnu17.
      	* gcc.dg/20101010-1.c: Add -std=gnu17.
      	* gcc.dg/Warray-parameter-10.c: Add -std=gnu17.
      	* gcc.dg/Wbuiltin-declaration-mismatch-2.c: Add -std=gnu17.
      	* gcc.dg/Wbuiltin-declaration-mismatch-3.c: Add -std=gnu17.
      	* gcc.dg/Wbuiltin-declaration-mismatch-4.c: Add -std=gnu17.
      	* gcc.dg/Wbuiltin-declaration-mismatch-5.c: Add -std=gnu17.
      	* gcc.dg/Wbuiltin-declaration-mismatch.c: Add -std=gnu17.
      	* gcc.dg/Wcxx-compat-2.c: Add -std=gnu17.
      	* gcc.dg/Wdouble-promotion.c: Add -std=gnu17.
      	* gcc.dg/Wfree-nonheap-object-7.c: Add -std=gnu17.
      	* gcc.dg/Wimplicit-int-1.c: Add -std=gnu17.
      	* gcc.dg/Wimplicit-int-1a.c: Add -std=gnu17.
      	* gcc.dg/Wimplicit-int-2.c: Add -std=gnu17.
      	* gcc.dg/Wimplicit-int-3.c: Add -std=gnu17.
      	* gcc.dg/Wimplicit-int-4.c: Add -std=gnu17.
      	* gcc.dg/Wimplicit-int-4a.c: Add -std=gnu17.
      	* gcc.dg/Wincompatible-pointer-types-1.c: Add -std=gnu17.
      	* gcc.dg/Wrestrict-19.c: Add -std=gnu17.
      	* gcc.dg/Wrestrict-4.c: Add -std=gnu17.
      	* gcc.dg/Wrestrict-5.c: Add -std=gnu17.
      	* gcc.dg/Wstrict-overflow-20.c: Add -std=gnu17.
      	* gcc.dg/Wstringop-overflow-13.c: Add -std=gnu17.
      	* gcc.dg/analyzer/doom-d_main-IdentifyVersion.c: Add -std=gnu17.
      	* gcc.dg/analyzer/doom-s_sound-pr108867.c: Add -std=gnu17.
      	* gcc.dg/analyzer/pr93032-mztools-signed-char.c: Add
      	-Wno-old-style-definition.
      	* gcc.dg/analyzer/pr93032-mztools-unsigned-char.c: Add
      	-Wno-old-style-definition.
      	* gcc.dg/analyzer/pr93355-localealias.c: Add
      	-Wno-old-style-definition.
      	* gcc.dg/analyzer/pr93375.c: Add -std=gnu17.
      	* gcc.dg/analyzer/pr94688.c: Add -std=gnu17.
      	* gcc.dg/analyzer/sensitive-1.c: Add -std=gnu17.
      	* gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c:
      	Add -std=gnu17.
      	* gcc.dg/analyzer/torture/pr104863.c: Add -std=gnu17.
      	* gcc.dg/analyzer/torture/pr93379.c: Add -std=gnu17.
      	* gcc.dg/array-quals-2.c: Add -std=gnu17.
      	* gcc.dg/attr-invalid.c: Add -Wno-old-style-definition.
      	* gcc.dg/auto-init-uninit-A.c: Add -Wno-old-style-definition.
      	* gcc.dg/builtin-choose-expr.c: Declare exit with (int) prototype.
      	* gcc.dg/builtin-tgmath-err-1.c: Add -std=gnu17.
      	* gcc.dg/builtins-30.c: Add -std=gnu17.
      	* gcc.dg/cast-function-1.c: Add -std=gnu17.
      	* gcc.dg/cleanup-1.c: Add -std=gnu17.
      	* gcc.dg/compat/struct-complex-1_x.c: Add -std=gnu17.
      	* gcc.dg/compat/struct-complex-2_x.c: Add -std=gnu17.
      	* gcc.dg/compat/union-m128-1_x.c: Add -std=gnu17.
      	* gcc.dg/debug/dwarf2/pr66482.c: Add -std=gnu17.
      	* gcc.dg/dfp/composite-type-2.c: Add -std=gnu17.
      	* gcc.dg/dfp/composite-type.c: Add -std=gnu17.
      	* gcc.dg/dfp/keywords-pedantic.c: Add -std=gnu17.
      	* gcc.dg/dremf-type-compat-1.c: Add -std=gnu17.
      	* gcc.dg/dremf-type-compat-2.c: Add -std=gnu17.
      	* gcc.dg/dremf-type-compat-3.c: Add -std=gnu17.
      	* gcc.dg/dremf-type-compat-4.c: Add -std=gnu17.
      	* gcc.dg/enum-compat-1.c: Add -std=gnu17.
      	* gcc.dg/enum-compat-2.c: Add -std=gnu17.
      	* gcc.dg/floatn-errs.c: Add -std=gnu17.
      	* gcc.dg/fltconst-pedantic-dfp.c: Add -std=gnu17.
      	* gcc.dg/format/proto.c: Add -std=gnu17.
      	* gcc.dg/format/sentinel-1.c: Add -std=gnu17.
      	* gcc.dg/gomp/declare-simd-1.c: Add -Wno-old-style-definition.
      	* gcc.dg/ifelse-1.c: Add -Wno-old-style-definition.
      	* gcc.dg/inline-33.c: Add -std=gnu17.
      	* gcc.dg/ipa/inline-5.c: Add -std=gnu17.
      	* gcc.dg/ipa/ipa-sra-21.c: Add -std=gnu17.
      	* gcc.dg/ipa/pr102714.c: Add -std=gnu17.
      	* gcc.dg/ipa/pr104813.c: Add -std=gnu17.
      	* gcc.dg/ipa/pr108679.c: Add -std=gnu17.
      	* gcc.dg/ipa/pr42706.c: Add -std=gnu17.
      	* gcc.dg/ipa/pr88214.c: Add -Wno-old-style-definition.
      	* gcc.dg/ipa/pr91853.c: Add -Wno-old-style-definition.
      	* gcc.dg/ipa/pr93763.c: Add -std=gnu17.
      	* gcc.dg/ipa/pr96482-2.c: Add -std=gnu17.
      	* gcc.dg/lto/20091013-1_2.c: Add -std=gnu17.
      	* gcc.dg/lto/20091015-1_2.c: Add -std=gnu17.
      	* gcc.dg/lto/pr113197_1.c: Add -std=gnu17.
      	* gcc.dg/lto/pr54702_1.c: Add -std=gnu17.
      	* gcc.dg/lto/pr99849_0.c: Add -std=gnu17.
      	* gcc.dg/noncompile/920923-1.c: Add -std=gnu17.
      	* gcc.dg/noncompile/old-style-parm-1.c: Add
      	-Wno-old-style-definition.
      	* gcc.dg/noncompile/old-style-parm-3.c: Add
      	-Wno-old-style-definition.
      	* gcc.dg/noncompile/pr30552-2.c: Add -Wno-old-style-definition.
      	* gcc.dg/noncompile/pr30552-3.c: Add -std=gnu17.
      	* gcc.dg/noncompile/pr71265.c: Add -Wno-old-style-definition.
      	* gcc.dg/noncompile/pr79758-2.c: Add -Wno-old-style-definition.
      	* gcc.dg/noncompile/pr79758.c: Add -Wno-old-style-definition.
      	* gcc.dg/noncompile/va-arg-1.c: Add -std=gnu17.
      	* gcc.dg/old-style-prom-1.c: Add -std=gnu17.
      	* gcc.dg/old-style-prom-2.c: Add -std=gnu17.
      	* gcc.dg/old-style-prom-3.c: Add -std=gnu17.
      	* gcc.dg/old-style-then-proto-1.c: Add -std=gnu17.
      	* gcc.dg/parm-incomplete-1.c: Add -std=gnu17.
      	* gcc.dg/parm-mismatch-1.c: Add -std=gnu17.
      	* gcc.dg/permerror-default.c: Add -std=gnu17.
      	* gcc.dg/permerror-fpermissive-nowarning.c: Add -std=gnu17.
      	* gcc.dg/permerror-fpermissive.c: Add -std=gnu17.
      	* gcc.dg/permerror-noerror.c: Add -std=gnu17.
      	* gcc.dg/permerror-nowarning.c: Add -std=gnu17.
      	* gcc.dg/permerror-pedantic.c: Add -std=gnu17.
      	* gcc.dg/plugin/infoleak-net-ethtool-ioctl.c: Add -std=gnu17.
      	* gcc.dg/pointer-array-quals-1.c: Add -std=gnu17.
      	* gcc.dg/pointer-array-quals-2.c: Add -std=gnu17.
      	* gcc.dg/pr100791.c: Add -std=gnu17.
      	* gcc.dg/pr100843.c: Add -std=gnu17.
      	* gcc.dg/pr102273.c: Add -std=gnu17.
      	* gcc.dg/pr102385.c: Add -std=gnu17.
      	* gcc.dg/pr103222.c: Add -std=gnu17.
      	* gcc.dg/pr105140.c: Add -std=gnu17.
      	* gcc.dg/pr105150.c: Add -std=gnu17.
      	* gcc.dg/pr105250.c: Add -std=gnu17.
      	* gcc.dg/pr105972.c: Add -Wno-old-style-definition.
      	* gcc.dg/pr111039.c: Add -std=gnu17.
      	* gcc.dg/pr111407.c: Add -std=gnu17.
      	* gcc.dg/pr111922.c: Add -Wno-old-style-definition.
      	* gcc.dg/pr15236.c: Add -std=gnu17.
      	* gcc.dg/pr17188-1.c: Add -std=gnu17.
      	* gcc.dg/pr20368-1.c: Add -std=gnu17.
      	* gcc.dg/pr20368-2.c: Add -std=gnu17.
      	* gcc.dg/pr20368-3.c: Add -std=gnu17.
      	* gcc.dg/pr27331.c: Add -Wno-old-style-definition.
      	* gcc.dg/pr27861-1.c: Add -std=gnu17.
      	* gcc.dg/pr28121.c: Add -std=gnu17.
      	* gcc.dg/pr28243.c: Add -std=gnu17.
      	* gcc.dg/pr28888.c: Add -std=gnu17.
      	* gcc.dg/pr29254.c: Add -std=gnu17.
      	* gcc.dg/pr34457-1.c: Add -std=gnu17.
      	* gcc.dg/pr36015.c: Add -std=gnu17.
      	* gcc.dg/pr38245-3.c: Add -std=gnu17.
      	* gcc.dg/pr38245-4.c: Add -std=gnu17.
      	* gcc.dg/pr41241.c: Add -std=gnu17.
      	* gcc.dg/pr43058.c: Add -std=gnu17.
      	* gcc.dg/pr44539.c: Add -std=gnu17.
      	* gcc.dg/pr45055.c: Add -std=gnu17.
      	* gcc.dg/pr50908.c: Add -Wno-old-style-definition.
      	* gcc.dg/pr60647-1.c: Add -Wno-old-style-definition.
      	* gcc.dg/pr63762.c: Add -std=gnu17.
      	* gcc.dg/pr63804.c: Add -std=gnu17.
      	* gcc.dg/pr68306-3.c: Add -std=gnu17.
      	* gcc.dg/pr68533.c: Add -std=gnu17.
      	* gcc.dg/pr69156.c: Add -std=gnu17.
      	* gcc.dg/pr7356-2.c: Add -Wno-old-style-definition.
      	* gcc.dg/pr79983.c: Add -std=gnu17.
      	* gcc.dg/pr83463.c: Add -std=gnu17.
      	* gcc.dg/pr87347.c: Add -std=gnu17.
      	* gcc.dg/pr89521-1.c: Add -std=gnu17.
      	* gcc.dg/pr89521-2.c: Add -std=gnu17.
      	* gcc.dg/pr90648.c: Add -std=gnu17.
      	* gcc.dg/pr93573-1.c: Add -std=gnu17.
      	* gcc.dg/pr94167.c: Add -std=gnu17.
      	* gcc.dg/pr94705.c: Add -std=gnu17.
      	* gcc.dg/pr95118.c: Add -std=gnu17.
      	* gcc.dg/pr96335.c: Add -std=gnu17.
      	* gcc.dg/pr97830.c: Add -std=gnu17.
      	* gcc.dg/pr97882.c: Add -std=gnu17.
      	* gcc.dg/pr99122-2.c: Add -std=gnu17.
      	* gcc.dg/pr99122-3.c: Add -std=gnu17.
      	* gcc.dg/qual-component-1.c: Add -std=gnu17.
      	* gcc.dg/sibcall-6.c: Add -Wno-old-style-definition.
      	* gcc.dg/sms-2.c: Add -Wno-old-style-definition.
      	* gcc.dg/tm/20091221.c: Add -std=gnu17.
      	* gcc.dg/torture/bfloat16-basic.c: Add -Wno-old-style-definition.
      	* gcc.dg/torture/float128-basic.c: Add -Wno-old-style-definition.
      	* gcc.dg/torture/float128x-basic.c: Add -Wno-old-style-definition.
      	* gcc.dg/torture/float16-basic.c: Add -Wno-old-style-definition.
      	* gcc.dg/torture/float32-basic.c: Add -Wno-old-style-definition.
      	* gcc.dg/torture/float32x-basic.c: Add -Wno-old-style-definition.
      	* gcc.dg/torture/float64-basic.c: Add -Wno-old-style-definition.
      	* gcc.dg/torture/float64x-basic.c: Add -Wno-old-style-definition.
      	* gcc.dg/torture/pr102762.c: Add -std=gnu17.
      	* gcc.dg/torture/pr103987.c: Add -std=gnu17.
      	* gcc.dg/torture/pr104825.c: Add -Wno-old-style-definition.
      	* gcc.dg/torture/pr105166.c: Add -std=gnu17.
      	* gcc.dg/torture/pr105185.c: Add -Wno-old-style-definition.
      	* gcc.dg/torture/pr109652.c: Add -std=gnu17.
      	* gcc.dg/torture/pr112444.c: Add -std=gnu17.
      	* gcc.dg/torture/pr113895-3.c: Add -std=gnu17.
      	* gcc.dg/torture/pr24626-2.c: Add -std=gnu17.
      	* gcc.dg/torture/pr25183.c: Add -std=gnu17.
      	* gcc.dg/torture/pr38948.c: Add -std=gnu17.
      	* gcc.dg/torture/pr44807.c: Add -std=gnu17.
      	* gcc.dg/torture/pr47281.c: Add -std=gnu17.
      	* gcc.dg/torture/pr47958-1.c: Add -Wno-old-style-definition.
      	* gcc.dg/torture/pr48063.c: Add -std=gnu17.
      	* gcc.dg/torture/pr57036-1.c: Add -std=gnu17.
      	* gcc.dg/torture/pr57330.c: Add -std=gnu17.
      	* gcc.dg/torture/pr57584.c: Add -std=gnu17.
      	* gcc.dg/torture/pr67741.c: Add -std=gnu17.
      	* gcc.dg/torture/pr68104.c: Add -std=gnu17.
      	* gcc.dg/torture/pr69242.c: Add -std=gnu17.
      	* gcc.dg/torture/pr70457.c: Add -std=gnu17.
      	* gcc.dg/torture/pr70985.c: Add -std=gnu17.
      	* gcc.dg/torture/pr71606.c: Add -std=gnu17.
      	* gcc.dg/torture/pr71816.c: Add -std=gnu17.
      	* gcc.dg/torture/pr77286.c: Add -std=gnu17.
      	* gcc.dg/torture/pr77646.c: Add -std=gnu17.
      	* gcc.dg/torture/pr77677-2.c: Add -std=gnu17.
      	* gcc.dg/torture/pr78365.c: Add -Wno-old-style-definition.
      	* gcc.dg/torture/pr79732.c: Add -std=gnu17.
      	* gcc.dg/torture/pr80612.c: Add -std=gnu17.
      	* gcc.dg/torture/pr80764.c: Add -std=gnu17.
      	* gcc.dg/torture/pr80842.c: Add -std=gnu17.
      	* gcc.dg/torture/pr81900.c: Add -std=gnu17.
      	* gcc.dg/torture/pr82276.c: Add -std=gnu17.
      	* gcc.dg/torture/pr84803.c: Add -std=gnu17.
      	* gcc.dg/torture/pr93124.c: Add -std=gnu17.
      	* gcc.dg/torture/pr97330-1.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-prof/comp-goto-1.c: Add -std=gnu17.
      	* gcc.dg/tree-ssa/20030703-2.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030708-1.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030709-2.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030709-3.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030710-1.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030711-1.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030711-2.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030711-3.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030714-1.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030714-2.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030728-1.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030807-10.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030807-11.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030807-3.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030807-6.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030807-7.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030814-4.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030814-5.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030814-6.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20030918-1.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/20040514-2.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/loadpre7.c: Add -Wno-old-style-definition.
      	* gcc.dg/tree-ssa/pr111003.c: Add -std=gnu17.
      	* gcc.dg/tree-ssa/pr115128.c: Add -std=gnu17.
      	* gcc.dg/tree-ssa/pr115191.c: Add -std=gnu17.
      	* gcc.dg/tree-ssa/pr24840.c: Add -std=gnu17.
      	* gcc.dg/tree-ssa/pr69666.c: Add -std=gnu17.
      	* gcc.dg/tree-ssa/pr70232.c: Add -std=gnu17.
      	* gcc.dg/ubsan/pr79757-1.c: Add -Wno-old-style-definition.
      	* gcc.dg/ubsan/pr79757-2.c: Add -Wno-old-style-definition.
      	* gcc.dg/ubsan/pr79757-3.c: Add -Wno-old-style-definition.
      	* gcc.dg/ubsan/pr81223.c: Add -std=gnu17.
      	* gcc.dg/uninit-10-O0.c: Add -Wno-old-style-definition.
      	* gcc.dg/uninit-10.c: Add -Wno-old-style-definition.
      	* gcc.dg/uninit-32.c: Add -std=gnu17.
      	* gcc.dg/uninit-41.c: Add -std=gnu17.
      	* gcc.dg/uninit-A-O0.c: Add -Wno-old-style-definition.
      	* gcc.dg/uninit-A.c: Add -Wno-old-style-definition.
      	* gcc.dg/unused-1.c: Add -Wno-old-style-definition.
      	* gcc.dg/vect/bb-slp-pr114249.c: Add -std=gnu17.
      	* gcc.dg/vect/bb-slp-pr97486.c: Add -std=gnu17.
      	* gcc.dg/vect/bb-slp-subgroups-1.c: Add -std=gnu17.
      	* gcc.dg/vect/bb-slp-subgroups-2.c: Add -std=gnu17.
      	* gcc.dg/vect/bb-slp-subgroups-3.c: Add -std=gnu17.
      	* gcc.dg/vect/vect-early-break_111-pr113731.c: Add -std=gnu17.
      	* gcc.dg/vect/vect-early-break_122-pr114239.c: Add -std=gnu17.
      	* gcc.dg/vect/vect-multi-peel-gaps.c: Add -std=gnu17.
      	* gcc.dg/vla-stexp-2.c: Add -std=gnu17.
      	* gcc.dg/warn-1.c: Add -Wno-old-style-definition.
      	* gcc.dg/winline-10.c: Add -Wno-old-style-definition.
      	* gcc.dg/wtr-label-1.c: Add -Wno-old-style-definition.
      	* gcc.dg/wtr-switch-1.c: Add -Wno-old-style-definition.
      	* gcc.target/i386/excess-precision-3.c: Add
      	-Wno-old-style-definition.
      	* gcc.target/i386/fma4-256-nmsubXX.c: Add -std=gnu17.
      	* gcc.target/i386/fma4-nmsubXX.c: Add -std=gnu17.
      	* gcc.target/i386/nop-mcount.c: Add -Wno-old-style-definition.
      	* gcc.target/i386/pr102627.c: Add -std=gnu17.
      	* gcc.target/i386/pr106994.c: Add -std=gnu17.
      	* gcc.target/i386/pr68349.c: Add -std=gnu17.
      	* gcc.target/i386/pr97313.c: Add -std=gnu17.
      	* gcc.target/i386/pr99454.c: Add -std=gnu17.
      	* gcc.target/i386/record-mcount.c: Add -Wno-old-style-definition.
      
      libffi/
      	* testsuite/libffi.call/va_struct2.c (test_fn): Cast n to void.
      	* testsuite/libffi.call/va_struct3.c (test_fn): Likewise.
      	Backported from <https://github.com/libffi/libffi/pull/861>.
      9fb5348e
  5. Sep 24, 2024
  6. Sep 23, 2024
    • Matthieu Longo's avatar
      dwarf2: add hooks for architecture-specific CFIs · 9e1c71ba
      Matthieu Longo authored
      Architecture-specific CFI directives are currently declared an processed
      among others architecture-independent CFI directives in gcc/dwarf2* files.
      This approach creates confusion, specifically in the case of DWARF
      instructions in the vendor space and using the same instruction code.
      
      Such a clash currently happen between DW_CFA_GNU_window_save (used on
      SPARC) and DW_CFA_AARCH64_negate_ra_state (used on AArch64), and both
      having the same instruction code 0x2d.
      Then AArch64 compilers generates a SPARC CFI directive (.cfi_window_save)
      instead of .cfi_negate_ra_state, contrarilly to what is expected in
      [DWARF for the Arm 64-bit Architecture (AArch64)](https://github.com/
      ARM-software/abi-aa/blob/main/aadwarf64/aadwarf64.rst).
      
      This refactoring does not solve completely the problem, but improve the
      situation by moving some of the processing of those directives (more
      specifically their output in the assembly) to the backend via 2 target
      hooks:
      - DW_CFI_OPRND1_DESC: parse the first operand of the directive (if any).
      - OUTPUT_CFI_DIRECTIVE: output the CFI directive as a string.
      
      Additionally, this patch also contains a renaming of an enum used for
      return address mangling on AArch64.
      
      gcc/ChangeLog:
      
      	* config/aarch64/aarch64.cc
      	(aarch64_output_cfi_directive): New hook for CFI directives.
      	(aarch64_dw_cfi_oprnd1_desc): Same.
      	(TARGET_OUTPUT_CFI_DIRECTIVE): Hook for output_cfi_directive.
      	(TARGET_DW_CFI_OPRND1_DESC): Hook for dw_cfi_oprnd1_desc.
      	* config/sparc/sparc.cc
      	(sparc_output_cfi_directive): New hook for CFI directives.
      	(sparc_dw_cfi_oprnd1_desc): Same.
      	(TARGET_OUTPUT_CFI_DIRECTIVE): Hook for output_cfi_directive.
      	(TARGET_DW_CFI_OPRND1_DESC): Hook for dw_cfi_oprnd1_desc.
      	* coretypes.h
      	(struct dw_cfi_node): Forward declaration of CFI type from
      	gcc/dwarf2out.h.
      	(enum dw_cfi_oprnd_type): Same.
      	(enum dwarf_call_frame_info): Same.
      	* doc/tm.texi: Regenerated from doc/tm.texi.in.
      	* doc/tm.texi.in: Add doc for new target hooks.
      	type of enum to allow forward declaration.
      	* dwarf2cfi.cc
      	(struct dw_cfi_row): Update the description for window_save
      	and ra_mangled.
      	(dwarf2out_frame_debug_cfa_negate_ra_state): Use AArch64 CFI
      	directive instead of the SPARC one.
      	(change_cfi_row): Use the right CFI directive's name for RA
      	mangling.
      	(output_cfi): Remove explicit architecture-specific CFI
      	directive DW_CFA_GNU_window_save that falls into default case.
      	(output_cfi_directive): Use target hook as default.
      	* dwarf2out.cc (dw_cfi_oprnd1_desc): Use target hook as default.
      	* dwarf2out.h (enum dw_cfi_oprnd_type): specify underlying type
      	of enum to allow forward declaration.
      	(dw_cfi_oprnd1_desc): Call target hook.
      	(output_cfi_directive): Use dw_cfi_ref instead of struct
      	dw_cfi_node *.
      	* hooks.cc
      	(hook_bool_dwcfi_dwcfioprndtyperef_false): New.
      	(hook_bool_FILEptr_dwcfiptr_false): New.
      	* hooks.h
      	(hook_bool_dwcfi_dwcfioprndtyperef_false): New.
      	(hook_bool_FILEptr_dwcfiptr_false): New.
      	* target.def: Documentation for new hooks.
      
      include/ChangeLog:
      
      	* dwarf2.h (enum dwarf_call_frame_info): specify underlying
      
      libffi/ChangeLog:
      
      	* include/ffi_cfi.h (cfi_negate_ra_state): Declare AArch64 cfi
      	directive.
      
      libgcc/ChangeLog:
      
      	* config/aarch64/aarch64-asm.h (PACIASP): Replace SPARC CFI
      	directive by AArch64 one.
      	(AUTIASP): Same.
      
      libitm/ChangeLog:
      
      	* config/aarch64/sjlj.S: Replace SPARC CFI directive by
      	AArch64 one.
      
      gcc/testsuite/ChangeLog:
      
      	* g++.target/aarch64/pr94515-1.C: Replace SPARC CFI directive by
      	AArch64 one.
      	* g++.target/aarch64/pr94515-2.C: Same.
      9e1c71ba
  7. Jul 02, 2024
  8. Jul 01, 2024
    • Rainer Orth's avatar
      libffi: Fix 32-bit SPARC structure passing [PR115681] · 61aa380b
      Rainer Orth authored
      The libffi.closures/single_entry_structs2.c test FAILs on 32-bit SPARC:
      
      FAIL: libffi.closures/single_entry_structs2.c -W -Wall -Wno-psabi -O0
      execution test
      
      The issue has been reported, analyzed and fixed upstream:
      
      	Several tests FAIL on 32-bit Solaris/SPARC
      	https://github.com/libffi/libffi/issues/841
      
      Therefore this patch imports the fix into the GCC tree.
      
      Tested on sparc-sun-solaris2.11.
      
      2024-07-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
      
      	libffi:
      	PR libffi/115681
      	* src/sparc/ffi.c (ffi_call_int): Copy structure arguments to
      	maintain call-by-value semantics.
      61aa380b
  9. May 09, 2024
  10. May 07, 2024
    • Rainer Orth's avatar
      build: Derive object names in make_sunver.pl · 35b05a02
      Rainer Orth authored
      The recent move of libgfortran object files to subdirs and the resulting
      breakage of libgfortran.so symbol exports demonstrated how fragile
      deriving object and archive names from their libtool counterparts in the
      Makefiles is.  Therefore, this patch moves that step into
      make_sunver.pl, considerably simplifying the Makefile rules to create
      the version scripts.
      
      Bootstrapped without regressions on i386-pc-solaris2.11 and
      sparc-sun-solaris2.11, verifying that the version scripts are identical
      except for the input filenames.
      
      2024-05-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
      
      	contrib:
      	* make_sunver.pl: Use File::Basename;
      	Skip -lLIB args.
      	Convert libtool object/archive names to underlying
      	objects/archives.
      
      	libatomic:
      	* Makefile.am [LIBAT_BUILD_VERSIONED_SHLIB_SUN]
      	(libatomic.map-sun): Pass $(libatomic_la_OBJECTS),
      	$(libatomic_la_LIBADD) to make_sunver.pl unmodified.
      	* Makefile.in: Regenerate.
      
      	libffi:
      	* Makefile.am [LIBFFI_BUILD_VERSIONED_SHLIB_SUN] (libffi.map-sun):
      	Pass $(libffi_la_OBJECTS), $(libffi_la_LIBADD) to make_sunver.pl
      	unmodified.
      	* Makefile.in: Regenerate.
      
      	libgfortran:
      	* Makefile.am [LIBGFOR_USE_SYMVER_SUN} (gfortran.ver-sun): Pass
      	$(libgfortran_la_OBJECTS), $(libgfortran_la_LIBADD) to
      	make_sunver.pl unmodified.
      	* Makefile.in: Regenerate.
      
      	libgomp:
      	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]
      	(libgomp.ver-sun): Pass $(libgomp_la_OBJECTS),
      	$(libgomp_la_LIBADD) to make_sunver.pl unmodified.
      	* Makefile.in: Regenerate.
      
      	libitm:
      	* Makefile.am [LIBITM_BUILD_VERSIONED_SHLIB_SUN] (libitm.map-sun):
      	Pass $(libitm_la_OBJECTS), $(libitm_la_LIBADD) to make_sunver.pl
      	unmodified.
      	* Makefile.in: Regenerate.
      
      	libquadmath:
      	* Makefile.am [LIBQUAD_USE_SYMVER_SUN] (quadmath.map-sun): Pass
      	$(libquadmath_la_OBJECTS), $(libquadmath_la_LIBADD) to
      	make_sunver.pl unmodified.
      	* Makefile.in: Regenerate.
      
      	libssp:
      	* Makefile.am [LIBSSP_USE_SYMVER_SUN] (ssp.map-sun): Pass
      	$(libssp_la_OBJECTS), $(libssp_la_LIBADD) to make_sunver.pl
      	unmodified.
      	* Makefile.in: Regenerate.
      
      	libstdc++-v3:
      	* src/Makefile.am [ENABLE_SYMVERS_SUN]
      	(libstdc++-symbols.ver-sun): Pass $(libstdc___la_OBJECTS),
      	$(libstdc___la_LIBADD) to make_sunver.pl unmodified.
      	* src/Makefile.in: Regenerate.
      35b05a02
  11. Oct 27, 2023
  12. Oct 26, 2023
    • Thomas Schwinge's avatar
      libffi: Consider '--with-build-sysroot=[...]' for target libraries' build-tree... · 967d4171
      Thomas Schwinge authored
      libffi: Consider '--with-build-sysroot=[...]' for target libraries' build-tree testing (instead of build-time 'CC' etc.) [PR109951]
      
      Similar to commit fb5d27be
      "libgomp: Consider '--with-build-sysroot=[...]' for target libraries' build-tree testing (instead of build-time 'CC' etc.) [PR91884, PR109951]",
      this is commit a0b48358
      "libffi/test: Fix compilation for build sysroot" done differently,
      avoiding build-tree testing use of any random gunk that may appear in
      build-time 'CC', 'CXX'.
      
      	PR testsuite/109951
      	libffi/
      	* configure.ac: 'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'.
      	<local.exp>: Don't set 'CC_FOR_TARGET', 'CXX_FOR_TARGET', instead
      	set 'SYSROOT_CFLAGS_FOR_TARGET'.
      	* Makefile.in: Regenerate.
      	* configure: Likewise.
      	* include/Makefile.in: Likewise.
      	* man/Makefile.in: Likewise.
      	* testsuite/Makefile.in: Likewise.
      	* testsuite/lib/libffi.exp (libffi_target_compile): If
      	'--with-build-sysroot=[...]' was specified, use it for build-tree
      	testing.
      967d4171
  13. Oct 23, 2023
  14. Oct 22, 2023
    • Iain Sandoe's avatar
      Testsuite: allow non-installed testing on darwin · a0673ec5
      Iain Sandoe authored
      DYLD_LIBRARY_PATH is now removed from the environment for all system
      tools, including the shell. Adapt the testsuite and pass the right
      options to allow testing, even when the compiler and libraries have not
      been installed.
      
      gcc/ChangeLog:
      
      	* Makefile.in: set ENABLE_DARWIN_AT_RPATH in site.tmp.
      
      gcc/testsuite/ChangeLog:
      
      	* gfortran.dg/coarray/caf.exp: Correctly set
      	libatomic flags.
      	* gfortran.dg/dg.exp: Likewise.
      	* lib/asan-dg.exp: Set correct -B flags.
      	* lib/atomic-dg.exp: Likewise.
      	* lib/target-libpath.exp: Handle ENABLE_DARWIN_AT_RPATH.
      
      libatomic/ChangeLog:
      
      	* testsuite/lib/libatomic.exp: Pass correct flags on darwin.
      
      libffi/ChangeLog:
      
      	* testsuite/lib/libffi.exp: Likewise.
      
      libitm/ChangeLog:
      
      	* testsuite/lib/libitm.exp: Likewise.
      	* testsuite/libitm.c++/c++.exp: Likewise.
      a0673ec5
    • Iain Sandoe's avatar
      Config,Darwin: Allow for configuring Darwin to use embedded runpath. · 6a6d3817
      Iain Sandoe authored
      Recent Darwin versions place contraints on the use of run paths
      specified in environment variables.  This breaks some assumptions
      in the GCC build.
      
      This change allows the user to configure a Darwin build to use
      '@rpath/libraryname.dylib' in library names and then to add an
      embedded runpath to executables (and libraries with dependents).
      
      The embedded runpath is added by default unless the user adds
      '-nodefaultrpaths' to the link line.
      
      For an installed compiler, it means that any executable built with
      that compiler will reference the runtimes installed with the
      compiler (equivalent to hard-coding the library path into the name
      of the library).
      
      During build-time configurations  any "-B" entries will be added to
      the runpath thus the newly-built libraries will be found by exes.
      
      Since the install name is set in libtool, that decision needs to be
      available here (but might also cause dependent ones in Makefiles,
      so we need to export a conditional).
      
      This facility is not available for Darwin 8 or earlier, however the
      existing environment variable runpath does work there.
      
      We default this on for systems where the external DYLD_LIBRARY_PATH
      does not work and off for Darwin 8 or earlier.  For systems that can
      use either method, if the value is unset, we use the default (which
      is currently DYLD_LIBRARY_PATH).
      
      ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Do not add default runpaths to GCC exes
      	when we are building -static-libstdc++/-static-libgcc (the
      	default).
      	* libtool.m4: Add 'enable-darwin-at-runpath'.  Act  on the
      	enable flag to alter Darwin libraries to use @rpath names.
      
      gcc/ChangeLog:
      
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      	* config/darwin.h: Handle Darwin rpaths.
      	* config/darwin.opt: Handle Darwin rpaths.
      	* Makefile.in:  Handle Darwin rpaths.
      
      gcc/ada/ChangeLog:
      
      	* gcc-interface/Makefile.in: Handle Darwin rpaths.
      
      gcc/jit/ChangeLog:
      	* Make-lang.in: Handle Darwin rpaths.
      
      libatomic/ChangeLog:
      
      	* Makefile.am: Handle Darwin rpaths.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* Makefile.am: Handle Darwin rpaths.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      
      libgcc/ChangeLog:
      
      	* config/t-slibgcc-darwin: Generate libgcc_s
      	with an @rpath name.
      	* config.host: Handle Darwin rpaths.
      
      libgfortran/ChangeLog:
      
      	* Makefile.am: Handle Darwin rpaths.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths
      
      libgm2/ChangeLog:
      
      	* Makefile.am: Handle Darwin rpaths.
      	* Makefile.in: Regenerate.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      	* libm2cor/Makefile.am: Handle Darwin rpaths.
      	* libm2cor/Makefile.in: Regenerate.
      	* libm2iso/Makefile.am: Handle Darwin rpaths.
      	* libm2iso/Makefile.in: Regenerate.
      	* libm2log/Makefile.am: Handle Darwin rpaths.
      	* libm2log/Makefile.in: Regenerate.
      	* libm2min/Makefile.am: Handle Darwin rpaths.
      	* libm2min/Makefile.in: Regenerate.
      	* libm2pim/Makefile.am: Handle Darwin rpaths.
      	* libm2pim/Makefile.in: Regenerate.
      
      libgomp/ChangeLog:
      
      	* Makefile.am: Handle Darwin rpaths.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths
      
      libitm/ChangeLog:
      
      	* Makefile.am: Handle Darwin rpaths.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      	* libdruntime/Makefile.am: Handle Darwin rpaths.
      	* libdruntime/Makefile.in: Regenerate.
      	* src/Makefile.am: Handle Darwin rpaths.
      	* src/Makefile.in: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* Makefile.am: Handle Darwin rpaths.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      
      libsanitizer/ChangeLog:
      
      	* asan/Makefile.am: Handle Darwin rpaths.
      	* asan/Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* hwasan/Makefile.am: Handle Darwin rpaths.
      	* hwasan/Makefile.in: Regenerate.
      	* lsan/Makefile.am: Handle Darwin rpaths.
      	* lsan/Makefile.in: Regenerate.
      	* tsan/Makefile.am: Handle Darwin rpaths.
      	* tsan/Makefile.in: Regenerate.
      	* ubsan/Makefile.am: Handle Darwin rpaths.
      	* ubsan/Makefile.in: Regenerate.
      
      libssp/ChangeLog:
      
      	* Makefile.am: Handle Darwin rpaths.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      	* src/Makefile.am: Handle Darwin rpaths.
      	* src/Makefile.in: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      
      lto-plugin/ChangeLog:
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      
      zlib/ChangeLog:
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      6a6d3817
  15. Aug 24, 2023
  16. Aug 23, 2023
    • Lulu Cheng's avatar
      libffi: Backport of LoongArch support for libffi. · 4beacf3c
      Lulu Cheng authored
      This is a backport of <https://github.com/libffi/libffi/commit/f259a6f6de>,
      and contains modifications to commit 5a4774cd4d, as well as the LoongArch
      schema portion of commit ee22ecbd11. This is needed for libgo.
      
      libffi/ChangeLog:
      
      	PR libffi/108682
      	* configure.host: Add LoongArch support.
      	* Makefile.am: Likewise.
      	* Makefile.in: Regenerate.
      	* src/loongarch64/ffi.c: New file.
      	* src/loongarch64/ffitarget.h: New file.
      	* src/loongarch64/sysv.S: New file.
      4beacf3c
  17. Aug 08, 2023
  18. Aug 07, 2023
    • Nick Alcock's avatar
      libtool.m4: augment symcode for Solaris 11 · dc17ceb3
      Nick Alcock authored
      This reports common symbols like GNU nm, via a type code of 'C'.
      
      ChangeLog:
      
      	* libtool.m4 (lt_cv_sys_global_symbol_pipe): Augment symcode for
      	Solaris 11.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      dc17ceb3
    • Alexander von Gluck IV's avatar
      Add support for the haiku operating system · ead5103c
      Alexander von Gluck IV authored
      These are the os support patches we have been grooming and maintaining
      for quite a few years over on git.haiku-os.org.  All of these
      architectures are working and most have been stable for quite some time.
      
      ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Add Haiku to list of ELF OSes
      	* libtool.m4: Update sys_lib_dlsearch_path_spec on Haiku.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      ead5103c
    • Nick Alcock's avatar
      libtool.m4: fix the NM="/nm/over/here -B/option/with/path" case · f3307109
      Nick Alcock authored
      My previous nm patch handled all cases but one -- if the user set NM in
      the environment to a path which contained an option, libtool's nm
      detection tries to run nm against a copy of nm with the options in it:
      e.g. if NM was set to "nm --blargle", and nm was found in /usr/bin, the
      test would try to run "/usr/bin/nm --blargle /usr/bin/nm --blargle".
      This is unlikely to be desirable: in this case we should run
      "/usr/bin/nm --blargle /usr/bin/nm".
      
      Furthermore, as part of this nm has to detect when the passed-in $NM
      contains a path, and in that case avoid doing a path search itself.
      This too was thrown off if an option contained something that looked
      like a path, e.g. NM="nm -B../prev-gcc"; libtool then tries to run
      "nm -B../prev-gcc nm" which rarely works well (and indeed it looks
      to see whether that nm exists, finds it doesn't, and wrongly concludes
      that nm -p or whatever does not work).
      
      Fix all of these by clipping all options (defined as everything
      including and after the first " -") before deciding whether nm
      contains a path (but not using the clipped value for anything else),
      and then removing all options from the path-modified nm before
      looking to see whether that nm existed.
      
      NM=my-nm now does a path search and runs e.g.
        /usr/bin/my-nm -B /usr/bin/my-nm
      
      NM=/usr/bin/my-nm now avoids a path search and runs e.g.
        /usr/bin/my-nm -B /usr/bin/my-nm
      
      NM="my-nm -p../wombat" now does a path search and runs e.g.
        /usr/bin/my-nm -p../wombat -B /usr/bin/my-nm
      
      NM="../prev-binutils/new-nm -B../prev-gcc" now avoids a path search:
        ../prev-binutils/my-nm -B../prev-gcc -B ../prev-binutils/my-nm
      
      This seems to be all combinations, including those used by GCC bootstrap
      (which, before this commit, fails to bootstrap when configured
      --with-build-config=bootstrap-lto, because the lto plugin is now using
      --export-symbols-regex, which requires libtool to find a working nm,
      while also using -B../prev-gcc to point at the lto plugin associated
      with the GCC just built.)
      
      Regenerate all affected configure scripts.
      
      ChangeLog:
      
      	* libtool.m4 (LT_PATH_NM): Handle user-specified NM with
      	options, including options containing paths.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      f3307109
    • Nick Alcock's avatar
      libtool.m4: fix nm BSD flag detection · ab422974
      Nick Alcock authored
      Libtool needs to get BSD-format (or MS-format) output out of the system
      nm, so that it can scan generated object files for symbol names for
      -export-symbols-regex support.  Some nms need specific flags to turn on
      BSD-formatted output, so libtool checks for this in its AC_PATH_NM.
      Unfortunately the code to do this has a pair of interlocking flaws:
      
       - it runs the test by doing an nm of /dev/null.  Some platforms
         reasonably refuse to do an nm on a device file, but before now this
         has only been worked around by assuming that the error message has a
         specific textual form emitted by Tru64 nm, and that getting this
         error means this is Tru64 nm and that nm -B would work to produce
         BSD-format output, even though the test never actually got anything
         but an error message out of nm -B.  This is fixable by nm'ing *nm
         itself* (since we necessarily have a path to it).
      
       - the test is entirely skipped if NM is set in the environment, on the
         grounds that the user has overridden the test: but the user cannot
         reasonably be expected to know that libtool wants not only nm but
         also flags forcing BSD-format output.  Worse yet, one such "user" is
         the top-level Cygnus configure script, which neither tests for
         nor specifies any BSD-format flags.  So platforms needing BSD-format
         flags always fail to set them when run in a Cygnus tree, breaking
         -export-symbols-regex on such platforms.  Libtool also needs to
         augment $LD on some platforms, but this is done unconditionally,
         augmenting whatever the user specified: the nm check should do the
         same.
      
         One wrinkle: if the user has overridden $NM, a path might have been
         provided: so we use the user-specified path if there was one, and
         otherwise do the path search as usual.  (If the nm specified doesn't
         work, this might lead to a few extra pointless path searches -- but
         the test is going to fail anyway, so that's not a problem.)
      
      (Tested with NM unset, and set to nm, /usr/bin/nm, my-nm where my-nm is a
      symlink to /usr/bin/nm on the PATH, and /not-on-the-path/my-nm where
      *that* is a symlink to /usr/bin/nm.)
      
      ChangeLog:
      
      	* libtool.m4 (LT_PATH_NM): Try BSDization flags with a user-provided
      	NM, if there is one.  Run nm on itself, not on /dev/null, to avoid
      	errors from nms that refuse to work on non-regular files.  Remove
      	other workarounds for this problem.  Strip out blank lines from the
      	nm output.
      
      fixincludes/ChangeLog:
      
      	* configure: Regenerate.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      ab422974
    • H.J. Lu's avatar
      GCC: Check if AR works with --plugin and rc · 9c7797a8
      H.J. Lu authored
      AR from older binutils doesn't work with --plugin and rc:
      
      [hjl@gnu-cfl-2 bin]$ touch foo.c
      [hjl@gnu-cfl-2 bin]$ ar --plugin /usr/libexec/gcc/x86_64-redhat-linux/10/liblto_plugin.so rc libfoo.a foo.c
      [hjl@gnu-cfl-2 bin]$ ./ar --plugin /usr/libexec/gcc/x86_64-redhat-linux/10/liblto_plugin.so rc libfoo.a foo.c
      ./ar: no operation specified
      [hjl@gnu-cfl-2 bin]$ ./ar --version
      GNU ar (Linux/GNU Binutils) 2.29.51.0.1.20180112
      Copyright (C) 2018 Free Software Foundation, Inc.
      This program is free software; you may redistribute it under the terms of
      the GNU General Public License version 3 or (at your option) any later version.
      This program has absolutely no warranty.
      [hjl@gnu-cfl-2 bin]$
      
      Check if AR works with --plugin and rc before passing --plugin to AR and
      RANLIB.
      
      ChangeLog:
      
      	* configure: Regenerated.
      	* libtool.m4 (_LT_CMD_OLD_ARCHIVE): Check if AR works with
      	--plugin and rc before enabling --plugin.
      
      config/ChangeLog:
      
      	* gcc-plugin.m4 (GCC_PLUGIN_OPTION): Check if AR works with
      	--plugin and rc before enabling --plugin.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libiberty/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      9c7797a8
    • H.J. Lu's avatar
      Sync with binutils: GCC: Pass --plugin to AR and RANLIB · 126f707e
      H.J. Lu authored
      Sync with binutils for building binutils with LTO:
      
      50ad1254d50 GCC: Pass --plugin to AR and RANLIB
      
      Detect GCC LTO plugin.  Pass --plugin to AR and RANLIB to support LTO
      build.
      
      ChangeLog:
      
      	* Makefile.tpl (AR): Add @AR_PLUGIN_OPTION@
      	(RANLIB): Add @RANLIB_PLUGIN_OPTION@.
      	* configure.ac: Include config/gcc-plugin.m4.
      	AC_SUBST AR_PLUGIN_OPTION and RANLIB_PLUGIN_OPTION.
      	* libtool.m4 (_LT_CMD_OLD_ARCHIVE): Pass --plugin to AR and
      	RANLIB if possible.
      	* Makefile.in: Regenerated.
      	* configure: Likewise.
      
      config/ChangeLog:
      
      	* gcc-plugin.m4 (GCC_PLUGIN_OPTION): New.
      
      libiberty/ChangeLog:
      
      	* Makefile.in (AR): Add @AR_PLUGIN_OPTION@
      	(RANLIB): Add @RANLIB_PLUGIN_OPTION@.
      	(configure_deps): Depend on ../config/gcc-plugin.m4.
      	* configure.ac: AC_SUBST AR_PLUGIN_OPTION and
      	RANLIB_PLUGIN_OPTION.
      	* aclocal.m4: Regenerated.
      	* configure: Likewise.
      
      zlib/ChangeLog:
      
      	* configure: Regenerated.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      126f707e
  19. May 07, 2023
  20. May 06, 2023
    • Dan Horák's avatar
      libffi: fix handling of homogeneous float128 structs (#689) · 043550bc
      Dan Horák authored
      If there is a homogeneous struct with float128 members, they should be
      copied to vector register save area. The current code incorrectly copies
      only the value of the first member, not increasing the pointer with each
      iteration. Fix this.
      
      Merged from upstream libffi commit: 464b4b66e3cf3b5489e730c1466ee1bf825560e0
      
      2023-05-03  Dan Horák <dan@danny.cz>
      
      libffi/
      	PR libffi/109447
      	* src/powerpc/ffi_linux64.c (ffi_prep_args64): Update arg.f128 pointer.
      043550bc
  21. Jan 23, 2023
  22. Jan 22, 2023
    • Iain Sandoe's avatar
      Darwin, libffi, testsuite: Ensure we pick up the convenience lib. · e4703bd0
      Iain Sandoe authored
      
      For several Darwin linker versions, the link paths are first traversed
      looking for shared libraries, and then again looking for archives.
      
      We want the paths to be searched for both shared and archives in order
      so that we will find the non-shared libffi in the testsuite (otherwise
      the installed version in the system will be found instead).
      
      Signed-off-by: default avatarIain Sandoe <iain@sandoe.co.uk>
      
      libffi/ChangeLog:
      
      	* testsuite/lib/libffi.exp: Search for both shared and archive
      	in each path in turn.
      e4703bd0
  23. Jan 08, 2023
  24. Jan 07, 2023
    • LIU Hao's avatar
      Always define `WIN32_LEAN_AND_MEAN` before <windows.h> · 902c7559
      LIU Hao authored
      Recently, mingw-w64 has got updated <msxml.h> from Wine which is included
      indirectly by <windows.h> if `WIN32_LEAN_AND_MEAN` is not defined. The
      `IXMLDOMDocument` class has a member function named `abort()`, which gets
      affected by our `abort()` macro in "system.h".
      
      `WIN32_LEAN_AND_MEAN` should, nevertheless, always be defined. This
      can exclude 'APIs such as Cryptography, DDE, RPC, Shell, and Windows
      Sockets' [1], and speed up compilation of these files a bit.
      
      [1] https://learn.microsoft.com/en-us/windows/win32/winprog/using-the-windows-headers
      
      gcc/
      
      	PR middle-end/108300
      	* config/xtensa/xtensa-dynconfig.c: Define `WIN32_LEAN_AND_MEAN`
      	before <windows.h>.
      	* diagnostic-color.cc: Likewise.
      	* plugin.cc: Likewise.
      	* prefix.cc: Likewise.
      
      gcc/ada/
      
      	PR middle-end/108300
      	* adaint.c: Define `WIN32_LEAN_AND_MEAN` before `#include
      	<windows.h>`.
      	* cio.c: Likewise.
      	* ctrl_c.c: Likewise.
      	* expect.c: Likewise.
      	* gsocket.h: Likewise.
      	* mingw32.h: Likewise.
      	* mkdir.c: Likewise.
      	* rtfinal.c: Likewise.
      	* rtinit.c: Likewise.
      	* seh_init.c: Likewise.
      	* sysdep.c: Likewise.
      	* terminals.c: Likewise.
      	* tracebak.c: Likewise.
      
      gcc/jit/
      
      	PR middle-end/108300
      	* jit-w32.h: Define `WIN32_LEAN_AND_MEAN` before <windows.h>.
      
      libatomic/
      
      	PR middle-end/108300
      	* config/mingw/lock.c: Define `WIN32_LEAN_AND_MEAN` before
      	<windows.h>.
      
      libffi/
      
      	PR middle-end/108300
      	* src/aarch64/ffi.c: Define `WIN32_LEAN_AND_MEAN` before
      	<windows.h>.
      
      libgcc/
      
      	PR middle-end/108300
      	* config/i386/enable-execute-stack-mingw32.c: Define
      	`WIN32_LEAN_AND_MEAN` before <windows.h>.
      	* libgcc2.c: Likewise.
      	* unwind-generic.h: Likewise.
      
      libgfortran/
      
      	PR middle-end/108300
      	* intrinsics/sleep.c: Define `WIN32_LEAN_AND_MEAN` before
      	<windows.h>.
      
      libgomp/
      
      	PR middle-end/108300
      	* config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
      	<windows.h>.
      
      libiberty/
      
      	PR middle-end/108300
      	* make-temp-file.c: Define `WIN32_LEAN_AND_MEAN` before <windows.h>.
      	* pex-win32.c: Likewise.
      
      libssp/
      
      	PR middle-end/108300
      	* ssp.c: Define `WIN32_LEAN_AND_MEAN` before <windows.h>.
      
      libstdc++-v3/
      
      	PR middle-end/108300
      	* src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
      	<windows.h>.
      	* src/c++11/thread.cc: Likewise.
      	* src/c++17/fs_ops.cc: Likewise.
      	* src/filesystem/ops.cc: Likewise.
      
      libvtv/
      
      	PR middle-end/108300
      	* vtv_malloc.cc: Define `WIN32_LEAN_AND_MEAN` before <windows.h>.
      	* vtv_rts.cc: Likewise.
      	* vtv_utils.cc: Likewise.
      902c7559
  25. Dec 22, 2022
  26. Dec 21, 2022
    • Iain Sandoe's avatar
      libffi: Update LOCAL_PATCHES. · f661b3d1
      Iain Sandoe authored
      
      Add the patch that fixes i686 Darwin build.
      
      Signed-off-by: default avatarIain Sandoe <iain@sandoe.co.uk>
      
      libffi/ChangeLog:
      
      	* LOCAL_PATCHES: Add patch to fix i686 darwin build.
      f661b3d1
    • Iain Sandoe's avatar
      libffi: Fix X86 32b Darwin build and EH frames. · 3cc159bc
      Iain Sandoe authored
      
      This addresses a number of issues in the X86 Darwin 32b port for libffi.
      
      1. The pic symbol stubs are weak definitions; the correct section placement
         for these depends on the linker version in use.  We do not have access
         to that information, but we can use the target OS version (assumes that
         the user has installed the latest version of xcode available).
         When a coalesced section is in use (OS versions earlier than Darwin12 /
         OSX 10.8), its name must differ from  __TEXT,__text since otherwise that
         would correspond to altering the attributes of the .text section (which
         produces a diagnostic from the assembler).
         Here we use __TEXT, __textcoal_nt for this which is what GCC emits for
         these stubs.
         For later versions than Darwin 12 (OS X 10.8) we can place the stubs in
         the .text section (if we do not we get a diagnostic from clang -cc1as
         saying that the use of coalesced sections for this is deprecated).
      
      2. The EH frame is specified manually, since there is no support for .cfi_
         directives in 'cctools' assemblers.  The implementation needs to provide
         offsets for CFA advance, code size and to the CIE as signed values
         rather than relocations. However the cctools assembler will produce a
         relocation for expressions like ' .long Lxx-Lyy' which then leads to a
         link-time error.  We correct this by forming the offset values using
         ' .set' directives and then assigning the results of them.
      
      3. The register numbering used by m32 X86 Darwin EH frames is not the same
         as the DWARF debug numbering (the Frame and Stack pointer numbers are
         swapped).
      
      4. The FDE address encoding used by the system tools is '0x10' (PCrel + abs)
         where the value provided was PCrel + sdata4.
      
      5. GCC does not use compact unwind at present, and it was not implemented
         until Darwin10 / OSX 10.6.  There were some issues with function location
         in 10.6 so that the solution here suppresses emitting the compact unwind
         section until Darwin11 / OSX 10.7.
      
      Signed-off-by: default avatarIain Sandoe <iain@sandoe.co.uk>
      
      libffi/ChangeLog:
      
      	* src/x86/sysv.S (COMDAT): Amend section use for Darwin, accounting
      	cases where coalesced is needed. (eh_frame): Rework to avoid relocs
      	that cause builf fails on earlier Darwin.  Adjust register numbers
      	to account for X86 m32 Darwin differences between EH and debug.
      3cc159bc
  27. Nov 21, 2022
  28. Oct 13, 2022
  29. Oct 12, 2022
    • Martin Liska's avatar
      regenerate configure files · 6d2294a8
      Martin Liska authored
      Needed after a recent change.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      liboffloadmic/ChangeLog:
      
      	* configure: Regenerate.
      	* plugin/configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      6d2294a8
    • GCC Administrator's avatar
      Daily bump. · ab332cd7
      GCC Administrator authored
      ab332cd7
  30. Oct 11, 2022
    • Olivier Hainque's avatar
      Generic configury support for shared libs on VxWorks · 0ecd0f1c
      Olivier Hainque authored
      This change adds the configury bits to activate the build of
      shared libs on VxWorks ports configured with --enable-shared,
      for libraries variants where this is generally supported (rtp,
      code model !large - currently not compatible with -fPIC).
      
      Set lt_cv_deplibs_check_method in libtool.m4, so the build of
      libraries know how to establish dependencies.  This is useful in
      configurations such as aarch64 where proper support of LSE relies
      on accurate dependency information between libstdc++ and libgcc_s
      to begin with.
      
      Regenerate configure scripts to reflect libtool.m4 change.
      
      2022-10-09  Olivier Hainque  <hainque@adacore.com>
      
      	* libtool.m4 (*vxworks*): When enable_shared, set dynamic_linker
      	and friends for rtp !large. Assume the linker has the required
      	abilities and set lt_cv_deplibs_check_method.
      
      gcc/
      	* config.gcc (*vxworks*): Add t-slibgcc fragment
      	if enable_shared.
      
      libgcc/
      	* config.host (*vxworks*): When enable_shared, add
      	libgcc and crtstuff "shared" fragments for rtp except
      	large code model.
      	(aarch64*-wrs-vxworks7*): Remove t-slibgcc-libgcc from
      	the list of fragments.
      
      2022-10-09  Olivier Hainque  <hainque@adacore.com>
      
      gcc/
      	* configure: Regenerate.
      
      libatomic/
      	* configure: Regenerate.
      
      libbacktrace/
      	* configure: Regenerate.
      
      libcc1/
      	* configure: Regenerate.
      
      libffi/
      	* configure: Regenerate.
      
      libgfortran/
      	* configure: Regenerate.
      
      libgomp/
      	* configure: Regenerate.
      
      libitm/
      	* configure: Regenerate.
      
      libobjc/
      	* configure: Regenerate.
      
      liboffloadmic/
      	* configure: Regenerate.
      
      liboffloadmic/
      	* plugin/configure: Regenerate.
      
      libphobos/
      	* configure: Regenerate.
      
      libquadmath/
      	* configure: Regenerate.
      
      libsanitizer/
      	* configure: Regenerate.
      
      libssp/
      	* configure: Regenerate.
      
      libstdc++-v3/
      	* configure: Regenerate.
      
      libvtv/
      	* configure: Regenerate.
      
      lto-plugin/
      	* configure: Regenerate.
      
      zlib/
      	* configure: Regenerate.
      0ecd0f1c
  31. Nov 16, 2021
  32. Nov 15, 2021
    • H.J. Lu's avatar
      libffi: Update LOCAL_PATCHES · 7d768a9d
      H.J. Lu authored
      Add
      
      commit a91f844e
      Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
      Date:   Mon Nov 15 10:24:27 2021 +0100
      
          libffi: Use #define instead of .macro in  src/x86/win64.S [PR102874]
      
      to LOCAL_PATCHES.
      
      	* LOCAL_PATCHES: Add commit a91f844e.
      7d768a9d
Loading