--- /dev/null
+https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=224128
+
+2007-01-25 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * gdb.base/charsign.exp, gdb.base/charsign.c: New files.
+ [ stripped ]
+
+2007-10-19 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Port to GDB-6.7 - only the testcase left, patch has been reverted,
+ char-vectors restricted.
+
+--- /dev/null 1 Jan 1970 00:00:00 -0000
++++ ./gdb/testsuite/gdb.base/charsign.c 26 Jan 2007 10:32:00 -0000
+@@ -0,0 +1,37 @@
++/* This testcase is part of GDB, the GNU debugger.
++
++ Copyright 2007 Free Software Foundation, Inc.
++
++ 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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++
++ Please email any bugs, comments, and/or additions to this file to:
++ bug-gdb@prep.ai.mit.edu */
++
++int main()
++{
++ return 0;
++}
++
++char n[]="A";
++signed char s[]="A";
++unsigned char u[]="A";
++
++typedef char char_n;
++typedef signed char char_s;
++typedef unsigned char char_u;
++
++char_n n_typed[]="A";
++char_s s_typed[]="A";
++char_u u_typed[]="A";
+--- /dev/null 1 Jan 1970 00:00:00 -0000
++++ ./gdb/testsuite/gdb.base/charsign.exp 26 Jan 2007 10:32:00 -0000
+@@ -0,0 +1,63 @@
++# Copyright 2007 Free Software Foundation, Inc.
++
++# 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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++
++set testfile charsign
++set srcfile ${testfile}.c
++set binfile ${objdir}/${subdir}/${testfile}
++
++proc do_test { cflags } {
++ global srcdir
++ global binfile
++ global subdir
++ global srcfile
++ global gdb_prompt
++
++ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug additional_flags=$cflags]] != "" } {
++ untested "Couldn't compile test program"
++ return -1
++ }
++
++ # Get things started.
++
++ gdb_exit
++ gdb_start
++ gdb_reinitialize_dir $srcdir/$subdir
++ gdb_load ${binfile}
++
++ # For C programs, "start" should stop in main().
++
++ gdb_test "p n" \
++ "= \"A\""
++ gdb_test "p s" \
++ "= \\{65 'A', 0 '\\\\0'\\}"
++ gdb_test "p u" \
++ "= \\{65 'A', 0 '\\\\0'\\}"
++ gdb_test "p n_typed" \
++ "= \"A\""
++ gdb_test "p s_typed" \
++ "= \\{65 'A', 0 '\\\\0'\\}"
++ gdb_test "p u_typed" \
++ "= \\{65 'A', 0 '\\\\0'\\}"
++}
++
++# The string identification works despite the compiler flags below due to
++# gdbtypes.c:
++# if (name && strcmp (name, "char") == 0)
++# TYPE_FLAGS (type) |= TYPE_FLAG_NOSIGN;
++
++do_test {}
++do_test {-fsigned-char}
++do_test {-funsigned-char}