From 51d7d80300853eac20339390e1ae05de71e7e1e3 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Tue, 20 Jul 2010 22:06:59 +0000 Subject: [PATCH] gdb/testsuite/ * gdb.base/charset-malloc.c: New file. * gdb.base/charset.c (malloc_stub): New prototype. (main): Call it instead of malloc itself. * gdb.base/charset.exp: Use only prepare_for_testing. (binfile): Remove the variable. --- gdb/testsuite/ChangeLog | 10 ++++++++++ gdb/testsuite/gdb.base/charset-malloc.c | 35 +++++++++++++++++++++++++++++++++ gdb/testsuite/gdb.base/charset.c | 6 +++--- gdb/testsuite/gdb.base/charset.exp | 11 ++--------- 4 files changed, 50 insertions(+), 12 deletions(-) create mode 100644 gdb/testsuite/gdb.base/charset-malloc.c diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index e821f0e..5beecdf 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2010-07-20 Jan Kratochvil + Ulrich Weigand + Tom Tromey + + * gdb.base/charset-malloc.c: New file. + * gdb.base/charset.c (malloc_stub): New prototype. + (main): Call it instead of malloc itself. + * gdb.base/charset.exp: Use only prepare_for_testing. + (binfile): Remove the variable. + 2010-07-19 Jan Kratochvil Make core files the process_stratum. diff --git a/gdb/testsuite/gdb.base/charset-malloc.c b/gdb/testsuite/gdb.base/charset-malloc.c new file mode 100644 index 0000000..450b7c8 --- /dev/null +++ b/gdb/testsuite/gdb.base/charset-malloc.c @@ -0,0 +1,35 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2010 Free Software Foundation, Inc. + + Contributed by Red Hat, originally written by Jim Blandy. + + 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, see . + + Please email any bugs, comments, and/or additions to this file to: + bug-gdb@gnu.org */ + +/* charset.c file cannot use a system include file as it has its own wchar_t + definition which would be in a conflict. Use this separate compilation + unit. */ + +#include + +void +malloc_stub (void) +{ + /* charset.exp wants to allocate memory for constants. So make sure malloc + gets linked into the program. */ + malloc (1); +} diff --git a/gdb/testsuite/gdb.base/charset.c b/gdb/testsuite/gdb.base/charset.c index a7d64f2..5dafc90 100644 --- a/gdb/testsuite/gdb.base/charset.c +++ b/gdb/testsuite/gdb.base/charset.c @@ -114,6 +114,8 @@ init_utf32 () utf_32_string[i] = iso_8859_1_string[i] & 0xff; } +extern void malloc_stub (void); + int main () { #ifdef usestubs @@ -121,9 +123,7 @@ int main () breakpoint(); #endif - /* charset.exp wants to allocate memory for constants. So make sure malloc - gets linked into the program. */ - malloc (1); + malloc_stub (); /* Initialize ascii_string. */ init_string (ascii_string, diff --git a/gdb/testsuite/gdb.base/charset.exp b/gdb/testsuite/gdb.base/charset.exp index 58418be..0639117 100644 --- a/gdb/testsuite/gdb.base/charset.exp +++ b/gdb/testsuite/gdb.base/charset.exp @@ -27,18 +27,11 @@ if $tracelevel then { set testfile "charset" set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - untested "couldn't compile ${srcdir}/${subdir}/${srcfile}" +set srcmallocfile ${testfile}-malloc.c +if { [prepare_for_testing ${testfile}.exp ${testfile} [list $srcfile $srcmallocfile]] } { return -1 } -# Start with a fresh gdb. -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - # Parse the output from a `show charset' command. Return the host # and target charset as a two-element list. proc parse_show_charset_output {testname} { -- 2.7.4