aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-08-12PR30715, VAX: md_create_long_jumpKalvis Duckmanton4-13/+136
PR 30715 * config/tc-vax.c (md_create_long_jump): Use pc-relative addressing. * testsuite/gas/vax/broken_word.d, * testsuite/gas/vax/broken_word.s: New test. * testsuite/gas/vax/vax.exp: Run it.
2023-08-11gdbserver: Reinstall software single-step breakpoints in ↵Kevin Buettner3-1/+219
resume_stopped_resumed_lwps At the moment, while performing a software single-step, gdbserver fails to reinsert software single-step breakpoints for a LWP when interrupted by a signal in another thread. This commit fixes this problem by reinstalling software single-step breakpoints in linux_process_target::resume_stopped_resumed_lwps in gdbserver/linux-low.cc. This bug was discovered due to a failing assert in maybe_hw_step() in gdbserver/linux-low.cc. Looking at the backtrace revealed that the caller was linux_process_target::resume_stopped_resumed_lwps. I was uncertain whether the assert should still be valid when called from that method, so I tried hoisting the assert from maybe_hw_step to all callers except resume_stopped_resumed_lwps. But running the new test case, described below, showed that merely eliminating the assert for this case was NOT a good fix - a study of the log file for the test showed that the single-step operation failed to occur. Instead GDB (via gdbserver) stopped at the next breakpoint that was hit. Zhiyong Yan had proposed a fix which resinserted software single-step breakpoints, albeit at a different location in linux-low.cc. Testing revealed that, while running gdb.threads/pending-fork-event-detach, the executable associated with that test would die due to a SIGTRAP after the test program was detached. Examination of the core file(s) showed that a breakpoint instruction had been left in program memory. Test results were otherwise very good, so Zhiyong was definitely on the right track! This commit causes software single-step breakpoint(s) to be inserted before the call to maybe_hw_step in resume_stopped_resumed_lwps. This will cause 'has_single_step_breakpoints (thread)' to be true, so that the assert in maybe_hw_step... /* GDBserver must insert single-step breakpoint for software single step. */ gdb_assert (has_single_step_breakpoints (thread)); ...will no longer fail. And better still, the single-step breakpoints are reinstalled, so that stepping will actually work, even when interrupted. The C code for the test case was loosely adapted from the reproducer provided in Zhiyong's bug report for this problem. The .exp file was copied from next-fork-other-thread.exp and then tweaked slightly. As noted in a comment in next-fork-exec-other-thread.exp, I had to remove "on" from the loop for non-stop as it was failing on all architectures (including x86-64) that I tested. I have a feeling that it ought to work, but this can be investigated separately and (re)enabled once it works. I also increased the number of iterations for the loop running the "next" commands. I've had some test runs which don't show the bug until the loop counter exceeded 100 iterations. The C file for the new test uses shorter delays than next-fork-other-thread.c though, so it doesn't take overly long (IMO) to run this new test. Running the new test on a Raspberry Pi w/ a 32-bit (Arm) kernel and userland using a gdbserver build without the fix in this commit shows the following results: FAIL: gdb.threads/next-fork-exec-other-thread.exp: fork_func=fork: target-non-stop=auto: non-stop=off: displaced-stepping=auto: i=12: next to other line FAIL: gdb.threads/next-fork-exec-other-thread.exp: fork_func=fork: target-non-stop=auto: non-stop=off: displaced-stepping=on: i=9: next to other line FAIL: gdb.threads/next-fork-exec-other-thread.exp: fork_func=fork: target-non-stop=auto: non-stop=off: displaced-stepping=off: i=18: next to other line FAIL: gdb.threads/next-fork-exec-other-thread.exp: fork_func=fork: target-non-stop=off: non-stop=off: displaced-stepping=auto: i=3: next to other line FAIL: gdb.threads/next-fork-exec-other-thread.exp: fork_func=fork: target-non-stop=off: non-stop=off: displaced-stepping=on: i=11: next to other line FAIL: gdb.threads/next-fork-exec-other-thread.exp: fork_func=fork: target-non-stop=off: non-stop=off: displaced-stepping=off: i=1: next to other line FAIL: gdb.threads/next-fork-exec-other-thread.exp: fork_func=vfork: target-non-stop=auto: non-stop=off: displaced-stepping=auto: i=1: next to break here FAIL: gdb.threads/next-fork-exec-other-thread.exp: fork_func=vfork: target-non-stop=auto: non-stop=off: displaced-stepping=on: i=3: next to break here FAIL: gdb.threads/next-fork-exec-other-thread.exp: fork_func=vfork: target-non-stop=auto: non-stop=off: displaced-stepping=off: i=1: next to break here FAIL: gdb.threads/next-fork-exec-other-thread.exp: fork_func=vfork: target-non-stop=on: non-stop=off: displaced-stepping=auto: i=47: next to other line FAIL: gdb.threads/next-fork-exec-other-thread.exp: fork_func=vfork: target-non-stop=on: non-stop=off: displaced-stepping=on: i=57: next to other line FAIL: gdb.threads/next-fork-exec-other-thread.exp: fork_func=vfork: target-non-stop=off: non-stop=off: displaced-stepping=auto: i=1: next to break here FAIL: gdb.threads/next-fork-exec-other-thread.exp: fork_func=vfork: target-non-stop=off: non-stop=off: displaced-stepping=on: i=10: next to break here FAIL: gdb.threads/next-fork-exec-other-thread.exp: fork_func=vfork: target-non-stop=off: non-stop=off: displaced-stepping=off: i=1: next to break here === gdb Summary === # of unexpected core files 12 # of expected passes 3011 # of unexpected failures 14 Each of the 12 core files were caused by the failed assertion in maybe_hw_step in linux-low.c. These correspond to 12 of the unexpected failures. When the tests are run using a gdbserver build which includes the fix in this commit, the results are significantly better, but not perfect: FAIL: gdb.threads/next-fork-exec-other-thread.exp: fork_func=vfork: target-non-stop=on: non-stop=off: displaced-stepping=auto: i=143: next to other line FAIL: gdb.threads/next-fork-exec-other-thread.exp: fork_func=vfork: target-non-stop=on: non-stop=off: displaced-stepping=on: i=25: next to other line === gdb Summary === # of expected passes 10178 # of unexpected failures 2 I think that the two remaining failures are due to some different problem. They are also racy - I've seen runs with no failures or only one failure, but never more than two. Also, those runs were conducted with the loop count in next-fork-exec-other-thread.exp set to 200. During his testing of this fix and the new test case, Luis Machado found that this test was taking a long time and asked about ways to speed it up. I then conducted additional tests in which I gradually reduced the loop count, timing each one, also noting the number of failures. With the loop count set to 30, I found that I could still reliably reproduce the failures that Zhiyong reported (in which, with the proper settings, core files are created). But, with the loop count set to 30, the other failures noted above were much less likely to show up. Anyone wishing to investigate those other failures should set the loop count back up to 200. Running the new test on x86-64 and aarch64, both native and native-gdbserver shows no failures. Also, I see no regressions when running the entire test suite for armv7l-unknown-linux-gnueabihf (i.e. the Raspberry Pi w/ 32-bit kernel+userland) with --target_board=native-gdbserver. Additionally, using --target_board=native-gdbserver, I also see no regressions for the entire test suite for x86-64 and aarch64 running Fedora 38. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30387 Co-Authored-By: Zhiyong Yan <zhiyong.yan@windriver.com> Tested-By: Zhiyong Yan <zhiyong.yan@windriver.com> Tested-By: Luis Machado <luis.machado@arm.com>
2023-08-12regen configAlan Modra20-2305/+5188
This regenerates config files changed by the previous 44 commits. Note that subject lines in these commits mostly match the gcc git originating commit.
2023-08-12toplevel: Substitute GDCFLAGS instead of using CFLAGSArsen Arsenović1-1/+1
r14-2875-g1ed21e23d6d4da ("Use substituted GDCFLAGS") already implemented this change, but only on the generated file rather than in the template it is generated from. * Makefile.tpl: Substitute @GDCFLAGS@ instead of using $(CFLAGS).
2023-08-12Use substituted GDCFLAGSAndreas Schwab1-0/+1
Use the substituted value for GCDFLAGS instead of hardcoding $(CFLAGS) so that the subdir configure scripts use the configured value. * configure.ac (GDCFLAGS): Set default from ${CFLAGS}.
2023-08-12gccrs: Add gcc-check-target check-rustPhilip Herron1-0/+1
This allows us to invoke the rust testsuite. * Makefile.def: Add Rust language.
2023-08-12PR bootstrap/106472: Add libgo depends on libbacktrace to Makefile.defRoger Sayle1-1/+2
This patch fixes PR bootstrap/106472 by adding a missing dependency to Makefile.def to allow make bootstrap when configured using "--enable-languages=go" (and not using make with multiple threads). 2022-07-31 Roger Sayle <roger@nextmovesoftware.com> PR bootstrap/106472 * Makefile.def (dependencies): Make configure-target-libgo depend upon all-target-libbacktrace.
2023-08-12Revert "Fix PR 67102: Add libstdc++ dependancy to libffi" [PR67102]Thomas Schwinge1-1/+0
2023-08-12Disable warnings as errors for STAGEautofeedback.Eugene Rozenfeld1-0/+3
Compilation during STAGEautofeedback produces additional warnings since inlining decisions with -fauto-profile are different from other builds. This patches disables warnings as errors for STAGEautofeedback. Tested on x86_64-pc-linux-gnu. * Makefile.tpl: Disable warnings as errors for STAGEautofeedback
2023-08-12Fix autoprofiledbootstrap buildEugene Rozenfeld1-1/+3
* Makefile.tpl: Define PROFILE_MERGER
2023-08-12Fix collection and processing of autoprofile data for target libsEugene Rozenfeld1-1/+1
cc1, cc1plus, and lto built during STAGEautoprofile need to be built with debug info since they are used to build target libs. -gtoggle was turning off debug info for this stage. create_gcov should be passed prev-gcc/cc1, prev-gcc/cc1plus, and prev-gcc/lto instead of stage1-gcc/cc1, stage1-gcc/cc1plus, and stage1-gcc/lto when processing profile data collected while building target libraries. Tested on x86_64-pc-linux-gnu. * Makefile.tpl: Remove -gtoggle for STAGEautoprofile
2023-08-12Collect both user and kernel events for autofdo tests and autoprofiledbootstrapEugene Rozenfeld1-1/+1
When we collect just user events for autofdo with lbr we get some events where branch sources are kernel addresses and branch targets are user addresses. Without kernel MMAP events create_gcov can't make sense of kernel addresses. Currently create_gcov fails if it can't map at least 95% of events. We sometimes get below this threshold with just user events. The change is to collect both user events and kernel events. Tested on x86_64-pc-linux-gnu. * Makefile.tpl: Collect both kernel and user events for autofdo
2023-08-12d: Import dmd b8384668f, druntime e6caaab9, phobos 5ab9ad256 (v2.098.0-beta.1)Iain Buclaw2-6/+14
The D front-end is now itself written in D, in order to build GDC, you will need a working GDC compiler (GCC version 9.1 or later). GCC changes: - Add support for bootstrapping the D front-end. These add the required components in order to have a D front-end written in D itself. Because the compiler front-end only depends on the core runtime modules, only libdruntime is built for the bootstrap stages. D front-end changes: - Import dmd v2.098.0-beta.1. Druntime changes: - Import druntime v2.098.0-beta.1. Phobos changes: - Import phobos v2.098.0-beta.1. The jump from v2.076.1 to v2.098.0 covers nearly 4 years worth of development on the D programming language and run-time libraries. * Makefile.def: Add bootstrap to libbacktrace, libphobos, zlib, and libatomic. * Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Fix command for GDC. (STAGE1_CONFIGURE_FLAGS): Add --with-libphobos-druntime-only if target-libphobos-bootstrap. (STAGE2_CONFIGURE_FLAGS): Likewise.
2023-08-12Makefile.def: drop remnants of unused libelfSergei Trofimovich2-10/+0
Use of libelf was removed from gcc in r0-104274-g48215350c24d52 ("re PR lto/46273 (Failed to bootstrap)") around 2010, before gcc-4.6.0. This change removes unused references to libelf from top-level configure and Makefile. * Makefile.def: Drop libelf module and gcc-configure dependency on it. * Makefile.tpl (HOST_EXPORTS): Drop unused LIBELFLIBS and LIBELFINC.
2023-08-12Do not use HAVE_DOS_BASED_FILE_SYSTEM for Cygwin.Martin Liska1-2/+2
PR gcov-profile/94570 * ltmain.sh: Do not define HAVE_DOS_BASED_FILE_SYSTEM for CYGWIN. Co-Authored-By: Jonathan Yong <10walls@gmail.com>
2023-08-12FDPIC: Handle arm*-*-uclinuxfdpiceabi in configure scriptsChristophe Lyon1-3/+8
In libtool.m4, we use uclinuxfdpiceabi in cases where ELF shared libraries support is required, as uclinux does not guarantee that. * libtool.m4: Handle uclinuxfdpiceabi.
2023-08-12libtool.m4: Sort output of 'find' to enable deterministic builds.Bernhard M. Wiedemann2-6/+6
* libtool.m4: Sort output of 'find' to enable deterministic builds. * ltmain.sh: Likewise.
2023-08-12Fix hppa64-hpux11 build to remove source paths from embedded path.John David Anglin1-4/+4
This change adds the +nodefaultrpath ld option to remove all library paths that were specified with the -L option from the embedded path. * libtool.m4 (archive_cmds): Add +nodefaultrpath ld option on hppa64-*-hpux11*.
2023-08-12Generic configury support for shared libs on VxWorksOlivier Hainque1-2/+27
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. * 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.
2023-08-12toplevel: reconcile few divergences with GCCArsen Arsenović1-2/+2
* configure.ac: Reorder include. <is_elf calculation>: Re-add haiku to ELF target list.
2023-08-12gcc: xtensa: add data alignment properties to dynconfigMax Filippov1-1/+58
include/ * xtensa-dynconfig.h (xtensa_config_v4): New struct. (XCHAL_DATA_WIDTH, XCHAL_UNALIGNED_LOAD_EXCEPTION) (XCHAL_UNALIGNED_STORE_EXCEPTION, XCHAL_UNALIGNED_LOAD_HW) (XCHAL_UNALIGNED_STORE_HW, XTENSA_CONFIG_V4_ENTRY_LIST): New definitions. (XTENSA_CONFIG_INSTANCE_LIST): Add xtensa_config_v4 instance. (XTENSA_CONFIG_ENTRY_LIST): Add XTENSA_CONFIG_V4_ENTRY_LIST.
2023-08-12gcc: xtensa: add XCHAL_HAVE_{CLAMPS, DEPBITS, EXCLUSIVE, XEA3} to dynconfigMax Filippov1-1/+49
include/ * xtensa-dynconfig.h (xtensa_config_v3): New struct. (xtensa_get_config_v3): New declaration. (XCHAL_HAVE_CLAMPS, XCHAL_HAVE_DEPBITS, XCHAL_HAVE_EXCLUSIVE) (XCHAL_HAVE_XEA3, XTENSA_CONFIG_V3_ENTRY_LIST): New definitions. (XTENSA_CONFIG_INSTANCE_LIST): Add xtensa_config_v3 instance. (XTENSA_CONFIG_ENTRY_LIST): Add XTENSA_CONFIG_V3_ENTRY_LIST.
2023-08-12MSP430: Add -fno-exceptions multilibJozef Lawrynowicz1-0/+13
* config-ml.in (msp430-*-*): Support --disable-no-exceptions configure flag.
2023-08-12Add D front-end, libphobos library, and D2 testsuite.Iain Buclaw1-1/+15
* config-ml.in: Treat GDC and GDCFLAGS like other compiler/flag environment variables. Cherry picked from GCC commit b4c522fabd0df7be08882d2207df8b2765026110
2023-08-12config-ml.in: Suppress output from multi-do recipesJonathan Wakely1-6/+2
The FIXME comments saying "Leave out until this is tested a bit more" are from 1997. I think they've been sufficiently tested. * config-ml.in (multi-do, multi-clean): Add @ to silence recipes. Remove FIXME comments.
2023-08-12mh-mingw: drop unused BOOT_CXXFLAGS variableSergei Trofimovich1-1/+0
gcc's build system has BOOT_CFLAGS and various STAGE<N>_C{,XX}FLAGS variables. BOOT_CXXFLAGS is not handled anywhere. config/ * mh-mingw: Drop assignment of unused BOOT_CXXFLAGS variable.
2023-08-12mh-mingw: Set __USE_MINGW_ACCESS in missed C++ flags variablesMartin Storsjö1-0/+2
This is similar to what was done in eea4e2ff0a3f5e7f37df204c070cc5d9ef339e6e (where it was added to STAGE*_CXXFLAGS), but this adds the flag to the CXXFLAGS and BOOT_CXXFLAGS variables too (as it's already added to CFLAGS and BOOT_CFLAGS). 2021-04-09 Martin Storsjö <martin@martin.st> config/ * mh-mingw: Set __USE_MINGW_ACCESS in missed C++ flags variables
2023-08-12configure: Allow host fragments to react to --enable-host-shared.Iain Sandoe1-0/+8
This makes the host_shared value available to host makefile fragments. It uses this to adjust Darwin's mdynamic-no-pic in the case that shared host resources are required. Signed-off-by: Iain Sandoe <iain@sandoe.co.uk> config/ * mh-darwin: Require a non-shared host configuration to enable mdynamic-no-pic where that is supported.
2023-08-12Darwin, config: Revise host config fragment.Iain Sandoe1-24/+33
There were two uses for the Darwin host config fragment: The first is to arrange for targets that support mdynamic-no-pic to be built with that enabled (since it makes a significant difference to the compiler performance). We can be more specific in the application of this, since it only applies to 32b hosts plus powerpc64-darwin9. The second was to work around a tool bug where -fno-PIE was not propagated to the link stage. This second use is redundant, since the buggy toolchain cannot bootstrap current GCC sources anyway. This makes the host fragment more specific and reduces the number of toolchains for which it is included which reduces clutter in configure lines. Signed-off-by: Iain Sandoe <iain@sandoe.co.uk> config/ * mh-darwin: Make this specific to handling the mdynamic-no-pic case.
2023-08-12gcc: Add 'mcf' thread model support from mcfgthreadLIU Hao1-0/+1
This patch adds the new thread model `mcf`, which implements mutexes and condition variables with the mcfgthread library. Source code for mcfgthread is available at <https://github.com/lhmouse/mcfgthread>. config/ * gthr.m4 (GCC_AC_THREAD_HEADER): Add new case for `mcf` thread model
2023-08-12Fix PR bootstrap/102389: --with-build-config=bootstrap-lto is brokenAndrew Pinski2-4/+8
So the problem here is that now the lto-plugin requires NM that works with LTO to work so we need to pass down NM just like we do for ranlib and ar. config/ * bootstrap-lto-lean.mk: Handle NM like RANLIB AND AR. * bootstrap-lto.mk: Likewise.
2023-08-1232-bit PA-RISC with HP-UX: remove deprecated portsMartin Liska3-12/+0
* configure.ac: Drop GCC configury for hpux10 * configure: Likewise. config/ * mh-pa-hpux10: Drop.
2023-08-12Merge modula-2 front end onto gcc.Gaius Mulley3-1/+36
This commit merges the devel/modula2 into master. The libraries reside in libgm2, the compiler in gcc/m2 and the testsuite in gcc/testsuite/gm2. * configure.ac (target_libraries): Add target-libgm2. Add NCN_STRICT_CHECK_TARGET_TOOLS entry for gm2. Add GCC_TARGET_TOOL entry for gm2. (compare_exclusions) add gcc/m2/gm2-compiler/M2Version, gcc/m2/gm2-compiler-boot/SYSTEM and gcc/m2/gm2version. * Makefile.def (target_modules): Add libgm2. (flags_to_pass) Add GM2_FOR_TARGET, GM2FLAGS_FOR_TARGET. (dependencies) Add all-target-libgm2 and on=all-target-libatomic. (languages) Add entry for language=m2 with gcc-check-target=check-m2 and lib-check-target=check-target-libgm2. * Makefile.tpl (BUILD_EXPORTS): Add definition for GM2 and GM2FLAGS. (HOST_EXPORTS) Add definition for GM2. (BASE_TARGET_EXPORTS) Add definition for GM2. (GM2_FOR_BUILD) Defined. (GM2FLAGS) Defined. (GM2_FOR_TARGET) Defined. (GM2FLAGS_FOR_TARGET) Defined. (EXTRA_HOST_FLAGS) Defined. (POSTSTAGE1_FLAGS_TO_PASS) Add GM2 and GM2_FOR_BUILD. (EXTRA_TARGET_FLAGS) Add GM2 and GM2FLAGS. (EXTRA_GCC_FLAGS) Add GM2_FOR_TARGET. Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
2023-08-12Add TFLAGS to gcc's GCC_FOR_TARGETAlexandre Oliva1-2/+2
When the GCC build runs GCC_FOR_TARGET, e.g. for selftests or for dumping specs, it doesn't use TFLAGS in non-bootstrap scenarios. This patch arranges for TFLAGS to be passed from the top level down to gcc in GCC_FOR_TARGET in this case. * Makefile.tpl (HOST_EXPORTS): Add TFLAGS to GCC_FOR_TARGET. (EXTRA_GCC_FLAGS): Likewise.
2023-08-12configure: Account CXXFLAGS in gcc-plugin.m4.Iain Sandoe1-0/+5
We now use a C++ compiler so that we need to process CXXFLAGS as well as CFLAGS in the gcc-plugin config fragment. Signed-off-by: Iain Sandoe <iain@sandoe.co.uk> config/ * gcc-plugin.m4: Save and process CXXFLAGS.
2023-08-12configure: use OBJDUMP determined by libtool [PR95648]David Seifert1-1/+1
$ac_cv_prog_OBJDUMP contains the --host OBJDUMP that libtool has inferred. Current config/gcc-plugin.m4 does not respect the user's choice for OBJDUMP. config/ * gcc-plugin.m4: Use libtool's $ac_cv_prog_OBJDUMP.
2023-08-12Remove support for Intel MIC offloadingThomas Schwinge2-63/+2
... after its deprecation in GCC 12. * Makefile.def: Remove module 'liboffloadmic'. * configure.ac: Remove 'liboffloadmic' handling.
2023-08-12configure, Darwin: Ensure overrides to host-pie are passed to gcc configure.Iain Sandoe2-13/+34
The latest versions of Darwin on the Aarch64 platform mandate PIE executables. On x86_64 it remains optional, but produces tool warnings after Darwin20, so we default to PIE executables there too. All (non-PowerPC) 64b Darwin platforms mandate PIC code and therefore force host_shared on (we issue a diagnostic if the user tries to configure them non-shared). However, this also means we cannot test the host_shared setting independently of the host_pie setting so that the logic for setting PICFLAG must be amended for Darwin. For Darwin versions required to have PIE executables, in the event that the user tries to configure these as --disable-host-pie, we issue a warning and override the setting. These versions must also switch host_pie on even if it is not given in the configure line. To cater for this we pass the current value of host_pie, as determined by top-level configure, to the GCC configure. Signed-off-by: Iain Sandoe <iain@sandoe.co.uk> * Makefile.def: Pass the enable-host-pie value to GCC configure. * configure.ac: Adjust the logic for shared and PIE host flags to ensure that PIE is passed for hosts that require it.
2023-08-12configure: Only create serdep.tmp if neededPeter Foley1-0/+2
There's no reason to create this file if none of the serial configure options are passed. * configure.ac: Only create serdep.tmp if needed
2023-08-12configure: Implement --enable-host-pieMarek Polacek4-7/+97
This patch implements the --enable-host-pie configure option which makes the compiler executables PIE. This can be used to enhance protection against ROP attacks, and can be viewed as part of a wider trend to harden binaries. Co-Authored by: Iain Sandoe <iain@sandoe.co.uk> * configure.ac (--enable-host-pie): New check. Set PICFLAG after this check. intl/ * configure.ac (--enable-host-shared): Don't set PICFLAG here. (--enable-host-pie): New check. Set PICFLAG after this check. libdecnumber/ * configure.ac (--enable-host-shared): Don't set PICFLAG here. (--enable-host-pie): New check. Set PICFLAG after this check. zlib/ * configure.ac (--enable-host-shared): Don't set PICFLAG here. (--enable-host-pie): New check. Set PICFLAG after this check.
2023-08-12configure: When host-shared, pass --with-pic to in-tree lib configs.Iain Sandoe2-6/+17
If we are building PIC/PIE host executables, and we are building dependent libs (e.g. GMP) in-tree those libs need to be configured to generate PIC code. Signed-off-by: Iain Sandoe <iain@sandoe.co.uk> * Makefile.def: Pass host_libs_picflag to host dependent library configures. * configure.ac (host_libs_picflag): New configure variable set to '--with-pic' when building 'host_shared'.
2023-08-12configure: Do not build the ununsed libffi shared library.Iain Sandoe1-1/+2
We do not use the shared libffi libraray, nor do we install it. However, on at least Darwin, the shared version will be picked up for testing, so it is preferrable not to build it. Signed-off-by: Iain Sandoe <iain@sandoe.co.uk> * Makefile.def: Do not build shared libffi.
2023-08-12Darwin : Update libtool and dependencies for Darwin20 [PR97865]Iain Sandoe1-15/+17
The change in major version (and the increment from Darwin19 to 20) caused libtool tests to fail which resulted in incorrect build settings for shared libraries. PR target/97865 * libtool.m4: Update handling of Darwin platform link flags for Darwin20.
2023-08-12LoongArch: implement count_{leading,trailing}_zerosXi Ruoyao1-0/+12
LoongArch always support clz and ctz instructions, so we can always use __builtin_{clz,ctz} for count_{leading,trailing}_zeros. This improves the code of libgcc, and also benefits Glibc once we merge longlong.h there. Bootstrapped and regtested on loongarch64-linux-gnu. include/ * longlong.h [__loongarch__] (count_leading_zeros): Define. [__loongarch__] (count_trailing_zeros): Likewise. [__loongarch__] (COUNT_LEADING_ZEROS_0): Likewise.
2023-08-12Updated constants from <https://dwarfstd.org/Languages.php>Meghan Denny1-0/+10
include/ * dwarf2.h: Update with additional languages from dwarf standard.
2023-08-12c++: source position of lambda captures [PR84471]Jason Merrill1-1/+1
include/ * ansidecl.h (ATTRIBUTE_WARN_UNUSED_RESULT): Add __.
2023-08-12Libvtv: Add loongarch support.Lulu Cheng1-0/+4
The loongarch64 specification permits page sizes of 4KiB, 16KiB and 64KiB, but only 16KiB pages are supported for now. Co-Authored-By: qijingwen <qijingwen@loongson.cn> include/ * vtv-change-permission.h (defined): Determines whether the macro __loongarch_lp64 is defined (VTV_PAGE_SIZE): Set VTV_PAGE_SIZE to 16KiB for loongarch64.
2023-08-12Automatic date update in version.inGDB Administrator1-1/+1
2023-08-11gdb.ada/mi_var_access.expCarl Love1-2/+9
The NUMCHILD value for the "A_String_Access" test differs for X86 and PowerPC. The patch substitutes $decimal instead of "1" to match the value of NUMCHILD. The test "-var-update A_String_Access" generates different output depending on the value of VAROBJ_UPDATE_RESULT.TYPE_CHANGED. If the value is true, the strings "new_type" and "new_num_children" are printed along with their values. The VAROBJ_UPDATE_RESULT.TYPE_CHANGED value is true on PowerPC which produces the output: Expecting: ^(-var-update A_String_Access[ ]+)?(\^done,changelist=\[\{name="A_String_Access",in_scope="true",type_changed="false",has_more="0"\}\][ ]+[(]gdb[)] [ ]*) -var-update A_String_Access ^done,changelist=[{name="A_String_Access",in_scope="true",type_changed="true",new_type="pck.string_access",new_num_children="1",has_more="0"}] (gdb) FAIL: gdb.ada/mi_var_access.exp: update at stop 2 (unexpected output) The patch adds a second possible result string for the test $re_varobj_update_result_type to match the case when type_changed is true. Currently for the mi_var_access.exp test VAROBJ_UPDATE_RESULT.TYPE_CHANGED is true on PowerPC and false on X86-64. Fixes 2 failures on PowerPC. Approved-By: Tom Tromey <tom@tromey.com>
2023-08-11Fix Python documentation for range type fieldsTom Tromey1-3/+0
GDB's Python documentation claims that range types have two fields, but this is not true, and attempts to access them hit this error: "Type is not a structure, union, enum, or function type." This patch fixes the documentation.