From: Jim Kingdon Date: Sat, 26 Jun 1993 03:30:24 +0000 (+0000) Subject: * gdb.stabs/wierd{.def,.exp,-aout.S,-xcoff.S}: Add common block test. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2de1aa1cc95556ade5e1d15ec756b2b98241fe8c;p=binutils-gdb.git * gdb.stabs/wierd{.def,.exp,-aout.S,-xcoff.S}: Add common block test. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 8bac7dc3dd1..9dbfbcb97eb 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,7 @@ Fri Jun 25 12:00:46 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + * gdb.stabs/wierd{.def,.exp,-aout.S,-xcoff.S}: Add common block test. + * gdb.t{02,13}/{Makefile.in,gdbme.c,comp-info.c}: New way of generating comp-info.exp which works for cross-compilation. diff --git a/gdb/testsuite/gdb.stabs/wierd-aout.S b/gdb/testsuite/gdb.stabs/wierd-aout.S index e188185a118..08878b62a1c 100644 --- a/gdb/testsuite/gdb.stabs/wierd-aout.S +++ b/gdb/testsuite/gdb.stabs/wierd-aout.S @@ -3,6 +3,8 @@ #define N_LSYM 0x80 #define N_GSYM 0x20 +#define N_BCOMM 0xe2 +#define N_ECOMM 0xe4 #define VAR(name) \ .globl name; \ diff --git a/gdb/testsuite/gdb.stabs/wierd-xcoff.S b/gdb/testsuite/gdb.stabs/wierd-xcoff.S index b4d3a24d9df..f0aed3118a9 100644 --- a/gdb/testsuite/gdb.stabs/wierd-xcoff.S +++ b/gdb/testsuite/gdb.stabs/wierd-xcoff.S @@ -1,5 +1,7 @@ -#define N_LSYM 0x81 -#define N_GSYM 0x80 +#define N_GSYM 128 +#define N_LSYM 129 +#define N_BCOMM 135 +#define N_ECOMM 137 #define VAR(name) \ .globl name; \ diff --git a/gdb/testsuite/gdb.stabs/wierd.def b/gdb/testsuite/gdb.stabs/wierd.def index 81a384c65c7..4de0d9f2a80 100644 --- a/gdb/testsuite/gdb.stabs/wierd.def +++ b/gdb/testsuite/gdb.stabs/wierd.def @@ -306,6 +306,21 @@ STAB("attr90:G390=@Z !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] STAB("attr91:G391=@[ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,attr91) STAB("attr92:G392=@\ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,attr92) STAB("attr93:G393=@] !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,attr93) + +/* Provide one of each, so this wins regardless of whether names have + underscores. */ +VAR (_common0) + .long 24 + .long 22 +VAR (common0) + .long 24 + .long 22 +STAB ("common0", N_BCOMM, 0) +STAB ("common0var0:S1", N_GSYM, 0) +STAB ("common0var1:S1", N_GSYM, 4) +STAB ("common0var2:S1", N_GSYM, 8) +STAB ("common0", N_ECOMM, 0) + STAB("attr94:G394=@^ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,attr94) STAB("attr95:G395=@_ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,attr95) STAB("attr100:G400=@d !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,attr100) diff --git a/gdb/testsuite/gdb.stabs/wierd.exp b/gdb/testsuite/gdb.stabs/wierd.exp index a8afcecebf0..a734a057c22 100644 --- a/gdb/testsuite/gdb.stabs/wierd.exp +++ b/gdb/testsuite/gdb.stabs/wierd.exp @@ -157,6 +157,17 @@ field3 = 0x77888877\}" "print struct constant" gdb_test "whatis pointer_to_int_var" "type = int \*" "whatis p t i v" setup_xfail "*-*-*" gdb_test "whatis intp_var" "type = intp" "whatis intp_var" + + gdb_test "p common0var0" "= 42" + # GDB seems to only understand common blocks local to a function. + # These variables never get relocated to be relative to the common + # block. + # I'm not sure whether it is valid to have a common block which + # is not local to a function. + setup_xfail "*-*-*" + gdb_test "p common0var1" "= 24" + setup_xfail "*-*-*" + gdb_test "p common0var2" "= 22" } proc print_wierd_var { var } {