Skip to content
Snippets Groups Projects
  1. Dec 01, 2024
  2. Nov 30, 2024
    • Jakub Jelinek's avatar
      openmp: Add crtoffloadtableS.o and use it [PR117851] · f089ef88
      Jakub Jelinek authored
      Unlike crtoffload{begin,end}.o which just define some symbols at the start/end
      of the various .gnu.offload* sections, crtoffloadtable.o contains
      const void *const __OFFLOAD_TABLE__[]
        __attribute__ ((__visibility__ ("hidden"))) =
      {
        &__offload_func_table, &__offload_funcs_end,
        &__offload_var_table, &__offload_vars_end,
        &__offload_ind_func_table, &__offload_ind_funcs_end,
      };
      The problem is that linking this into PIEs or shared libraries doesn't
      work when it is compiled without -fpic/-fpie - __OFFLOAD_TABLE__ for non-PIC
      code is put into .rodata section, but it really needs relocations, so for
      PIC it should go into .data.rel.ro/.data.rel.ro.local.
      As I think we don't want .data.rel.ro section in non-PIE binaries, this patch
      follows the path of e.g. crtbegin.o vs. crtbeginS.o and adds crtoffloadtableS.o
      next to crtoffloadtable.o, where crtoffloadtableS.o is compiled with -fpic.
      
      2024-11-30  Jakub Jelinek  <jakub@redhat.com>
      
      	PR libgomp/117851
      gcc/
      	* lto-wrapper.cc (find_crtoffloadtable): Add PIE_OR_SHARED argument,
      	search for crtoffloadtableS.o rather than crtoffloadtable.o if
      	true.
      	(run_gcc): Add pie_or_shared variable.  If OPT_pie or OPT_shared or
      	OPT_static_pie is seen, set pie_or_shared to true, if OPT_no_pie is
      	seen, set pie_or_shared to false.  Pass it to find_crtoffloadtable.
      libgcc/
      	* configure.ac (extra_parts): Add crtoffloadtableS.o.
      	* Makefile.in (crtoffloadtableS$(objext)): New goal.
      	* configure: Regenerated.
      f089ef88
    • GCC Administrator's avatar
      Daily bump. · 20dcb792
      GCC Administrator authored
      20dcb792
  3. Nov 29, 2024
    • Yury Khrustalev's avatar
      aarch64: Fix build failure due to missing header · f3ee8bc1
      Yury Khrustalev authored
      Including the "arm_acle.h" header in aarch64-unwind.h requires
      stdint.h to be present and it may not be available during the
      first stage of cross-compilation of GCC.
      
      When cross-building GCC for the aarch64-none-linux-gnu target
      (on any supporting host) using the 3-stage bootstrap build
      process when we build native compiler from source, libgcc fails
      to compile due to missing header that has not been installed yet.
      
      This could be worked around but it's better to fix the issue.
      
      libgcc/ChangeLog:
      
      	* config/aarch64/aarch64-unwind.h (_CHKFEAT_GCS): Add.
      f3ee8bc1
    • Yury Khrustalev's avatar
      aarch64: add ACLE macro _CHKFEAT_GCS · 5a6af707
      Yury Khrustalev authored
      
      gcc/ChangeLog:
      	* config/aarch64/arm_acle.h (_CHKFEAT_GCS): New.
      
      libgcc/ChangeLog:
      
      	* config/aarch64/aarch64-unwind.h (_Unwind_Frames_Extra): Update.
      	(_Unwind_Frames_Increment): Update
      
      Reviewed-by: default avatarRichard Sandiford <richard.sandiford@arm.com>
      5a6af707
  4. Nov 26, 2024
  5. Nov 25, 2024
    • Sandra Loosemore's avatar
      nios2: Remove all support for Nios II target. · e876acab
      Sandra Loosemore authored
      nios2 target support in GCC was deprecated in GCC 14 as the
      architecture has been EOL'ed by the vendor.  This patch removes the
      entire port for GCC 15
      
      There are still references to "nios2" in libffi and libgo.  Since those
      libraries are imported into the gcc sources from master copies maintained
      by other projects, those will need to be addressed elsewhere.
      
      ChangeLog:
      	* MAINTAINERS: Remove references to nios2.
      	* configure.ac: Likewise.
      	* configure: Regenerated.
      
      config/ChangeLog:
      	* mt-nios2-elf: Deleted.
      
      contrib/ChangeLog:
      	* config-list.mk: Remove references to Nios II.
      
      gcc/ChangeLog:
      	* common/config/nios2/*: Delete entire directory.
      	* config/nios2/*: Delete entire directory.
      	* config.gcc: Remove references to nios2.
      	* configure.ac: Likewise.
      	* doc/extend.texi: Likewise.
      	* doc/install.texi: Likewise.
      	* doc/invoke.texi: Likewise.
      	* doc/md.texi: Likewise.
      	* regenerate-opt-urls.py: Likewise.
      	* config.in: Regenerated.
      	* configure: Regenerated.
      
      gcc/testsuite/ChangeLog:
      	* g++.target/nios2/*: Delete entire directory.
      	* gcc.target/nios2/*: Delete entire directory.
      	* g++.dg/cpp0x/constexpr-rom.C: Remove refences to nios2.
      	* g++.old-deja/g++.jason/thunk3.C: Likewise.
      	* gcc.c-torture/execute/20101011-1.c: Likewise.
      	* gcc.c-torture/execute/pr47237.c: Likewise.
      	* gcc.dg/20020312-2.c: Likewise.
      	* gcc.dg/20021029-1.c: Likewise.
      	* gcc.dg/debug/btf/btf-datasec-1.c: Likewise.
      	* gcc.dg/ifcvt-4.c: Likewise.
      	* gcc.dg/stack-usage-1.c: Likewise.
      	* gcc.dg/struct-by-value-1.c: Likewise.
      	* gcc.dg/tree-ssa/reassoc-33.c: Likewise.
      	* gcc.dg/tree-ssa/reassoc-34.c: Likewise.
      	* gcc.dg/tree-ssa/reassoc-35.c: Likewise.
      	* gcc.dg/tree-ssa/reassoc-36.c: Likewise.
      	* lib/target-supports.exp: Likewise.
      
      libgcc/ChangeLog:
      	* config/nios2/*: Delete entire directory.
      	* config.host: Remove refences to nios2.
      	* unwind-dw2-fde-dip.c: Likewise.
      e876acab
  6. Nov 20, 2024
  7. Nov 19, 2024
  8. Nov 18, 2024
    • Jeff Law's avatar
      Fix more c23 bool fallout · 1100c057
      Jeff Law authored
      While these haven't shown up in my tester (not configs I test) and I think
      we're likely going to be deprecating the nds32 target. we might as well go
      ahead and fix them.
      
      I'm going to include this under the pr117628 umbrella.
      
      	PR target/117628
      
      libgcc/
      	* config/arm/freebsd-atomic.c (bool): Remove unnecessary typedef.
      	* config/arm/linux-atomic-64bit.c: Likewise.
      	* config/arm/linux-atomic.c: Likewise.
      	* config/nds32/linux-atomic.c: Likewise.
      	* config/nios2/linux-atomic.c: Likewise.
      1100c057
    • Jeff Law's avatar
      [RFA] Fix csky and c6x build failures · 39a39d1f
      Jeff Law authored
      csky fails to build libgcc after the c23 changes because it has a typedef for
      bool.  AFAICT it's internal to the file, so removing the typedef isn't an ABI
      change.
      
      Similiarly for c6x which includes unwind-arm-common.inc.  I suspect most, if
      not all of the arm-v7 and older targets are failing to build right now.
      
      I've built and regression tested both csky-linux-gnu and c6x-elf with this
      change.  OK for the trunk?
      
      	PR target/117628
      libgcc/
      	* config/csky/linux-atomic.c (bool): Remove unnecessary typedef.
      	* unwind-arm-common.inc (bool): Similarly.
      39a39d1f
    • GCC Administrator's avatar
      Daily bump. · 24da8634
      GCC Administrator authored
      24da8634
  9. Nov 17, 2024
  10. Nov 16, 2024
    • Georg-Johann Lay's avatar
      AVR: Fix building LibF7 after switching to C23. · 307b1117
      Georg-Johann Lay authored
      Since r15-5327, GNU-C23 is being used as C language default.
      libf7.h doesn't assume headers like stdbool.h are present
      and defines bool, true and false on its own.
      
      libgcc/config/avr/libf7/
      	* libf7.h (bool, true, false): Don't define in C23 or higher.
      307b1117
    • Jakub Jelinek's avatar
      libgcc: Fix a warning/error in libgcc2.c [PR117624] · 09ef9756
      Jakub Jelinek authored
      Since the switch to -std=gnu23 by default, float.h (included from
      tsystem.h) defines INFINITY macro (to __builtin_inff ()), which now
      results in a warning when compiling libgcc2.c which defines it
      to something else (and, worse aarch64 compiles it with -Werror and
      build fails).
      libgcc2.c asserts INFINITY has the expected type which depends on
      the macros with which libgcc2.c is being compiled, so guarding
      the define with #ifndef INFINITY wouldn't work.
      So this patch instead #undefs the macro before defining it.
      
      2024-11-16  Jakub Jelinek  <jakub@redhat.com>
      
      	PR libgcc/117624
      	* libgcc2.c (INFINITY): Add #undef before #define.
      09ef9756
  11. Nov 14, 2024
    • GCC Administrator's avatar
      Daily bump. · 5673fc0c
      GCC Administrator authored
      5673fc0c
    • Szabolcs Nagy's avatar
      aarch64: libgcc: add GCS marking to asm · d8374290
      Szabolcs Nagy authored
      libgcc/ChangeLog:
      
      	* config/aarch64/aarch64-asm.h (FEATURE_1_GCS): Define.
      	(GCS_FLAG): Define if GCS is enabled.
      	(GNU_PROPERTY): Add GCS_FLAG.
      d8374290
    • Szabolcs Nagy's avatar
      aarch64: Add GCS support to the unwinder · 2a330ec1
      Szabolcs Nagy authored
      Follows the current linux ABI that uses single signal entry token
      and shared shadow stack between thread and alt stack.
      Could be behind __ARM_FEATURE_GCS_DEFAULT ifdef (only do anything
      special with gcs compat codegen) but there is a runtime check anyway.
      
      Change affected tests to be compatible with -mbranch-protection=standard
      
      libgcc/ChangeLog:
      
      	* config/aarch64/aarch64-unwind.h (_Unwind_Frames_Extra): Update.
      	(_Unwind_Frames_Increment): Define.
      2a330ec1
    • Christophe Lyon's avatar
      libgcc: Fix COPY_ARG_VAL initializer (PR 117537) · 13a966d5
      Christophe Lyon authored
      We recently forced -Werror when building libgcc for aarch64, to make
      sure we'd catch and fix the kind of problem described in the PR.
      
      In this case, when building for aarch64_be (so, big endian), gcc emits
      this warning/error:
      libgcc/config/libbid/bid_conf.h:847:25: error: missing braces around initializer [-Werror=missing-braces]
        847 |        UINT128 arg_name={ bid_##arg_name.w[1], bid_##arg_name.w[0]};
      libgcc/config/libbid/bid_conf.h:871:8: note: in expansion of macro 'COPY_ARG_VAL'
        871 |        COPY_ARG_VAL(arg_name)
      
      This patch fixes the problem by adding curly braces around the
      initializer for COPY_ARG_VAL in the big endian case.
      
      It seems that COPY_ARG_REF (just above COPY_ARG_VAL) has a similar
      issue, but DECIMAL_CALL_BY_REFERENCE seems always defined to 0, so
      COPY_ARG_REF is never used.  The patch fixes it too, though.
      
      libgcc/config/libbid/ChangeLog:
      
      	PR libgcc/117537
      	* bid_conf.h (COPY_ARG_REF): Fix initializer.
      	(COPY_ARG_VAL): Likewise.
      13a966d5
  12. Oct 26, 2024
  13. Oct 25, 2024
    • Jakub Jelinek's avatar
      non-gcc: Remove trailing whitespace · 45ab93d9
      Jakub Jelinek authored
      I've tried to build stage3 with
      -Wleading-whitespace=blanks -Wtrailing-whitespace=blank -Wno-error=leading-whitespace=blanks -Wno-error=trailing-whitespace=blank
      added to STRICT_WARN and that expectably resulted in about
      2744 unique trailing whitespace warnings and 124837 leading whitespace
      warnings when excluding *.md files (which obviously is in big part a
      generator issue).  Others from that are generator related, I think those
      need to be solved later.
      
      The following patch just fixes up the easy case (trailing whitespace),
      which could be easily automated:
      for i in `find . -name \*.h -o -name \*.cc -o -name \*.c | xargs grep -l '[ 	]$' | grep -v testsuite/`; do sed -i -e 's/[ 	]*$//' $i; done
      I've excluded files which I knew are obviously generated or go FE.
      
      Is there anything else we'd want to avoid the changes?
      
      Due to patch size, I've split it between gcc/ part
      and rest (include/, libiberty/, libgcc/, libcpp/, libstdc++-v3/;
      this part).
      
      2024-10-24  Jakub Jelinek  <jakub@redhat.com>
      
      include/
      	* dyn-string.h: Remove trailing whitespace.
      	* libiberty.h: Likewise.
      	* xregex.h: Likewise.
      	* splay-tree.h: Likewise.
      	* partition.h: Likewise.
      	* plugin-api.h: Likewise.
      	* demangle.h: Likewise.
      	* vtv-change-permission.h: Likewise.
      	* fibheap.h: Likewise.
      	* hsa_ext_image.h: Likewise.
      	* hashtab.h: Likewise.
      	* libcollector.h: Likewise.
      	* sort.h: Likewise.
      	* symcat.h: Likewise.
      	* hsa_ext_amd.h: Likewise.
      libcpp/
      	* directives.cc: Remove trailing whitespace.
      	* mkdeps.cc: Likewise.
      	* line-map.cc: Likewise.
      	* internal.h: Likewise.
      	* files.cc: Likewise.
      	* init.cc: Likewise.
      	* makeucnid.cc: Likewise.
      	* system.h: Likewise.
      	* include/line-map.h: Likewise.
      	* include/symtab.h: Likewise.
      	* include/cpplib.h: Likewise.
      	* expr.cc: Likewise.
      	* charset.cc: Likewise.
      	* macro.cc: Likewise.
      	* errors.cc: Likewise.
      	* lex.cc: Likewise.
      	* traditional.cc: Likewise.
      libgcc/
      	* crtstuff.c: Remove trailing whitespace.
      	* libgcov.h: Likewise.
      	* config/alpha/crtfastmath.c: Likewise.
      	* config/alpha/vms-gcc_shell_handler.c: Likewise.
      	* config/alpha/vms-unwind.h: Likewise.
      	* config/pa/linux-atomic.c: Likewise.
      	* config/pa/linux-unwind.h: Likewise.
      	* config/pa/quadlib.c: Likewise.
      	* config/pa/fptr.c: Likewise.
      	* config/s390/32/_fixsfdi.c: Likewise.
      	* config/s390/32/_fixunssfdi.c: Likewise.
      	* config/s390/32/_fixunsdfdi.c: Likewise.
      	* config/c6x/pr-support.c: Likewise.
      	* config/lm32/_udivsi3.c: Likewise.
      	* config/lm32/libgcc_lm32.h: Likewise.
      	* config/lm32/_udivmodsi4.c: Likewise.
      	* config/lm32/_mulsi3.c: Likewise.
      	* config/lm32/_modsi3.c: Likewise.
      	* config/lm32/_umodsi3.c: Likewise.
      	* config/lm32/_divsi3.c: Likewise.
      	* config/darwin-crt3.c: Likewise.
      	* config/msp430/mpy.c: Likewise.
      	* config/ia64/tf-signs.c: Likewise.
      	* config/ia64/fde-vms.c: Likewise.
      	* config/ia64/unwind-ia64.c: Likewise.
      	* config/ia64/vms-unwind.h: Likewise.
      	* config/ia64/sfp-exceptions.c: Likewise.
      	* config/ia64/quadlib.c: Likewise.
      	* config/ia64/unwind-ia64.h: Likewise.
      	* config/rl78/vregs.h: Likewise.
      	* config/arm/bpabi.c: Likewise.
      	* config/arm/unwind-arm.c: Likewise.
      	* config/arm/pr-support.c: Likewise.
      	* config/arm/linux-atomic.c: Likewise.
      	* config/arm/bpabi-lib.h: Likewise.
      	* config/frv/frvend.c: Likewise.
      	* config/frv/cmovw.c: Likewise.
      	* config/frv/frvbegin.c: Likewise.
      	* config/frv/cmovd.c: Likewise.
      	* config/frv/cmovh.c: Likewise.
      	* config/aarch64/cpuinfo.c: Likewise.
      	* config/i386/crtfastmath.c: Likewise.
      	* config/i386/cygming-crtend.c: Likewise.
      	* config/i386/32/tf-signs.c: Likewise.
      	* config/i386/crtprec.c: Likewise.
      	* config/i386/sfp-exceptions.c: Likewise.
      	* config/i386/w32-unwind.h: Likewise.
      	* config/m32r/initfini.c: Likewise.
      	* config/sparc/crtfastmath.c: Likewise.
      	* config/gcn/amdgcn_veclib.h: Likewise.
      	* config/nios2/linux-atomic.c: Likewise.
      	* config/nios2/linux-unwind.h: Likewise.
      	* config/nios2/lib2-mul.c: Likewise.
      	* config/nios2/lib2-nios2.h: Likewise.
      	* config/xtensa/unwind-dw2-xtensa.c: Likewise.
      	* config/rs6000/darwin-fallback.c: Likewise.
      	* config/rs6000/ibm-ldouble.c: Likewise.
      	* config/rs6000/sfp-machine.h: Likewise.
      	* config/rs6000/darwin-asm.h: Likewise.
      	* config/rs6000/darwin-crt2.c: Likewise.
      	* config/rs6000/aix-unwind.h: Likewise.
      	* config/rs6000/sfp-exceptions.c: Likewise.
      	* config/gthr-vxworks.c: Likewise.
      	* config/riscv/atomic.c: Likewise.
      	* config/visium/memcpy.c: Likewise.
      	* config/darwin-crt-tm.c: Likewise.
      	* config/stormy16/lib2funcs.c: Likewise.
      	* config/arc/ieee-754/divtab-arc-sf.c: Likewise.
      	* config/arc/ieee-754/divtab-arc-df.c: Likewise.
      	* config/arc/initfini.c: Likewise.
      	* config/sol2/gmon.c: Likewise.
      	* config/microblaze/divsi3_table.c: Likewise.
      	* config/m68k/fpgnulib.c: Likewise.
      	* libgcov-driver.c: Likewise.
      	* unwind-dw2.c: Likewise.
      	* fp-bit.c: Likewise.
      	* dfp-bit.h: Likewise.
      	* dfp-bit.c: Likewise.
      	* libgcov-driver-system.c: Likewise.
      libgcc/config/libbid/
      	* _le_td.c: Remove trailing whitespace.
      	* bid128_compare.c: Likewise.
      	* bid_div_macros.h: Likewise.
      	* bid64_to_bid128.c: Likewise.
      	* bid64_to_uint32.c: Likewise.
      	* bid128_to_uint64.c: Likewise.
      	* bid64_div.c: Likewise.
      	* bid128_round_integral.c: Likewise.
      	* bid_binarydecimal.c: Likewise.
      	* bid128_string.c: Likewise.
      	* bid_flag_operations.c: Likewise.
      	* bid128_to_int64.c: Likewise.
      	* _mul_sd.c: Likewise.
      	* bid64_mul.c: Likewise.
      	* bid128_noncomp.c: Likewise.
      	* _gt_dd.c: Likewise.
      	* bid64_add.c: Likewise.
      	* bid64_string.c: Likewise.
      	* bid_from_int.c: Likewise.
      	* bid128.c: Likewise.
      	* _ge_dd.c: Likewise.
      	* _ne_sd.c: Likewise.
      	* _dd_to_td.c: Likewise.
      	* _unord_sd.c: Likewise.
      	* bid64_to_uint64.c: Likewise.
      	* _gt_sd.c: Likewise.
      	* _sd_to_td.c: Likewise.
      	* _addsub_td.c: Likewise.
      	* _ne_td.c: Likewise.
      	* bid_dpd.c: Likewise.
      	* bid128_add.c: Likewise.
      	* bid128_next.c: Likewise.
      	* _lt_sd.c: Likewise.
      	* bid64_next.c: Likewise.
      	* bid128_mul.c: Likewise.
      	* _lt_dd.c: Likewise.
      	* _ge_td.c: Likewise.
      	* _unord_dd.c: Likewise.
      	* bid64_sqrt.c: Likewise.
      	* bid_sqrt_macros.h: Likewise.
      	* bid64_fma.c: Likewise.
      	* _sd_to_dd.c: Likewise.
      	* bid_conf.h: Likewise.
      	* bid64_noncomp.c: Likewise.
      	* bid_gcc_intrinsics.h: Likewise.
      	* _gt_td.c: Likewise.
      	* _ge_sd.c: Likewise.
      	* bid128_minmax.c: Likewise.
      	* bid128_quantize.c: Likewise.
      	* bid32_to_bid64.c: Likewise.
      	* bid_round.c: Likewise.
      	* _td_to_sd.c: Likewise.
      	* bid_inline_add.h: Likewise.
      	* bid128_fma.c: Likewise.
      	* _eq_td.c: Likewise.
      	* bid32_to_bid128.c: Likewise.
      	* bid64_rem.c: Likewise.
      	* bid128_2_str_tables.c: Likewise.
      	* _mul_dd.c: Likewise.
      	* _dd_to_sd.c: Likewise.
      	* bid128_div.c: Likewise.
      	* _lt_td.c: Likewise.
      	* bid64_compare.c: Likewise.
      	* bid64_to_int32.c: Likewise.
      	* _unord_td.c: Likewise.
      	* bid128_rem.c: Likewise.
      	* bid_internal.h: Likewise.
      	* bid64_to_int64.c: Likewise.
      	* _eq_dd.c: Likewise.
      	* _td_to_dd.c: Likewise.
      	* bid128_to_int32.c: Likewise.
      	* bid128_to_uint32.c: Likewise.
      	* _ne_dd.c: Likewise.
      	* bid64_quantize.c: Likewise.
      	* _le_dd.c: Likewise.
      	* bid64_round_integral.c: Likewise.
      	* _le_sd.c: Likewise.
      	* bid64_minmax.c: Likewise.
      libgcc/config/avr/libf7/
      	* f7-renames.h: Remove trailing whitespace.
      libstdc++-v3/
      	* include/debug/debug.h: Remove trailing whitespace.
      	* include/parallel/base.h: Likewise.
      	* include/parallel/types.h: Likewise.
      	* include/parallel/settings.h: Likewise.
      	* include/parallel/multiseq_selection.h: Likewise.
      	* include/parallel/partition.h: Likewise.
      	* include/parallel/random_number.h: Likewise.
      	* include/parallel/find_selectors.h: Likewise.
      	* include/parallel/partial_sum.h: Likewise.
      	* include/parallel/list_partition.h: Likewise.
      	* include/parallel/search.h: Likewise.
      	* include/parallel/algorithmfwd.h: Likewise.
      	* include/parallel/random_shuffle.h: Likewise.
      	* include/parallel/multiway_mergesort.h: Likewise.
      	* include/parallel/sort.h: Likewise.
      	* include/parallel/algobase.h: Likewise.
      	* include/parallel/numericfwd.h: Likewise.
      	* include/parallel/multiway_merge.h: Likewise.
      	* include/parallel/losertree.h: Likewise.
      	* include/bits/basic_ios.h: Likewise.
      	* include/bits/stringfwd.h: Likewise.
      	* include/bits/ostream_insert.h: Likewise.
      	* include/bits/stl_heap.h: Likewise.
      	* include/bits/unordered_map.h: Likewise.
      	* include/bits/hashtable_policy.h: Likewise.
      	* include/bits/stl_iterator_base_funcs.h: Likewise.
      	* include/bits/valarray_before.h: Likewise.
      	* include/bits/regex.h: Likewise.
      	* include/bits/postypes.h: Likewise.
      	* include/bits/stl_iterator.h: Likewise.
      	* include/bits/localefwd.h: Likewise.
      	* include/bits/stl_algo.h: Likewise.
      	* include/bits/ios_base.h: Likewise.
      	* include/bits/stl_function.h: Likewise.
      	* include/bits/basic_string.h: Likewise.
      	* include/bits/hashtable.h: Likewise.
      	* include/bits/valarray_after.h: Likewise.
      	* include/bits/char_traits.h: Likewise.
      	* include/bits/gslice.h: Likewise.
      	* include/bits/locale_facets_nonio.h: Likewise.
      	* include/bits/mask_array.h: Likewise.
      	* include/bits/specfun.h: Likewise.
      	* include/bits/random.h: Likewise.
      	* include/bits/slice_array.h: Likewise.
      	* include/bits/valarray_array.h: Likewise.
      	* include/tr1/float.h: Likewise.
      	* include/tr1/functional_hash.h: Likewise.
      	* include/tr1/math.h: Likewise.
      	* include/tr1/hashtable_policy.h: Likewise.
      	* include/tr1/stdio.h: Likewise.
      	* include/tr1/complex.h: Likewise.
      	* include/tr1/stdbool.h: Likewise.
      	* include/tr1/stdarg.h: Likewise.
      	* include/tr1/inttypes.h: Likewise.
      	* include/tr1/fenv.h: Likewise.
      	* include/tr1/stdlib.h: Likewise.
      	* include/tr1/wchar.h: Likewise.
      	* include/tr1/tgmath.h: Likewise.
      	* include/tr1/limits.h: Likewise.
      	* include/tr1/wctype.h: Likewise.
      	* include/tr1/stdint.h: Likewise.
      	* include/tr1/ctype.h: Likewise.
      	* include/tr1/random.h: Likewise.
      	* include/tr1/shared_ptr.h: Likewise.
      	* include/ext/mt_allocator.h: Likewise.
      	* include/ext/sso_string_base.h: Likewise.
      	* include/ext/debug_allocator.h: Likewise.
      	* include/ext/vstring_fwd.h: Likewise.
      	* include/ext/pointer.h: Likewise.
      	* include/ext/pod_char_traits.h: Likewise.
      	* include/ext/malloc_allocator.h: Likewise.
      	* include/ext/vstring.h: Likewise.
      	* include/ext/bitmap_allocator.h: Likewise.
      	* include/ext/pool_allocator.h: Likewise.
      	* include/ext/type_traits.h: Likewise.
      	* include/ext/ropeimpl.h: Likewise.
      	* include/ext/codecvt_specializations.h: Likewise.
      	* include/ext/throw_allocator.h: Likewise.
      	* include/ext/extptr_allocator.h: Likewise.
      	* include/ext/atomicity.h: Likewise.
      	* include/ext/concurrence.h: Likewise.
      	* include/c_compatibility/wchar.h: Likewise.
      	* include/c_compatibility/stdint.h: Likewise.
      	* include/backward/hash_fun.h: Likewise.
      	* include/backward/binders.h: Likewise.
      	* include/backward/hashtable.h: Likewise.
      	* include/backward/auto_ptr.h: Likewise.
      	* libsupc++/eh_arm.cc: Likewise.
      	* libsupc++/unwind-cxx.h: Likewise.
      	* libsupc++/si_class_type_info.cc: Likewise.
      	* libsupc++/vec.cc: Likewise.
      	* libsupc++/class_type_info.cc: Likewise.
      	* libsupc++/vmi_class_type_info.cc: Likewise.
      	* libsupc++/guard_error.cc: Likewise.
      	* libsupc++/bad_typeid.cc: Likewise.
      	* libsupc++/eh_personality.cc: Likewise.
      	* libsupc++/atexit_arm.cc: Likewise.
      	* libsupc++/pmem_type_info.cc: Likewise.
      	* libsupc++/vterminate.cc: Likewise.
      	* libsupc++/eh_terminate.cc: Likewise.
      	* libsupc++/bad_cast.cc: Likewise.
      	* libsupc++/exception_ptr.h: Likewise.
      	* libsupc++/eh_throw.cc: Likewise.
      	* libsupc++/bad_alloc.cc: Likewise.
      	* libsupc++/nested_exception.cc: Likewise.
      	* libsupc++/pointer_type_info.cc: Likewise.
      	* libsupc++/pbase_type_info.cc: Likewise.
      	* libsupc++/bad_array_new.cc: Likewise.
      	* libsupc++/pure.cc: Likewise.
      	* libsupc++/eh_exception.cc: Likewise.
      	* libsupc++/bad_array_length.cc: Likewise.
      	* libsupc++/cxxabi.h: Likewise.
      	* libsupc++/guard.cc: Likewise.
      	* libsupc++/eh_catch.cc: Likewise.
      	* libsupc++/cxxabi_forced.h: Likewise.
      	* libsupc++/tinfo.h: Likewise.
      45ab93d9
  14. Oct 24, 2024
    • David Malcolm's avatar
      Use unique_ptr in more places in pretty_printer/diagnostics [PR116613] · bf43fe6a
      David Malcolm authored
      
      My forthcoming patches for PR other/116613 make much more use of
      cloning of pretty_printers than before, so it makes sense as a
      preliminary patch for the result of pretty_printer::clone to be a
      std::unique_ptr, rather than add more manual uses of "delete".
      
      On doing so, I noticed various other places where naked new/delete is
      used for run-time configuration of diagnostics:
      * the output format (text vs SARIF)
      * client data hooks
      * the option manager
      * the URLifier
      
      Hence this patch also makes use of std::unique_ptr and ::make_unique for
      managing such client policy classes, and also for diagnostic_buffer's
      per-format implementations.
      
      Unfortunately we can't directly include <memory> in our internal headers
      but instead any of our TUs that make use of std::unique_ptr must #define
      INCLUDE_MEMORY before including system.h.
      
      Hence the bulk of this patch is taken up with adding a define of
      INCLUDE_MEMORY to hundreds of source files: everything that includes
      diagnostic.h or pretty-print.h (and thus anything transitively such as
      includers of lto-wrapper.h, c-tree.h, cp-tree.h and rtl-ssa.h).
      
      Thanks to Gaius Mulley for the parts of the patch that regenerated the
      m2 files.
      
      gcc/ada/ChangeLog:
      	PR other/116613
      	* gcc-interface/misc.cc: Add #define INCLUDE_MEMORY
      	* gcc-interface/trans.cc: Likewise.
      	* gcc-interface/utils.cc: Likewise.
      
      gcc/analyzer/ChangeLog:
      	PR other/116613
      	* analyzer-logging.cc: Add #define INCLUDE_MEMORY
      	(logger::logger): Update for m_pp becoming a unique_ptr.
      	(logger::~logger): Likewise.
      	(logger::log_va_partial): Likewise.
      	(logger::end_log_line): Likewise.
      	* analyzer-logging.h (logger::get_printer): Likewise.
      	(logger::m_pp): Convert to a unique_ptr.
      	* analyzer.cc (make_label_text): Use
      	diagnostic_context::clone_printer and use unique_ptr.
      	(make_label_text_n): Likewise.
      	* bar-chart.cc: Add #define INCLUDE_MEMORY
      	* pending-diagnostic.cc (evdesc::event_desc::formatted_print):
      	Use diagnostic_context::clone_printer and use unique_ptr.
      	* sm-malloc.cc (sufficiently_similar_p): Likewise.
      	* supergraph.cc (supergraph::dump_dot_to_file): Likewise.
      
      gcc/c-family/ChangeLog:
      	PR other/116613
      	* c-ada-spec.cc: Add #define INCLUDE_MEMORY.
      	* c-attribs.cc: Likewise.
      	* c-common.cc: Likewise.
      	* c-format.cc: Likewise.
      	* c-gimplify.cc: Likewise.
      	* c-indentation.cc: Likewise.
      	* c-opts.cc: Likewise.
      	* c-pch.cc: Likewise.
      	* c-pragma.cc: Likewise.
      	* c-pretty-print.cc: Likewise.  Add #include "make-unique.h".
      	(c_pretty_printer::clone): Use std::unique_ptr and ::make_unique.
      	* c-pretty-print.h (c_pretty_printer::clone): Use std::unique_ptr.
      	* c-type-mismatch.cc: Add #define INCLUDE_MEMORY.
      	* c-warn.cc: Likewise.
      
      gcc/c/ChangeLog:
      	PR other/116613
      	* c-aux-info.cc: Add #define INCLUDE_MEMORY.
      	* c-convert.cc: Likewise.
      	* c-errors.cc: Likewise.
      	* c-fold.cc: Likewise.
      	* c-lang.cc: Likewise.
      	* c-objc-common.cc: Likewise.
      	(pp_markup::element_quoted_type::print_type): Use unique_ptr.
      	* c-typeck.cc: Add #define INCLUDE_MEMORY.
      	* gimple-parser.cc: Likewise.
      
      gcc/cp/ChangeLog:
      	PR other/116613
      	* call.cc: Add #define INCLUDE_MEMORY.
      	* class.cc: Likewise.
      	* constexpr.cc: Likewise.
      	* constraint.cc: Likewise.
      	* contracts.cc: Likewise.
      	* coroutines.cc: Likewise.
      	* cp-gimplify.cc: Likewise.
      	* cp-lang.cc: Likewise.
      	* cp-objcp-common.cc: Likewise.
      	* cp-ubsan.cc: Likewise.
      	* cvt.cc: Likewise.
      	* cxx-pretty-print.cc: Likewise.  Add #include "cp-tree.h".
      	(cxx_pretty_printer::clone): Use std::unique_ptr and
      	::make_unique.
      	* cxx-pretty-print.h (cxx_pretty_printer::clone): Use
      	std::unique_ptr.
      	* decl2.cc: Add #define INCLUDE_MEMORY.
      	* dump.cc: Likewise.
      	* except.cc: Likewise.
      	* expr.cc: Likewise.
      	* friend.cc: Likewise.
      	* init.cc: Likewise.
      	* lambda.cc: Likewise.
      	* logic.cc: Likewise.
      	* mangle.cc: Likewise.
      	* method.cc: Likewise.
      	* optimize.cc: Likewise.
      	* pt.cc: Likewise.
      	* ptree.cc: Likewise.
      	* rtti.cc: Likewise.
      	* search.cc: Likewise.
      	* semantics.cc: Likewise.
      	* tree.cc: Likewise.
      	* typeck.cc: Likewise.
      	* typeck2.cc: Likewise.
      	* vtable-class-hierarchy.cc: Likewise.
      
      gcc/d/ChangeLog:
      	PR other/116613
      	* d-attribs.cc: Add #define INCLUDE_MEMORY.
      	* d-builtins.cc: Likewise.
      	* d-codegen.cc: Likewise.
      	* d-convert.cc: Likewise.
      	* d-diagnostic.cc: Likewise.
      	* d-frontend.cc: Likewise.
      	* d-lang.cc: Likewise.
      	* d-longdouble.cc: Likewise.
      	* d-target.cc: Likewise.
      	* decl.cc: Likewise.
      	* expr.cc: Likewise.
      	* intrinsics.cc: Likewise.
      	* modules.cc: Likewise.
      	* toir.cc: Likewise.
      	* typeinfo.cc: Likewise.
      	* types.cc: Likewise.
      
      gcc/fortran/ChangeLog:
      	PR other/116613
      	* arith.cc: Add #define INCLUDE_MEMORY.
      	* array.cc: Likewise.
      	* bbt.cc: Likewise.
      	* check.cc: Likewise.
      	* class.cc: Likewise.
      	* constructor.cc: Likewise.
      	* convert.cc: Likewise.
      	* cpp.cc: Likewise.
      	* data.cc: Likewise.
      	* decl.cc: Likewise.
      	* dependency.cc: Likewise.
      	* dump-parse-tree.cc: Likewise.
      	* error.cc: Likewise.
      	* expr.cc: Likewise.
      	* f95-lang.cc: Likewise.
      	* frontend-passes.cc: Likewise.
      	* interface.cc: Likewise.
      	* intrinsic.cc: Likewise.
      	* io.cc: Likewise.
      	* iresolve.cc: Likewise.
      	* match.cc: Likewise.
      	* matchexp.cc: Likewise.
      	* misc.cc: Likewise.
      	* module.cc: Likewise.
      	* openmp.cc: Likewise.
      	* options.cc: Likewise.
      	* parse.cc: Likewise.
      	* primary.cc: Likewise.
      	* resolve.cc: Likewise.
      	* scanner.cc: Likewise.
      	* simplify.cc: Likewise.
      	* st.cc: Likewise.
      	* symbol.cc: Likewise.
      	* target-memory.cc: Likewise.
      	* trans-array.cc: Likewise.
      	* trans-common.cc: Likewise.
      	* trans-const.cc: Likewise.
      	* trans-decl.cc: Likewise.
      	* trans-expr.cc: Likewise.
      	* trans-intrinsic.cc: Likewise.
      	* trans-io.cc: Likewise.
      	* trans-openmp.cc: Likewise.
      	* trans-stmt.cc: Likewise.
      	* trans-types.cc: Likewise.
      	* trans.cc: Likewise.
      
      gcc/go/ChangeLog:
      	PR other/116613
      	* go-backend.cc: Add #define INCLUDE_MEMORY.
      	* go-lang.cc: Likewise.
      
      gcc/jit/ChangeLog:
      	PR other/116613
      	* dummy-frontend.cc: Add #define INCLUDE_MEMORY.
      	* jit-playback.cc: Likewise.
      	* jit-recording.cc: Likewise.
      
      gcc/lto/ChangeLog:
      	PR other/116613
      	* lto-common.cc: Add #define INCLUDE_MEMORY.
      	* lto-dump.cc: Likewise.
      	* lto-partition.cc: Likewise.
      	* lto-symtab.cc: Likewise.
      	* lto.cc: Likewise.
      
      gcc/m2/ChangeLog:
      	PR other/116613
      	* gm2-gcc/gcc-consolidation.h: Add #define INCLUDE_MEMORY.
      	* gm2-gcc/m2configure.cc: Likewise.
      	* mc-boot/GASCII.cc: Regenerate.
      	* mc-boot/GASCII.h: Ditto.
      	* mc-boot/GArgs.cc: Ditto.
      	* mc-boot/GArgs.h: Ditto.
      	* mc-boot/GAssertion.cc: Ditto.
      	* mc-boot/GAssertion.h: Ditto.
      	* mc-boot/GBreak.cc: Ditto.
      	* mc-boot/GBreak.h: Ditto.
      	* mc-boot/GCOROUTINES.h: Ditto.
      	* mc-boot/GCmdArgs.cc: Ditto.
      	* mc-boot/GCmdArgs.h: Ditto.
      	* mc-boot/GDebug.cc: Ditto.
      	* mc-boot/GDebug.h: Ditto.
      	* mc-boot/GDynamicStrings.cc: Ditto.
      	* mc-boot/GDynamicStrings.h: Ditto.
      	* mc-boot/GEnvironment.cc: Ditto.
      	* mc-boot/GEnvironment.h: Ditto.
      	* mc-boot/GFIO.cc: Ditto.
      	* mc-boot/GFIO.h: Ditto.
      	* mc-boot/GFormatStrings.cc: Ditto.
      	* mc-boot/GFormatStrings.h: Ditto.
      	* mc-boot/GFpuIO.cc: Ditto.
      	* mc-boot/GFpuIO.h: Ditto.
      	* mc-boot/GIO.cc: Ditto.
      	* mc-boot/GIO.h: Ditto.
      	* mc-boot/GIndexing.cc: Ditto.
      	* mc-boot/GIndexing.h: Ditto.
      	* mc-boot/GM2Dependent.cc: Ditto.
      	* mc-boot/GM2Dependent.h: Ditto.
      	* mc-boot/GM2EXCEPTION.cc: Ditto.
      	* mc-boot/GM2EXCEPTION.h: Ditto.
      	* mc-boot/GM2RTS.cc: Ditto.
      	* mc-boot/GM2RTS.h: Ditto.
      	* mc-boot/GMemUtils.cc: Ditto.
      	* mc-boot/GMemUtils.h: Ditto.
      	* mc-boot/GNumberIO.cc: Ditto.
      	* mc-boot/GNumberIO.h: Ditto.
      	* mc-boot/GPushBackInput.cc: Ditto.
      	* mc-boot/GPushBackInput.h: Ditto.
      	* mc-boot/GRTExceptions.cc: Ditto.
      	* mc-boot/GRTExceptions.h: Ditto.
      	* mc-boot/GRTco.h: Ditto.
      	* mc-boot/GRTentity.h: Ditto.
      	* mc-boot/GRTint.cc: Ditto.
      	* mc-boot/GRTint.h: Ditto.
      	* mc-boot/GSArgs.cc: Ditto.
      	* mc-boot/GSArgs.h: Ditto.
      	* mc-boot/GSFIO.cc: Ditto.
      	* mc-boot/GSFIO.h: Ditto.
      	* mc-boot/GSYSTEM.h: Ditto.
      	* mc-boot/GSelective.h: Ditto.
      	* mc-boot/GStdIO.cc: Ditto.
      	* mc-boot/GStdIO.h: Ditto.
      	* mc-boot/GStorage.cc: Ditto.
      	* mc-boot/GStorage.h: Ditto.
      	* mc-boot/GStrCase.cc: Ditto.
      	* mc-boot/GStrCase.h: Ditto.
      	* mc-boot/GStrIO.cc: Ditto.
      	* mc-boot/GStrIO.h: Ditto.
      	* mc-boot/GStrLib.cc: Ditto.
      	* mc-boot/GStrLib.h: Ditto.
      	* mc-boot/GStringConvert.cc: Ditto.
      	* mc-boot/GStringConvert.h: Ditto.
      	* mc-boot/GSysExceptions.h: Ditto.
      	* mc-boot/GSysStorage.cc: Ditto.
      	* mc-boot/GSysStorage.h: Ditto.
      	* mc-boot/GTimeString.cc: Ditto.
      	* mc-boot/GTimeString.h: Ditto.
      	* mc-boot/GUnixArgs.h: Ditto.
      	* mc-boot/Galists.cc: Ditto.
      	* mc-boot/Galists.h: Ditto.
      	* mc-boot/Gdecl.cc: Ditto.
      	* mc-boot/Gdecl.h: Ditto.
      	* mc-boot/Gdtoa.h: Ditto.
      	* mc-boot/Gerrno.h: Ditto.
      	* mc-boot/Gkeyc.cc: Ditto.
      	* mc-boot/Gkeyc.h: Ditto.
      	* mc-boot/Gldtoa.h: Ditto.
      	* mc-boot/Glibc.h: Ditto.
      	* mc-boot/Glibm.h: Ditto.
      	* mc-boot/Glists.cc: Ditto.
      	* mc-boot/Glists.h: Ditto.
      	* mc-boot/GmcComment.cc: Ditto.
      	* mc-boot/GmcComment.h: Ditto.
      	* mc-boot/GmcComp.cc: Ditto.
      	* mc-boot/GmcComp.h: Ditto.
      	* mc-boot/GmcDebug.cc: Ditto.
      	* mc-boot/GmcDebug.h: Ditto.
      	* mc-boot/GmcError.cc: Ditto.
      	* mc-boot/GmcError.h: Ditto.
      	* mc-boot/GmcFileName.cc: Ditto.
      	* mc-boot/GmcFileName.h: Ditto.
      	* mc-boot/GmcLexBuf.cc: Ditto.
      	* mc-boot/GmcLexBuf.h: Ditto.
      	* mc-boot/GmcMetaError.cc: Ditto.
      	* mc-boot/GmcMetaError.h: Ditto.
      	* mc-boot/GmcOptions.cc: Ditto.
      	* mc-boot/GmcOptions.h: Ditto.
      	* mc-boot/GmcPreprocess.cc: Ditto.
      	* mc-boot/GmcPreprocess.h: Ditto.
      	* mc-boot/GmcPretty.cc: Ditto.
      	* mc-boot/GmcPretty.h: Ditto.
      	* mc-boot/GmcPrintf.cc: Ditto.
      	* mc-boot/GmcPrintf.h: Ditto.
      	* mc-boot/GmcQuiet.cc: Ditto.
      	* mc-boot/GmcQuiet.h: Ditto.
      	* mc-boot/GmcReserved.cc: Ditto.
      	* mc-boot/GmcReserved.h: Ditto.
      	* mc-boot/GmcSearch.cc: Ditto.
      	* mc-boot/GmcSearch.h: Ditto.
      	* mc-boot/GmcStack.cc: Ditto.
      	* mc-boot/GmcStack.h: Ditto.
      	* mc-boot/GmcStream.cc: Ditto.
      	* mc-boot/GmcStream.h: Ditto.
      	* mc-boot/Gmcflex.h: Ditto.
      	* mc-boot/Gmcp1.cc: Ditto.
      	* mc-boot/Gmcp1.h: Ditto.
      	* mc-boot/Gmcp2.cc: Ditto.
      	* mc-boot/Gmcp2.h: Ditto.
      	* mc-boot/Gmcp3.cc: Ditto.
      	* mc-boot/Gmcp3.h: Ditto.
      	* mc-boot/Gmcp4.cc: Ditto.
      	* mc-boot/Gmcp4.h: Ditto.
      	* mc-boot/Gmcp5.cc: Ditto.
      	* mc-boot/Gmcp5.h: Ditto.
      	* mc-boot/GnameKey.cc: Ditto.
      	* mc-boot/GnameKey.h: Ditto.
      	* mc-boot/GsymbolKey.cc: Ditto.
      	* mc-boot/GsymbolKey.h: Ditto.
      	* mc-boot/Gtermios.h: Ditto.
      	* mc-boot/Gtop.cc: Ditto.
      	* mc-boot/Gvarargs.cc: Ditto.
      	* mc-boot/Gvarargs.h: Ditto.
      	* mc-boot/Gwlists.cc: Ditto.
      	* mc-boot/Gwlists.h: Ditto.
      	* mc-boot/Gwrapc.h: Ditto.
      	* mc/keyc.mod (checkGccConfigSystem): Add
      	#define INCLUDE_MEMORY.
      	* pge-boot/GASCII.cc: Regenerate.
      	* pge-boot/GASCII.h: Ditto.
      	* pge-boot/GArgs.cc: Ditto.
      	* pge-boot/GArgs.h: Ditto.
      	* pge-boot/GAssertion.cc: Ditto.
      	* pge-boot/GAssertion.h: Ditto.
      	* pge-boot/GBreak.h: Ditto.
      	* pge-boot/GCmdArgs.h: Ditto.
      	* pge-boot/GDebug.cc: Ditto.
      	* pge-boot/GDebug.h: Ditto.
      	* pge-boot/GDynamicStrings.cc: Ditto.
      	* pge-boot/GDynamicStrings.h: Ditto.
      	* pge-boot/GEnvironment.h: Ditto.
      	* pge-boot/GFIO.cc: Ditto.
      	* pge-boot/GFIO.h: Ditto.
      	* pge-boot/GFormatStrings.h: Ditto.
      	* pge-boot/GFpuIO.h: Ditto.
      	* pge-boot/GIO.cc: Ditto.
      	* pge-boot/GIO.h: Ditto.
      	* pge-boot/GIndexing.cc: Ditto.
      	* pge-boot/GIndexing.h: Ditto.
      	* pge-boot/GLists.cc: Ditto.
      	* pge-boot/GLists.h: Ditto.
      	* pge-boot/GM2Dependent.cc: Ditto.
      	* pge-boot/GM2Dependent.h: Ditto.
      	* pge-boot/GM2EXCEPTION.cc: Ditto.
      	* pge-boot/GM2EXCEPTION.h: Ditto.
      	* pge-boot/GM2RTS.cc: Ditto.
      	* pge-boot/GM2RTS.h: Ditto.
      	* pge-boot/GNameKey.cc: Ditto.
      	* pge-boot/GNameKey.h: Ditto.
      	* pge-boot/GNumberIO.cc: Ditto.
      	* pge-boot/GNumberIO.h: Ditto.
      	* pge-boot/GOutput.cc: Ditto.
      	* pge-boot/GOutput.h: Ditto.
      	* pge-boot/GPushBackInput.cc: Ditto.
      	* pge-boot/GPushBackInput.h: Ditto.
      	* pge-boot/GRTExceptions.cc: Ditto.
      	* pge-boot/GRTExceptions.h: Ditto.
      	* pge-boot/GSArgs.h: Ditto.
      	* pge-boot/GSEnvironment.h: Ditto.
      	* pge-boot/GSFIO.cc: Ditto.
      	* pge-boot/GSFIO.h: Ditto.
      	* pge-boot/GSYSTEM.h: Ditto.
      	* pge-boot/GScan.h: Ditto.
      	* pge-boot/GStdIO.cc: Ditto.
      	* pge-boot/GStdIO.h: Ditto.
      	* pge-boot/GStorage.cc: Ditto.
      	* pge-boot/GStorage.h: Ditto.
      	* pge-boot/GStrCase.cc: Ditto.
      	* pge-boot/GStrCase.h: Ditto.
      	* pge-boot/GStrIO.cc: Ditto.
      	* pge-boot/GStrIO.h: Ditto.
      	* pge-boot/GStrLib.cc: Ditto.
      	* pge-boot/GStrLib.h: Ditto.
      	* pge-boot/GStringConvert.h: Ditto.
      	* pge-boot/GSymbolKey.cc: Ditto.
      	* pge-boot/GSymbolKey.h: Ditto.
      	* pge-boot/GSysExceptions.h: Ditto.
      	* pge-boot/GSysStorage.cc: Ditto.
      	* pge-boot/GSysStorage.h: Ditto.
      	* pge-boot/GTimeString.h: Ditto.
      	* pge-boot/GUnixArgs.h: Ditto.
      	* pge-boot/Gbnflex.cc: Ditto.
      	* pge-boot/Gbnflex.h: Ditto.
      	* pge-boot/Gdtoa.h: Ditto.
      	* pge-boot/Gerrno.h: Ditto.
      	* pge-boot/Gldtoa.h: Ditto.
      	* pge-boot/Glibc.h: Ditto.
      	* pge-boot/Glibm.h: Ditto.
      	* pge-boot/Gpge.cc: Ditto.
      	* pge-boot/Gtermios.h: Ditto.
      	* pge-boot/Gwrapc.h: Ditto.
      
      gcc/objc/ChangeLog:
      	PR other/116613
      	* objc-act.cc: Add #define INCLUDE_MEMORY.
      	* objc-encoding.cc: Likewise.
      	* objc-gnu-runtime-abi-01.cc: Likewise.
      	* objc-lang.cc: Likewise.
      	* objc-next-runtime-abi-01.cc: Likewise.
      	* objc-next-runtime-abi-02.cc: Likewise.
      	* objc-runtime-shared-support.cc: Likewise.
      
      gcc/objcp/ChangeLog:: Add #define INCLUDE_MEMORY.
      	PR other/116613
      	* objcp-decl.cc
      	* objcp-lang.cc: Likewise.
      
      gcc/rust/ChangeLog:
      	PR other/116613
      	* resolve/rust-ast-resolve-expr.cc: Add #define INCLUDE_MEMORY.
      	* rust-attribs.cc: Likewise.
      	* rust-system.h: Likewise.
      
      gcc/ChangeLog:
      	PR other/116613
      	* asan.cc: Add #define INCLUDE_MEMORY.
      	* attribs.cc: Likewise.
      	(attr_access::array_as_string): Use
      	diagnostic_context::clone_printer and use unique_ptr.
      	* auto-profile.cc: Add #define INCLUDE_MEMORY.
      	* calls.cc: Likewise.
      	* cfganal.cc: Likewise.
      	* cfgexpand.cc: Likewise.
      	* cfghooks.cc: Likewise.
      	* cfgloop.cc: Likewise.
      	* cgraph.cc: Likewise.
      	* cgraphclones.cc: Likewise.
      	* cgraphunit.cc: Likewise.
      	* collect-utils.cc: Likewise.
      	* collect2.cc: Likewise.
      	* common/config/aarch64/aarch64-common.cc: Likewise.
      	* common/config/arm/arm-common.cc: Likewise.
      	* common/config/avr/avr-common.cc: Likewise.
      	* config/aarch64/aarch64-cc-fusion.cc: Likewise.
      	* config/aarch64/aarch64-early-ra.cc: Likewise.
      	* config/aarch64/aarch64-sve-builtins.cc: Likewise.
      	* config/arc/arc.cc: Likewise.
      	* config/arm/aarch-common.cc: Likewise.
      	* config/arm/arm-mve-builtins.cc: Likewise.
      	* config/avr/avr-devices.cc: Likewise.
      	* config/avr/driver-avr.cc: Likewise.
      	* config/bpf/bpf.cc: Likewise.
      	* config/bpf/btfext-out.cc: Likewise.
      	* config/bpf/core-builtins.cc: Likewise.
      	* config/darwin.cc: Likewise.
      	* config/i386/driver-i386.cc: Likewise.
      	* config/i386/i386-builtins.cc: Likewise.
      	* config/i386/i386-expand.cc: Likewise.
      	* config/i386/i386-features.cc: Likewise.
      	* config/i386/i386-options.cc: Likewise.
      	* config/loongarch/loongarch-builtins.cc: Likewise.
      	* config/mingw/winnt-cxx.cc: Likewise.
      	* config/mingw/winnt.cc: Likewise.
      	* config/mips/mips.cc: Likewise.
      	* config/msp430/driver-msp430.cc: Likewise.
      	* config/nvptx/mkoffload.cc: Likewise.
      	* config/nvptx/nvptx.cc: Likewise.
      	* config/riscv/riscv-avlprop.cc: Likewise.
      	* config/riscv/riscv-vector-builtins.cc: Likewise.
      	* config/riscv/riscv-vsetvl.cc: Likewise.
      	* config/rs6000/driver-rs6000.cc: Likewise.
      	* config/rs6000/host-darwin.cc: Likewise.
      	* config/rs6000/rs6000-c.cc: Likewise.
      	* config/s390/s390-c.cc: Likewise.
      	* config/s390/s390.cc: Likewise.
      	* config/sol2-cxx.cc: Likewise.
      	* config/vms/vms-c.cc: Likewise.
      	* config/xtensa/xtensa-dynconfig.cc: Likewise.
      	* coroutine-passes.cc: Likewise.
      	* coverage.cc: Likewise.
      	* data-streamer-in.cc: Likewise.
      	* data-streamer-out.cc: Likewise.
      	* data-streamer.cc: Likewise.
      	* diagnostic-buffer.h (diagnostic_buffer::~diagnostic_buffer):
      	Delete.
      	(diagnostic_buffer::m_per_format_buffer): Use std::unique_ptr.
      	* diagnostic-client-data-hooks.h (make_compiler_data_hooks): Use
      	std::unique_ptr for return type.
      	* diagnostic-format-json.cc
      	(json_output_format::make_per_format_buffer): Likewise.
      	(diagnostic_output_format_init_json): Update for usage of
      	std::unique_ptr in set_output_format.
      	* diagnostic-format-sarif.cc
      	(sarif_output_format::make_per_format_buffer): Use std::unique_ptr
      	for return type.
      	(diagnostic_output_format_init_sarif): Update for usage of
      	std::unique_ptr.
      	(test_message_with_embedded_link): Likewise for set_urlifier.
      	* diagnostic-format-text.cc: Add #define INCLUDE_MEMORY.  Include
      	"make-unique.h".
      	(diagnostic_text_output_format::set_buffer): Use std::unique_ptr.
      	* diagnostic-format-text.h
      	(diagnostic_text_output_format::set_buffer): Likewise.
      	* diagnostic-format.h
      	(diagnostic_output_format::make_per_format_buffer): Likewise.
      	* diagnostic-global-context.cc:
      	* diagnostic-macro-unwinding.cc: Likewise.
      	* diagnostic-show-locus.cc: Likewise.
      	* diagnostic-spec.cc: Likewise.
      	* diagnostic.cc (diagnostic_context::set_output_format): Use
      	std::unique_ptr for input.
      	(diagnostic_context::set_client_data_hooks): Likewise.
      	(diagnostic_context::set_option_manager): Likewise.
      	(diagnostic_context::set_urlifier): Likewise.
      	(diagnostic_context::set_diagnostic_buffer): Update for use of
      	std::unique_ptr.
      	(diagnostic_buffer::diagnostic_buffer): Likewise.
      	(diagnostic_buffer::~diagnostic_buffer): Delete.
      	* diagnostic.h: Complain if INCLUDE_MEMORY was not defined.
      	(diagnostic_context::set_output_format): Use std::unique_ptr for
      	input.
      	(diagnostic_context::set_client_data_hooks): Likewise.
      	(diagnostic_context::set_option_manager): Likewise.
      	(diagnostic_context::set_urlifier): Likewise.
      	(diagnostic_context::clone_printer): New.
      	(diagnostic_context::m_printer): Update comment.
      	(diagnostic_context::m_option_mgr): Likewise.
      	(diagnostic_context::m_urlifier): Likewise.
      	(diagnostic_context::m_edit_context_ptr): Likewise.
      	(diagnostic_context::m_output_format): Likewise.
      	(diagnostic_context::m_client_data_hooks): Likewise.
      	(diagnostic_context::m_theme): Likewise.
      	* digraph.cc: Add #define INCLUDE_MEMORY.
      	* dwarf2out.cc: Likewise.
      	* edit-context.cc: Likewise.
      	* except.cc: Likewise.
      	* expr.cc: Likewise.
      	* file-prefix-map.cc: Likewise.
      	* final.cc: Likewise.
      	* fwprop.cc: Likewise.
      	* gcc-plugin.h: Likewise.
      	* gcc-rich-location.cc: Likewise.
      	* gcc-urlifier.cc: Likewise.  Add #include "make-unique.h".
      	(make_gcc_urlifier): Use std::unique_ptr and ::make_unique.
      	* gcc-urlifier.h (make_gcc_urlifier): Use std::unique_ptr.
      	* gcc.cc: Add #define INCLUDE_MEMORY.  Include
      	"pretty-print-urlifier.h".
      	* gcov-dump.cc: Add #define INCLUDE_MEMORY.
      	* gcov-tool.cc: Likewise.
      	* gengtype.cc (open_base_files): Likewise to output.
      	* genmatch.cc: Likewise.
      	* gimple-fold.cc: Likewise.
      	* gimple-harden-conditionals.cc: Likewise.
      	* gimple-harden-control-flow.cc: Likewise.
      	* gimple-if-to-switch.cc: Likewise.
      	* gimple-lower-bitint.cc: Likewise.
      	* gimple-predicate-analysis.cc: Likewise.
      	* gimple-pretty-print.cc: Likewise.
      	* gimple-range-cache.cc: Likewise.
      	* gimple-range-edge.cc: Likewise.
      	* gimple-range-fold.cc: Likewise.
      	* gimple-range-gori.cc: Likewise.
      	* gimple-range-infer.cc: Likewise.
      	* gimple-range-op.cc: Likewise.
      	* gimple-range-path.cc: Likewise.
      	* gimple-range-phi.cc: Likewise.
      	* gimple-range-trace.cc: Likewise.
      	* gimple-range.cc: Likewise.
      	* gimple-ssa-backprop.cc: Likewise.
      	* gimple-ssa-sprintf.cc: Likewise.
      	* gimple-ssa-store-merging.cc: Likewise.
      	* gimple-ssa-strength-reduction.cc: Likewise.
      	* gimple-ssa-warn-access.cc: Likewise.
      	* gimple-ssa-warn-alloca.cc: Likewise.
      	* gimple-ssa-warn-restrict.cc: Likewise.
      	* gimple-streamer-in.cc: Likewise.
      	* gimple-streamer-out.cc: Likewise.
      	* gimple.cc: Likewise.
      	* gimplify.cc: Likewise.
      	* graph.cc: Likewise.
      	* graphviz.cc: Likewise.
      	* input.cc: Likewise.
      	* ipa-cp.cc: Likewise.
      	* ipa-devirt.cc: Likewise.
      	* ipa-fnsummary.cc: Likewise.
      	* ipa-free-lang-data.cc: Likewise.
      	* ipa-icf-gimple.cc: Likewise.
      	* ipa-icf.cc: Likewise.
      	* ipa-inline-analysis.cc: Likewise.
      	* ipa-inline.cc: Likewise.
      	* ipa-modref-tree.cc: Likewise.
      	* ipa-modref.cc: Likewise.
      	* ipa-param-manipulation.cc: Likewise.
      	* ipa-polymorphic-call.cc: Likewise.
      	* ipa-predicate.cc: Likewise.
      	* ipa-profile.cc: Likewise.
      	* ipa-prop.cc: Likewise.
      	* ipa-pure-const.cc: Likewise.
      	* ipa-reference.cc: Likewise.
      	* ipa-split.cc: Likewise.
      	* ipa-sra.cc: Likewise.
      	* ipa-strub.cc: Likewise.
      	* ipa-utils.cc: Likewise.
      	* langhooks.cc: Likewise.
      	* late-combine.cc: Likewise.
      	* lto-cgraph.cc: Likewise.
      	* lto-compress.cc: Likewise.
      	* lto-opts.cc: Likewise.
      	* lto-section-in.cc: Likewise.
      	* lto-section-out.cc: Likewise.
      	* lto-streamer-in.cc: Likewise.
      	* lto-streamer-out.cc: Likewise.
      	* lto-streamer.cc: Likewise.
      	* lto-wrapper.cc: Likewise.  Include "make-unique.h".
      	(main): Use ::make_unique when creating option manager.
      	* multiple_target.cc: Likewise.
      	* omp-expand.cc: Likewise.
      	* omp-general.cc: Likewise.
      	* omp-low.cc: Likewise.
      	* omp-oacc-neuter-broadcast.cc: Likewise.
      	* omp-offload.cc: Likewise.
      	* omp-simd-clone.cc: Likewise.
      	* optc-gen.awk: Likewise in output.
      	* optc-save-gen.awk: Likewise in output.
      	* options-urls-cc-gen.awk: Likewise in output.
      	* opts-common.cc: Likewise.
      	* opts-global.cc: Likewise.
      	* opts.cc: Likewise.
      	* pair-fusion.cc: Likewise.
      	* passes.cc: Likewise.
      	* pointer-query.cc: Likewise.
      	* predict.cc: Likewise.
      	* pretty-print.cc (pretty_printer::clone): Use std::unique_ptr and
      	::make_unique.
      	* pretty-print.h: Complain if INCLUDE_MEMORY is not defined.
      	(pretty_printer::clone): Use std::unique_ptr.
      	* print-rtl.cc: Add #define INCLUDE_MEMORY.
      	* print-tree.cc: Likewise.
      	* profile-count.cc: Likewise.
      	* range-op-float.cc: Likewise.
      	* range-op-ptr.cc: Likewise.
      	* range-op.cc: Likewise.
      	* range.cc: Likewise.
      	* read-rtl-function.cc: Likewise.
      	* rtl-error.cc: Likewise.
      	* rtl-ssa/accesses.cc: Likewise.
      	* rtl-ssa/blocks.cc: Likewise.
      	* rtl-ssa/changes.cc: Likewise.
      	* rtl-ssa/functions.cc: Likewise.
      	* rtl-ssa/insns.cc: Likewise.
      	* rtl-ssa/movement.cc: Likewise.
      	* rtl-tests.cc: Likewise.
      	* sanopt.cc: Likewise.
      	* sched-rgn.cc: Likewise.
      	* selftest-diagnostic-path.cc: Likewise.
      	* selftest-diagnostic.cc: Likewise.
      	* splay-tree-utils.cc: Likewise.
      	* sreal.cc: Likewise.
      	* stmt.cc: Likewise.
      	* substring-locations.cc: Likewise.
      	* symtab-clones.cc: Likewise.
      	* symtab-thunks.cc: Likewise.
      	* symtab.cc: Likewise.
      	* text-art/box-drawing.cc: Likewise.
      	* text-art/canvas.cc: Likewise.
      	* text-art/ruler.cc: Likewise.
      	* text-art/selftests.cc: Likewise.
      	* text-art/theme.cc: Likewise.
      	* toplev.cc: Likewise.  Include "make-unique.h".
      	(general_init): Use ::make_unique when setting option_manager.
      	* trans-mem.cc: Add #define INCLUDE_MEMORY.
      	* tree-affine.cc: Likewise.
      	* tree-call-cdce.cc: Likewise.
      	* tree-cfg.cc: Likewise.
      	* tree-chrec.cc: Likewise.
      	* tree-dfa.cc: Likewise.
      	* tree-diagnostic-client-data-hooks.cc: Include "make-unique.h".
      	(make_compiler_data_hooks): Use std::unique_ptr and ::make_unique.
      	* tree-diagnostic.cc: Add #define INCLUDE_MEMORY.
      	* tree-dump.cc: Likewise.
      	* tree-inline.cc: Likewise.
      	* tree-into-ssa.cc: Likewise.
      	* tree-logical-location.cc: Likewise.
      	* tree-nested.cc: Likewise.
      	* tree-nrv.cc: Likewise.
      	* tree-object-size.cc: Likewise.
      	* tree-outof-ssa.cc: Likewise.
      	* tree-pretty-print.cc: Likewise.
      	* tree-profile.cc: Likewise.
      	* tree-scalar-evolution.cc: Likewise.
      	* tree-sra.cc: Likewise.
      	* tree-ssa-address.cc: Likewise.
      	* tree-ssa-alias.cc: Likewise.
      	* tree-ssa-ccp.cc: Likewise.
      	* tree-ssa-coalesce.cc: Likewise.
      	* tree-ssa-copy.cc: Likewise.
      	* tree-ssa-dce.cc: Likewise.
      	* tree-ssa-dom.cc: Likewise.
      	* tree-ssa-forwprop.cc: Likewise.
      	* tree-ssa-ifcombine.cc: Likewise.
      	* tree-ssa-loop-ch.cc: Likewise.
      	* tree-ssa-loop-im.cc: Likewise.
      	* tree-ssa-loop-manip.cc: Likewise.
      	* tree-ssa-loop-niter.cc: Likewise.
      	* tree-ssa-loop-split.cc: Likewise.
      	* tree-ssa-math-opts.cc: Likewise.
      	* tree-ssa-operands.cc: Likewise.
      	* tree-ssa-phiprop.cc: Likewise.
      	* tree-ssa-pre.cc: Likewise.
      	* tree-ssa-propagate.cc: Likewise.
      	* tree-ssa-reassoc.cc: Likewise.
      	* tree-ssa-sccvn.cc: Likewise.
      	* tree-ssa-scopedtables.cc: Likewise.
      	* tree-ssa-sink.cc: Likewise.
      	* tree-ssa-strlen.cc: Likewise.
      	* tree-ssa-structalias.cc: Likewise.
      	* tree-ssa-ter.cc: Likewise.
      	* tree-ssa-uninit.cc: Likewise.
      	* tree-ssa.cc: Likewise.
      	* tree-ssanames.cc: Likewise.
      	* tree-stdarg.cc: Likewise.
      	* tree-streamer-in.cc: Likewise.
      	* tree-streamer-out.cc: Likewise.
      	* tree-streamer.cc: Likewise.
      	* tree-switch-conversion.cc: Likewise.
      	* tree-tailcall.cc: Likewise.
      	* tree-vrp.cc: Likewise.
      	* tree.cc: Likewise.
      	* ubsan.cc: Likewise.
      	* value-pointer-equiv.cc: Likewise.
      	* value-prof.cc: Likewise.
      	* value-query.cc: Likewise.
      	* value-range-pretty-print.cc: Likewise.
      	* value-range-storage.cc: Likewise.
      	* value-range.cc: Likewise.
      	* value-relation.cc: Likewise.
      	* var-tracking.cc: Likewise.
      	* varpool.cc: Likewise.
      	* vr-values.cc: Likewise.
      	* wide-int-print.cc: Likewise.
      
      gcc/testsuite/ChangeLog:
      	PR other/116613
      	* gcc.dg/plugin/diagnostic_group_plugin.c: Update for use of
      	std::unique_ptr.
      	* gcc.dg/plugin/diagnostic_plugin_xhtml_format.c: Likewise.
      	* gcc.dg/plugin/ggcplug.c: Likewise.
      
      libgcc/ChangeLog:
      	PR other/116613
      	* libgcov-util.c: Add #define INCLUDE_MEMORY.
      
      Signed-off-by: default avatarDavid Malcolm <dmalcolm@redhat.com>
      Co-authored-by: default avatarGaius Mulley <gaiusmod2@gmail.com>
      Signed-off-by: default avatarDavid Malcolm <dmalcolm@redhat.com>
      bf43fe6a
  15. Oct 19, 2024
  16. Oct 17, 2024
    • Christophe Lyon's avatar
      aarch64: libgcc: Use -Werror · 71c7b446
      Christophe Lyon authored
      This patch adds -Werror to LIBGCC2_CFLAGS so that aarch64 can catch
      warnings during bootstrap, while not impacting other targets.
      
      The patch also adds -Wno-prio-ctor-dtor to avoid a warning when
      compiling lse_init.c
      
      	libgcc/
      	* config/aarch64/t-aarch64: Always use -Werror
      	-Wno-prio-ctor-dtor.
      71c7b446
    • Christophe Lyon's avatar
      aarch64: libgcc: add prototypes in cpuinfo · d806810f
      Christophe Lyon authored
      Add prototypes for __init_cpu_features_resolver and
      __init_cpu_features to avoid warnings due to -Wmissing-prototypes.
      
      	libgcc/
      	* config/aarch64/cpuinfo.c (__init_cpu_features_resolver): Add
      	prototype.
      	(__init_cpu_features): Likewise.
      d806810f
    • Christophe Lyon's avatar
      aarch64: libgcc: Cleanup warnings in lse.S · e4d41741
      Christophe Lyon authored
      Since
        Commit c608ada2
        Author:     Zac Walker <zacwalker@microsoft.com>
        CommitDate: 2024-01-23 15:32:30 +0000
      
        Ifdef `.hidden`, `.type`, and `.size` pseudo-ops for `aarch64-w64-mingw32` target
      
      lse.S includes aarch64-asm.h, leading to a conflicting definition of macro 'L':
      - in lse.S it expands to either '' or 'L'
      - in aarch64-asm.h it is used to generate .L ## label
      
      lse.S does not use the second, so this patch just undefines L after
      the inclusion of aarch64-asm.h.
      
      libgcc/
      	* config/aarch64/lse.S: Undefine L() macro.
      e4d41741
  17. Oct 16, 2024
  18. Oct 14, 2024
    • Yangyu Chen's avatar
      RISC-V: Add detailed comments on processing implied extensions. [NFC] · 1c507a02
      Yangyu Chen authored
      
      In some cases, we don't need to handle implied extensions. Add detailed
      comments to help developers understand what implied ISAs should be
      considered.
      
      libgcc/ChangeLog:
      
      	* config/riscv/feature_bits.c (__init_riscv_features_bits_linux):
      	Add detailed comments on processing implied extensions.
      
      Signed-off-by: default avatarYangyu Chen <chenyangyu@isrc.iscas.ac.cn>
      1c507a02
    • Kito Cheng's avatar
      RISC-V: Implement __init_riscv_feature_bits, __riscv_feature_bits, and __riscv_vendor_feature_bits · ca44eb7f
      Kito Cheng authored
      This provides a common abstraction layer to probe the available extensions at
      run-time. These functions can be used to implement function multi-versioning or
      to detect available extensions.
      
      The advantages of providing this abstraction layer are:
      - Easy to port to other new platforms.
      - Easier to maintain in GCC for function multi-versioning.
        - For example, maintaining platform-dependent code in C code/libgcc is much
          easier than maintaining it in GCC by creating GIMPLEs...
      
      This API is intended to provide the capability to query minimal common available extensions on the system.
      
      The API is defined in the riscv-c-api-doc:
      https://github.com/riscv-non-isa/riscv-c-api-doc/blob/main/src/c-api.adoc
      
      Proposal to use unsigned long long for marchid and mimpid:
      https://github.com/riscv-non-isa/riscv-c-api-doc/pull/91
      
      
      
      Full function multi-versioning implementation will come later. We are posting
      this first because we intend to backport it to the GCC 14 branch to unblock
      LLVM 19 to use this with GCC 14.2, rather than waiting for GCC 15.
      
      Changes since v7:
      - Remove vendorID field in __riscv_vendor_feature_bits.
      - Fix C implies Zcf only for RV32.
      - Add more comments to kernel versions.
      
      Changes since v6:
      - Implement __riscv_cpu_model.
      - Set new sub extension bits which implied from previous extensions.
      
      Changes since v5:
      - Minor fixes on indentation.
      
      Changes since v4:
      - Bump to newest riscv-c-api-doc with some new extensions like Zve*, Zc*
        Zimop, Zcmop, Zawrs.
      - Rename the return variable name of hwprobe syscall.
      - Minor fixes on indentation.
      
      Changes since v3:
      - Fix non-linux build.
      - Let __init_riscv_feature_bits become constructor
      
      Changes since v2:
      - Prevent it initialize more than once.
      
      Changes since v1:
      - Fix the format.
      - Prevented race conditions by introducing a local variable to avoid load/store
        operations during the computation of the feature bit.
      
      Co-Developed-by: default avatarYangyu Chen <chenyangyu@isrc.iscas.ac.cn>
      Signed-off-by: default avatarYangyu Chen <chenyangyu@isrc.iscas.ac.cn>
      
      libgcc/ChangeLog:
      
      	* config/riscv/feature_bits.c: New.
      	* config/riscv/t-elf (LIB2ADD): Add feature_bits.c.
      ca44eb7f
  19. Oct 11, 2024
  20. Oct 10, 2024
  21. Oct 05, 2024
  22. Oct 04, 2024
  23. Oct 02, 2024
  24. Oct 01, 2024
    • Tsung Chun Lin's avatar
      [PATCH] RISC-V/libgcc: Fix incorrect and missing .cfi_offset for __riscv_save_[0-3] on RV32. · 97fd7772
      Tsung Chun Lin authored
      0001-RISC-V-libgcc-Fix-incorrect-and-missing-.cfi_offset-.patch
      
      From 06a370a0a2329dd4da0ffcab7c35ea7df2353baf Mon Sep 17 00:00:00 2001
      From: Jim Lin <jim@andestech.com>
      Date: Tue, 1 Oct 2024 14:42:56 +0800
      Subject: [PATCH] RISC-V/libgcc: Fix incorrect and missing .cfi_offset for
       __riscv_save_[0-3] on RV32.
      
      libgcc/ChangeLog:
      
      	* config/riscv/save-restore.S: Fix .cfi_offset for
      	__riscv_save_[0-3] on RV32.
      97fd7772
  25. Sep 28, 2024
  26. Sep 27, 2024
Loading