For GCC, newlib combined tree, newlib build-tree testing, use standard search paths

Thomas Schwinge <[email protected]>
Newsgroups gmane.comp.lib.newlib,gmane.comp.gcc.patches,gmane.comp.gcc.devel
Message-ID <[email protected]>
Hi!

OK to push to newlib main branch the attached
"For GCC, newlib combined tree, newlib build-tree testing, use standard search paths"
-- or is something else wrong here, or should this be done differently?
(I mean, I'm confused why this doesn't just work; I'm certainly not the
first person to be testing such a setup?)

I'm not doing anything special here: just symlink 'newlib' into the GCC
source directory, build the combined tree, and then run 'make check', as
mentioned in the attached Git commit log.


Grüße
 Thomas


-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
0001-For-GCC-newlib-combined-tree-newlib-build-tree-testi.patch (text/x-diff, 1.7 KB)
From e56b38625929c3cf62c71d3fbd9264aaeef39d0c Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <[email protected]>
Date: Fri, 14 Apr 2023 21:26:32 +0200
Subject: [PATCH] For GCC, newlib combined tree, newlib build-tree testing, use
 standard search paths

For example, for GCC/GCN target (AMD GPUs), target libraries are built
individually per supported hardware ISA ('-march=[...]').  Testing such a
toolchain via, for example:

    $ make RUNTESTFLAGS='--target_board=[...]/-march=gfx90a' check[...]

... does work fine for all 'check-gcc-[...]' as well as GCC-provided target
libraries, 'check-target-[...]'.  Just for 'check-target-newlib', for the
example above, not the '-march=gfx90a' newlib libraries are linked in, but
instead always the default ones, which results in link FAILure.  This is cured
simply by skipping use of 'newlib/testsuite/lib/flags.exp', so that the
standard search paths as determined by GCC, DejaGnu are used for newlib, too.
---
 newlib/testsuite/lib/flags.exp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/newlib/testsuite/lib/flags.exp b/newlib/testsuite/lib/flags.exp
index e1e9acb18..697291e7a 100644
--- a/newlib/testsuite/lib/flags.exp
+++ b/newlib/testsuite/lib/flags.exp
@@ -4,6 +4,13 @@
 # is freely granted, provided that this notice is preserved.
 #
 
+if [info exists env(XGCC_FLAGS_FOR_TARGET)] {
+    verbose "GCC, newlib combined tree, build-tree testing; using standard search paths"
+    # ... instead of the search paths built here, based on 'objdir' as set in
+    # newlib's 'site.exp', which always points to the default multilib.
+    return
+}
+
 # flags.exp: overrides the dejagnu versions of libgloss_link_flags,
 # newlib_link_flags, and newlib_include_flags.
 
-- 
2.25.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.