No description
Find a file
Nick Alcock 4983bb052d
libctf: don't run tests requiring deduplicating linker unless one is in use
Before now, we were relying on gcc -B to repoint GCC at our freshly-built
linker, and assuming we could use this to run tests that do linker dedup.

This is, alas, not reliable (building --with-ld=/an/absolute/path bypasses
-B searches for the linker), and we would like the libctf tests in
particular to not fail if the compiler uses a linker that cannot deduplicate
(simply skipping such tests).

Add a new testsuite function that tries to link one of the lookup tests'
testcases (which is known to produce conflicting types, i.e. a dict with
per-translation-unit children) and then does an objdump and greps it for
signs of the per-translation-unit children.  If there are none, the linker
probably just concatenated the sections: i.e., it is not a linker that
can deduplicate CTF.

libctf/
	PR libctf/33162
	* testsuite/config/default.exp (objdump): Introduce.
	(OBJDUMPFLAGS): Likewise.
	* testsuite/lib/ctf-lib.exp (check_ctf_linker_dedup): New.
	* testsuite/libctf-lookup/lookup.exp: Use it.
	* testsuite/libctf-regression/libctf-repeat-cu.exp: Likewise.
	* testsuite/libctf-regression/regression.exp: Likewise.
2025-07-23 13:06:16 +01:00
bfd Automatic date update in version.in 2025-07-23 00:01:55 +00:00
binutils Remove steps for adding .dirstamp when creating pre-release tarball 2025-07-22 15:41:11 +01:00
config Fix 64-bit BFD detection causing build failures 2025-04-28 18:53:30 +01:00
contrib contrib: sync dg-extract-results.{sh,py} with GCC 2025-07-05 11:20:44 +01:00
cpu Add markers for 2.45 branch 2025-07-13 08:35:45 +01:00
elfcpp Add markers for 2.45 branch 2025-07-13 08:35:45 +01:00
etc Update year range in copyright notice of binutils files 2025-01-01 18:29:57 +10:30
gas gas: sframe: fix PR gas/33170 2025-07-23 00:11:47 -07:00
gdb [gdb/testsuite] Modernize gdb.base/command-line-input.exp 2025-07-22 22:26:05 +02:00
gdbserver gdb: only use /proc/PID/exe for local f/s with no sysroot 2025-06-23 14:47:27 +01:00
gdbsupport [gdb/build] Work around GCC ipa-modref bug 2025-07-13 07:25:43 +02:00
gnulib gnulib: revert copyright date changes in imported files 2025-04-09 10:03:27 -04:00
gold gold: Remove NaCl target support 2025-07-21 05:53:07 -07:00
gprof Updated translations for various sub-directories 2025-07-22 15:58:21 +01:00
gprofng gprofng: do not skip weak symbols 2025-07-19 12:54:32 -07:00
include Add markers for 2.45 branch 2025-07-13 08:35:45 +01:00
ld Updated translations for various sub-directories 2025-07-22 15:58:21 +01:00
libbacktrace autoupdate: regen after replacing obsolete macros 2024-06-10 08:25:56 +09:30
libctf libctf: don't run tests requiring deduplicating linker unless one is in use 2025-07-23 13:06:16 +01:00
libdecnumber regen config 2023-08-12 10:27:57 +09:30
libiberty libiberty: sync with gcc 2025-07-10 14:26:10 +01:00
libsframe libsframe: relax the assertion limit for fre_start_addr 2025-07-14 17:08:21 -07:00
opcodes aarch64: Use an enum to refer to indices in the opcode table 2025-07-21 18:18:51 +01:00
readline readline/tcap.h: Update definitions for C23 2025-05-02 12:00:05 -06:00
sim sim: riscv: Fix build issue due to INSN_CLASS_C was changed to INSN_CLASS_ZCA 2025-07-10 21:50:19 +08:00
texinfo
zlib autoupdate: regen after replacing obsolete macros 2024-06-10 08:25:56 +09:30
.cvsignore
.editorconfig
.gitattributes binutils-gdb/git: highlight whitespace errors in source files 2022-07-25 14:35:41 +01:00
.gitignore Add Vim swap files to .gitignore 2025-02-28 16:06:25 +00:00
.pre-commit-config.yaml [gdb/testsuite] Make gdb.debuginfod codespell-clean 2025-05-20 11:05:55 +02:00
ar-lib
ChangeLog Add markers for 2.45 branch 2025-07-13 08:35:45 +01:00
compile
config-ml.in MSP430: Add -fno-exceptions multilib 2023-08-12 10:24:26 +09:30
config.guess Sync config.guess and config.sub with latest versions from the config project. 2025-01-17 10:18:30 +00:00
config.rpath
config.sub Sync config.guess and config.sub with latest versions from the config project. 2025-01-17 10:18:30 +00:00
configure nios2: Remove binutils support for Nios II target. 2024-11-26 19:13:07 +00:00
configure.ac nios2: Remove binutils support for Nios II target. 2024-11-26 19:13:07 +00:00
COPYING
COPYING.LIB
COPYING.LIBGLOSS
COPYING.NEWLIB
COPYING3
COPYING3.LIB
depcomp
djunpack.bat
install-sh
libtool.m4 FDPIC: Handle arm*-*-uclinuxfdpiceabi in configure scripts 2023-08-12 10:25:06 +09:30
ltgcc.m4
ltmain.sh ltmain.sh: allow more flags at link-time 2024-09-25 19:06:10 +01:00
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
MAINTAINERS Fix compiling bfd/vms-lib.c for a 32-bit host. 2024-03-18 10:26:16 +00:00
Makefile.def Fix 64-bit BFD detection causing build failures 2025-04-28 18:53:30 +01:00
Makefile.in Fix 64-bit BFD detection causing build failures 2025-04-28 18:53:30 +01:00
Makefile.tpl Revert "Pass GUILE down to subdirectories" 2024-03-22 11:07:28 -06:00
makefile.vms
missing
mkdep
mkinstalldirs
move-if-change
multilib.am
README
README-maintainer-mode Note that at least dejagnu version 1.5.3 is required in order to be ale to run the testsuites. 2022-10-04 10:54:19 +01:00
SECURITY.txt Add a SECURITY.txt file describing the GNU Binutils' project's stance on security related bugs. 2023-04-20 16:52:11 +01:00
setup.com
src-release.sh Rename 'binutils' to 'binutils_with_gold'. Rename 'bin_no_gold' to 'binutils'. Add 'gold' 2025-02-04 11:50:02 +00:00
symlink-tree
test-driver
ylwrap

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.

If you are receiving this as part of a GDB release, see the file gdb/README.
If with a binutils release, see binutils/README;  if with a libg++ release,
see libg++/README, etc.  That'll give you info about this
package -- supported targets, how to use it, how to report bugs, etc.

It is now possible to automatically configure and build a variety of
tools with one command.  To build all of the tools contained herein,
run the ``configure'' script here, e.g.:

	./configure 
	make

To install them (by default in /usr/local/bin, /usr/local/lib, etc),
then do:
	make install

(If the configure script can't determine your type of computer, give it
the name as an argument, for instance ``./configure sun4''.  You can
use the script ``config.sub'' to test whether a name is recognized; if
it is, config.sub translates it to a triplet specifying CPU, vendor,
and OS.)

If you have more than one compiler on your system, it is often best to
explicitly set CC in the environment before running configure, and to
also set CC when running make.  For example (assuming sh/bash/ksh):

	CC=gcc ./configure
	make

A similar example using csh:

	setenv CC gcc
	./configure
	make

Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.