Fix a couple gdb.dwarf2/ testcases with "clang -flto"

gdb.dwarf2/atomic-type.exp and gdb.dwarf2/ada-linkage-name.exp fail
when testing with "clang -flto" as compiler, like:

 $ make check TESTS="gdb.dwarf2/ada-linkage-name.exp" RUNTESTFLAGS="CC_FOR_TARGET='clang -flto'"

because with -flto, functions that aren't referenced anywhere are not
emitted in the final binary.  Fix it by adding uses of the functions.

gdb/testsuite/ChangeLog:

	* gdb.dwarf2/ada-linkage-name.c (main): Move to the bottom of the
	file and add calls to first and second.
	* gdb.dwarf2/atomic.c (main): Move to the bottom of the file and
	add call to f.
This commit is contained in:
Pedro Alves
2020-09-13 18:17:18 +01:00
parent 6791b1172a
commit c49da0e466
3 changed files with 28 additions and 16 deletions

View File

@@ -1,3 +1,10 @@
2020-09-13 Pedro Alves <pedro@palves.net>
* gdb.dwarf2/ada-linkage-name.c (main): Move to the bottom of the
file and add calls to first and second.
* gdb.dwarf2/atomic.c (main): Move to the bottom of the file and
add call to f.
2020-09-13 Pedro Alves <pedro@palves.net>
* gdb.mi/mi-break-qualified.cc: New file.

View File

@@ -15,13 +15,6 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
int
main (void)
{
asm ("main_label: .globl main_label");
return 0;
}
/* First dummy function. */
int
@@ -39,3 +32,14 @@ second (char *x)
asm ("second_label: .globl second_label");
return 0;
}
int
main (void)
{
asm ("main_label: .globl main_label");
first (0);
second (0);
return 0;
}

View File

@@ -15,15 +15,6 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* Dummy main function. */
int
main (void)
{
asm ("main_label: .globl main_label");
return 0;
}
/* dummy f function, DWARF will describe arguments and type differently. */
int
f (char *x)
@@ -32,3 +23,13 @@ f (char *x)
return 0;
}
/* Dummy main function. */
int
main (void)
{
asm ("main_label: .globl main_label");
f (0);
return 0;
}