libctf, testsuite: don't run without a suitable compiler

We never actually check to see if the compiler supports CTF,
or even if a suitable compiler exists.

libctf/ChangeLog
2021-01-05  Nick Alcock  <nick.alcock@oracle.com>

	* Makefile.am (BASEDIR): New.
	(BFDDIR): Likewise.
	(check-DEJAGNU): Add development.exp to prerequisites.
	(development.exp): New.
	(CONFIG_STATUS_DEPENDENCIES): New.
	(EXTRA_DEJAGNU_SITE_CONFIG): Likewise.
	(DISTCLEANFILES): Likewise.
	* Makefile.in: Regenerated.
	* testsuite/lib/ctf-lib.exp (check_ctf_available): Return boolean.
	* testsuite/libctf-lookup/lookup.exp: Call check_ctf_available.
	* testsuite/libctf-regression/regression.exp: Likewise.
This commit is contained in:
Nick Alcock 2021-01-05 17:11:20 +00:00
parent b4b6ea4680
commit 70d3120f32
6 changed files with 57 additions and 3 deletions

View File

@ -1,3 +1,17 @@
2021-01-05 Nick Alcock <nick.alcock@oracle.com>
* Makefile.am (BASEDIR): New.
(BFDDIR): Likewise.
(check-DEJAGNU): Add development.exp to prerequisites.
(development.exp): New.
(CONFIG_STATUS_DEPENDENCIES): New.
(EXTRA_DEJAGNU_SITE_CONFIG): Likewise.
(DISTCLEANFILES): Likewise.
* Makefile.in: Regenerated.
* testsuite/lib/ctf-lib.exp (check_ctf_available): Return boolean.
* testsuite/libctf-lookup/lookup.exp: Call check_ctf_available.
* testsuite/libctf-regression/regression.exp: Likewise.
2021-01-05 Nick Alcock <nick.alcock@oracle.com> 2021-01-05 Nick Alcock <nick.alcock@oracle.com>
* ctf-types.c (ctf_type_aname): Print forwards to unions and enums * ctf-types.c (ctf_type_aname): Print forwards to unions and enums

View File

@ -27,6 +27,8 @@ AUTOMAKE_OPTIONS = dejagnu foreign no-texinfo.tex
ZLIB = @zlibdir@ -lz ZLIB = @zlibdir@ -lz
ZLIBINC = @zlibinc@ ZLIBINC = @zlibinc@
BASEDIR = $(srcdir)/..
BFDDIR = $(BASEDIR)/bfd
INCDIR = $(srcdir)/../include INCDIR = $(srcdir)/../include
AM_CPPFLAGS = -D_GNU_SOURCE -I$(srcdir) -I$(srcdir)/../include -I$(srcdir)/../bfd -I../bfd @INCINTL@ AM_CPPFLAGS = -D_GNU_SOURCE -I$(srcdir) -I$(srcdir)/../include -I$(srcdir)/../bfd -I../bfd @INCINTL@
AM_CFLAGS = -std=gnu99 @ac_libctf_warn_cflags@ @warn@ @c_warn@ @WARN_PEDANTIC@ @WERROR@ $(ZLIBINC) AM_CFLAGS = -std=gnu99 @ac_libctf_warn_cflags@ @warn@ @c_warn@ @WARN_PEDANTIC@ @WERROR@ $(ZLIBINC)
@ -75,7 +77,7 @@ CC_FOR_TARGET = ` \
fi; \ fi; \
fi` fi`
check-DEJAGNU: site.exp check-DEJAGNU: site.exp development.exp
srcroot=`cd $(srcdir) && pwd`; export srcroot; \ srcroot=`cd $(srcdir) && pwd`; export srcroot; \
r=`pwd`; export r; \ r=`pwd`; export r; \
LC_ALL=C; export LC_ALL; \ LC_ALL=C; export LC_ALL; \
@ -87,3 +89,14 @@ check-DEJAGNU: site.exp
CC_FOR_HOST="$(CC)" LIBS="$(LIBS)" $(RUNTESTFLAGS); \ CC_FOR_HOST="$(CC)" LIBS="$(LIBS)" $(RUNTESTFLAGS); \
else echo "WARNING: could not find \`runtest'" 1>&2; :;\ else echo "WARNING: could not find \`runtest'" 1>&2; :;\
fi fi
development.exp: $(BFDDIR)/development.sh
$(EGREP) "(development|experimental)=" $(BFDDIR)/development.sh \
| $(AWK) -F= '{ print "set " $$1 " " $$2 }' > $@
# development.sh is used to determine -Werror default.
CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/development.sh
EXTRA_DEJAGNU_SITE_CONFIG = development.exp
DISTCLEANFILES = site.exp development.exp

View File

@ -448,6 +448,8 @@ AUTOMAKE_OPTIONS = dejagnu foreign no-texinfo.tex
# case both are empty. # case both are empty.
ZLIB = @zlibdir@ -lz ZLIB = @zlibdir@ -lz
ZLIBINC = @zlibinc@ ZLIBINC = @zlibinc@
BASEDIR = $(srcdir)/..
BFDDIR = $(BASEDIR)/bfd
INCDIR = $(srcdir)/../include INCDIR = $(srcdir)/../include
AM_CPPFLAGS = -D_GNU_SOURCE -I$(srcdir) -I$(srcdir)/../include -I$(srcdir)/../bfd -I../bfd @INCINTL@ AM_CPPFLAGS = -D_GNU_SOURCE -I$(srcdir) -I$(srcdir)/../include -I$(srcdir)/../bfd -I../bfd @INCINTL@
AM_CFLAGS = -std=gnu99 @ac_libctf_warn_cflags@ @warn@ @c_warn@ @WARN_PEDANTIC@ @WERROR@ $(ZLIBINC) AM_CFLAGS = -std=gnu99 @ac_libctf_warn_cflags@ @warn@ @c_warn@ @WARN_PEDANTIC@ @WERROR@ $(ZLIBINC)
@ -486,6 +488,11 @@ CC_FOR_TARGET = ` \
fi; \ fi; \
fi` fi`
# development.sh is used to determine -Werror default.
CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/development.sh
EXTRA_DEJAGNU_SITE_CONFIG = development.exp
DISTCLEANFILES = site.exp development.exp
all: config.h all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-am $(MAKE) $(AM_MAKEFLAGS) all-am
@ -1216,6 +1223,7 @@ clean-generic:
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -1319,7 +1327,7 @@ uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES
.PRECIOUS: Makefile .PRECIOUS: Makefile
check-DEJAGNU: site.exp check-DEJAGNU: site.exp development.exp
srcroot=`cd $(srcdir) && pwd`; export srcroot; \ srcroot=`cd $(srcdir) && pwd`; export srcroot; \
r=`pwd`; export r; \ r=`pwd`; export r; \
LC_ALL=C; export LC_ALL; \ LC_ALL=C; export LC_ALL; \
@ -1332,6 +1340,10 @@ check-DEJAGNU: site.exp
else echo "WARNING: could not find \`runtest'" 1>&2; :;\ else echo "WARNING: could not find \`runtest'" 1>&2; :;\
fi fi
development.exp: $(BFDDIR)/development.sh
$(EGREP) "(development|experimental)=" $(BFDDIR)/development.sh \
| $(AWK) -F= '{ print "set " $$1 " " $$2 }' > $@
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: .NOEXPORT:

View File

@ -399,7 +399,12 @@ proc check_ctf_available { } {
set f [open $src "w"] set f [open $src "w"]
puts $f "int main() { return 0; }" puts $f "int main() { return 0; }"
close $f close $f
set ctf_available_saved [compile_one_cc $src $output "-gt -c"] set comp_output [compile_one_cc $src $output "-gt -c"]
if { $comp_output == ""} {
set ctf_available_saved 1
} else {
set ctf_available_saved 0
}
remote_file host delete $src remote_file host delete $src
remote_file host delete $output remote_file host delete $output
file delete $src file delete $src

View File

@ -23,6 +23,11 @@ if ![is_elf_format] {
return 0 return 0
} }
if {![check_ctf_available]} {
unsupported "no CTF format support in the compiler"
return 0
}
if {[info exists env(LC_ALL)]} { if {[info exists env(LC_ALL)]} {
set old_lc_all $env(LC_ALL) set old_lc_all $env(LC_ALL)
} }

View File

@ -18,6 +18,11 @@
# MA 02110-1301, USA. # MA 02110-1301, USA.
# #
if {![check_ctf_available]} {
unsupported "no CTF format support in the compiler"
return 0
}
if ![is_elf_format] { if ![is_elf_format] {
unsupported "CTF needs bfd changes to be emitted on non-ELF" unsupported "CTF needs bfd changes to be emitted on non-ELF"
return 0 return 0