binutils-gdb/gprofng/testsuite/gprofng.display/display.exp
H.J. Lu cac97c41c2 gprofng: Skip jsynprog with a broken javac
On CET enabled Linux/x86-64 machines, one can get

$ javac simple.java
Error: dl failure on line 894
Error: failed /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-6.fc35.x86_64/jre/lib/amd64/server/libjvm.so, because /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-6.fc35.x86_64/jre/lib/amd64/server/libjvm.so: rebuild shared object with SHSTK support enabled

Set GPROFNG_BROKEN_JAVAC to "yes" only with a broken javac and skip the
jsynprog test with a broken javac.

	PR gprofng/28965
	* Makefile.am (GPROFNG_BROKEN_JAVAC): New.
	(check-DEJAGNU): Pass GPROFNG_BROKEN_JAVAC to runtest.
	* configure.ac (GPROFNG_BROKEN_JAVAC): New AC_SUBST.  Set to yes
	with a broken javac.
	* Makefile.in: Regenerate.
	* configure: Likewise.
	* testsuite/gprofng.display/display.exp: Skip jsynprog with a
	broken javac.
2022-03-17 10:28:58 -07:00

93 lines
2.8 KiB
Plaintext

# Copyright (C) 2021 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
# MA 02110-1301, USA.
#
if {[info exists env(LC_ALL)]} {
set old_lc_all $env(LC_ALL)
}
set env(LC_ALL) "C"
set pltf [exec uname -i]
switch $pltf {
x86_64 {
# Columns in the table represent:
# dir cflags gprofflags Others
set table {
{"jsynprog" "-g -Wall" "-p on -j on"}
{"mttest" "" ""}
{"mttest" "-g -Wall" "-p on"}
{"mttest" "-g -O0" "-p on"}
{"mttest" "-g -O" "-p on"}
{"mttest" "-g -O" "-h on"}
{"mttest" "-g -O" "-h on"}
{"mttest" "-g -O" "-p on -h on"}
{"synprog" "" ""}
{"synprog" "-g" "-p on"}
{"synprog" "-g -O0" "-p on"}
{"synprog" "-g -O" "-p on"}
{"synprog" "-g" "-p on -h on"}
{"synprog" "-g -O0" "-p on -h on"}
{"synprog" "-g -O" "-p on -h on"}
}
}
aarch64 {
set table {
{"jsynprog" "-g -Wall" "-p on -j on"}
{"mttest" "" ""}
{"mttest" "-g -Wall" "-p on"}
{"mttest" "-g -O0" "-p on"}
{"mttest" "-g -O" "-p on"}
{"synprog" "" ""}
{"synprog" "-g" "-p on"}
{"synprog" "-g -O" "-p on"}
}
}
default {
# Columns in the table represent:
# dir cflags gprofflags Others
set table {
{"mttest" "" ""}
{"synprog" "" ""}
}
}
}
global GPROFNG_BROKEN_JAVAC
foreach line $table {
set dir [lindex $line 0]
set cflags [lindex $line 1]
set gprofflags [lindex $line 2]
verbose [file rootname $line]
verbose running display test $line
if { $GPROFNG_BROKEN_JAVAC == "yes" && $dir == "jsynprog" } {
unsupported $dir
} else {
run_display_test $dir $cflags $gprofflags
}
}
if {[info exists old_lc_all]} {
set env(LC_ALL) $old_lc_all
} else {
unset env(LC_ALL)
}