mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-05 15:15:42 +00:00
gdb: Fully remove stabs code from GDB
This commit is the last in the series removing GDB's support for stabs.
It removes the stabsread.{c|h} files, and removes the last usage of
stabsread stuff in buildsym. Notably, the header file gdb-stabs.h
remains in the tree as it is misnamed at this point - it is used for
reading dbx objfiles. It (and dbxread) will be removed in a future
commit.
Reviewed-By: Eli Zaretskii <eliz@gnu.org>
Approved-By: Tom Tromey <tom@tromey.com>
This commit is contained in:
@@ -1199,7 +1199,6 @@ COMMON_SFILES = \
|
|||||||
source.c \
|
source.c \
|
||||||
source-cache.c \
|
source-cache.c \
|
||||||
split-name.c \
|
split-name.c \
|
||||||
stabsread.c \
|
|
||||||
stack.c \
|
stack.c \
|
||||||
std-regs.c \
|
std-regs.c \
|
||||||
symfile.c \
|
symfile.c \
|
||||||
@@ -1674,7 +1673,6 @@ HFILES_NO_SRCDIR = \
|
|||||||
sparc-ravenscar-thread.h \
|
sparc-ravenscar-thread.h \
|
||||||
sparc-tdep.h \
|
sparc-tdep.h \
|
||||||
split-name.h \
|
split-name.h \
|
||||||
stabsread.h \
|
|
||||||
stack.h \
|
stack.h \
|
||||||
stap-probe.h \
|
stap-probe.h \
|
||||||
svr4-tls-tdep.h \
|
svr4-tls-tdep.h \
|
||||||
|
|||||||
2
gdb/NEWS
2
gdb/NEWS
@@ -31,6 +31,8 @@
|
|||||||
subsequent runs of the inferior will use the same arguments as the
|
subsequent runs of the inferior will use the same arguments as the
|
||||||
first run.
|
first run.
|
||||||
|
|
||||||
|
* Support for stabs debug information has been removed.
|
||||||
|
|
||||||
* New targets
|
* New targets
|
||||||
|
|
||||||
GNU/Linux/MicroBlaze (gdbserver) microblazeel-*linux*
|
GNU/Linux/MicroBlaze (gdbserver) microblazeel-*linux*
|
||||||
|
|||||||
@@ -324,12 +324,6 @@ generic_convert_register_p (struct gdbarch *gdbarch, int regnum,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
default_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
int
|
||||||
generic_instruction_nullified (struct gdbarch *gdbarch,
|
generic_instruction_nullified (struct gdbarch *gdbarch,
|
||||||
struct regcache *regcache)
|
struct regcache *regcache)
|
||||||
|
|||||||
@@ -261,9 +261,6 @@ extern int default_code_of_frame_writable (struct gdbarch *gdbarch,
|
|||||||
extern int generic_convert_register_p (struct gdbarch *gdbarch, int regnum,
|
extern int generic_convert_register_p (struct gdbarch *gdbarch, int regnum,
|
||||||
struct type *type);
|
struct type *type);
|
||||||
|
|
||||||
extern int default_stabs_argument_has_addr (struct gdbarch *gdbarch,
|
|
||||||
struct type *type);
|
|
||||||
|
|
||||||
extern int generic_instruction_nullified (struct gdbarch *gdbarch,
|
extern int generic_instruction_nullified (struct gdbarch *gdbarch,
|
||||||
struct regcache *regcache);
|
struct regcache *regcache);
|
||||||
|
|
||||||
|
|||||||
@@ -34,11 +34,6 @@
|
|||||||
#include "dictionary.h"
|
#include "dictionary.h"
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
/* For cleanup_undefined_stabs_types and finish_global_stabs (somewhat
|
|
||||||
questionable--see comment where we call them). */
|
|
||||||
|
|
||||||
#include "stabsread.h"
|
|
||||||
|
|
||||||
/* List of blocks already made (lexical contexts already closed).
|
/* List of blocks already made (lexical contexts already closed).
|
||||||
This is used at the end to make the blockvector. */
|
This is used at the end to make the blockvector. */
|
||||||
|
|
||||||
@@ -806,19 +801,6 @@ buildsym_compunit::end_compunit_symtab_get_static_block (CORE_ADDR end_addr,
|
|||||||
pb->block = barray[i++];
|
pb->block = barray[i++];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Cleanup any undefined types that have been left hanging around
|
|
||||||
(this needs to be done before the finish_blocks so that
|
|
||||||
file_symbols is still good).
|
|
||||||
|
|
||||||
Both cleanup_undefined_stabs_types and finish_global_stabs are stabs
|
|
||||||
specific, but harmless for other symbol readers, since on gdb
|
|
||||||
startup or when finished reading stabs, the state is set so these
|
|
||||||
are no-ops. FIXME: Is this handled right in case of QUIT? Can
|
|
||||||
we make this cleaner? */
|
|
||||||
|
|
||||||
cleanup_undefined_stabs_types (m_objfile);
|
|
||||||
finish_global_stabs (m_objfile);
|
|
||||||
|
|
||||||
if (!required
|
if (!required
|
||||||
&& m_pending_blocks == NULL
|
&& m_pending_blocks == NULL
|
||||||
&& m_file_symbols == NULL
|
&& m_file_symbols == NULL
|
||||||
|
|||||||
@@ -74,6 +74,15 @@ explicit_lookup_type (int real_filenum, int index)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
const registry<objfile>::key<dbx_symfile_info> dbx_objfile_data_key;
|
||||||
|
|
||||||
|
/* This could leak memory, but it will be removed soon, so it
|
||||||
|
shouldn't have a large impact. */
|
||||||
|
dbx_symfile_info::~dbx_symfile_info ()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/* Scan and build partial symbols for a symbol file.
|
/* Scan and build partial symbols for a symbol file.
|
||||||
We have been initialized by a call to dbx_symfile_init, which
|
We have been initialized by a call to dbx_symfile_init, which
|
||||||
put all the relevant info into a "struct dbx_symfile_info",
|
put all the relevant info into a "struct dbx_symfile_info",
|
||||||
|
|||||||
@@ -94,15 +94,15 @@ SET_TEXINPUTS = \
|
|||||||
TEXINPUTS=${TEXIDIR}:.:$(srcdir):$(READLINE_DIR):$(GDBMI_DIR):$$TEXINPUTS
|
TEXINPUTS=${TEXIDIR}:.:$(srcdir):$(READLINE_DIR):$(GDBMI_DIR):$$TEXINPUTS
|
||||||
|
|
||||||
# Files which should be generated via 'info' and installed by 'install-info'
|
# Files which should be generated via 'info' and installed by 'install-info'
|
||||||
INFO_DEPS = gdb.info stabs.info annotate.info
|
INFO_DEPS = gdb.info annotate.info
|
||||||
|
|
||||||
# Files which should be generated via 'dvi' and installed by 'install-dvi'
|
# Files which should be generated via 'dvi' and installed by 'install-dvi'
|
||||||
DVIFILES = gdb.dvi stabs.dvi refcard.dvi annotate.dvi
|
DVIFILES = gdb.dvi refcard.dvi annotate.dvi
|
||||||
# Files which should be generated via 'pdf' and installed by 'install-pdf'
|
# Files which should be generated via 'pdf' and installed by 'install-pdf'
|
||||||
PDFFILES = gdb.pdf stabs.pdf refcard.pdf annotate.pdf
|
PDFFILES = gdb.pdf refcard.pdf annotate.pdf
|
||||||
# Files which should be generated via 'html' and installed by 'install-html'
|
# Files which should be generated via 'html' and installed by 'install-html'
|
||||||
HTMLFILES = gdb/index.html stabs/index.html annotate/index.html
|
HTMLFILES = gdb/index.html annotate/index.html
|
||||||
HTMLFILES_INSTALL = gdb stabs annotate
|
HTMLFILES_INSTALL = gdb annotate
|
||||||
|
|
||||||
# There may be alternate predefined collections of switches to configure
|
# There may be alternate predefined collections of switches to configure
|
||||||
# the GDB manual. Normally this is not done in synch with the software
|
# the GDB manual. Normally this is not done in synch with the software
|
||||||
@@ -156,17 +156,6 @@ GDB_DOC_FILES = \
|
|||||||
$(GDB_DOC_SOURCE_INCLUDES) \
|
$(GDB_DOC_SOURCE_INCLUDES) \
|
||||||
$(GDB_DOC_BUILD_INCLUDES)
|
$(GDB_DOC_BUILD_INCLUDES)
|
||||||
|
|
||||||
# Stabs manual: All files
|
|
||||||
STABS_DOC_SOURCE_INCLUDES = \
|
|
||||||
$(srcdir)/fdl.texi
|
|
||||||
STABS_DOC_BUILD_INCLUDES = \
|
|
||||||
gdb-cfg.texi \
|
|
||||||
GDBvn.texi
|
|
||||||
STABS_DOC_FILES = \
|
|
||||||
$(srcdir)/stabs.texinfo \
|
|
||||||
$(STABS_DOC_SOURCE_INCLUDES) \
|
|
||||||
$(STABS_DOC_BUILD_INCLUDES)
|
|
||||||
|
|
||||||
# Annotate migration document
|
# Annotate migration document
|
||||||
ANNOTATE_DOC_SOURCE_INCLUDES = \
|
ANNOTATE_DOC_SOURCE_INCLUDES = \
|
||||||
$(srcdir)/fdl.texi
|
$(srcdir)/fdl.texi
|
||||||
@@ -207,7 +196,7 @@ all: info
|
|||||||
|
|
||||||
info: $(INFO_DEPS)
|
info: $(INFO_DEPS)
|
||||||
dvi: $(DVIFILES)
|
dvi: $(DVIFILES)
|
||||||
ps: gdb.ps stabs.ps refcard.ps annotate.ps
|
ps: gdb.ps refcard.ps annotate.ps
|
||||||
html: $(HTMLFILES)
|
html: $(HTMLFILES)
|
||||||
pdf: $(PDFFILES)
|
pdf: $(PDFFILES)
|
||||||
man: $(MANS)
|
man: $(MANS)
|
||||||
@@ -593,29 +582,6 @@ gdb/index.html: ${GDB_DOC_FILES}
|
|||||||
$(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
|
$(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
|
||||||
$(srcdir)/gdb.texinfo
|
$(srcdir)/gdb.texinfo
|
||||||
|
|
||||||
stabs.info: $(STABS_DOC_FILES)
|
|
||||||
$(ECHO_MAKEINFO) $(MAKEINFO_CMD) -I $(srcdir) -o stabs.info $(srcdir)/stabs.texinfo
|
|
||||||
|
|
||||||
# STABS DOCUMENTATION: HTML file
|
|
||||||
|
|
||||||
stabs/index.html: $(STABS_DOC_FILES)
|
|
||||||
$(ECHO_GEN) $(MAKEHTML) $(MAKEHTMLFLAGS) \
|
|
||||||
-o stabs \
|
|
||||||
-I $(srcdir) \
|
|
||||||
$(srcdir)/stabs.texinfo
|
|
||||||
|
|
||||||
# STABS DOCUMENTATION: TeX dvi file
|
|
||||||
stabs.dvi : $(STABS_DOC_FILES)
|
|
||||||
$(ECHO_TEXI2DVI) $(TEXI2DVI_CMD) $(SILENT_Q_FLAG) -I $(srcdir) \
|
|
||||||
$(srcdir)/stabs.texinfo
|
|
||||||
|
|
||||||
stabs.ps: stabs.dvi
|
|
||||||
$(ECHO_DVIPS) $(DVIPS) $(SILENT_Q_FLAG) -o $@ $?
|
|
||||||
|
|
||||||
stabs.pdf: $(STABS_DOC_FILES)
|
|
||||||
$(ECHO_TEXI2DVI) $(TEXI2DVI_CMD) $(SILENT_Q_FLAG) --pdf -I $(srcdir) \
|
|
||||||
$(srcdir)/stabs.texinfo
|
|
||||||
|
|
||||||
# ANNOTATE DOCUMENTATION: TeX dvi file
|
# ANNOTATE DOCUMENTATION: TeX dvi file
|
||||||
annotate.dvi : $(ANNOTATE_DOC_FILES)
|
annotate.dvi : $(ANNOTATE_DOC_FILES)
|
||||||
$(ECHO_TEXI2DVI) $(TEXI2DVI_CMD) $(SILENT_Q_FLAG) -I $(srcdir) \
|
$(ECHO_TEXI2DVI) $(TEXI2DVI_CMD) $(SILENT_Q_FLAG) -I $(srcdir) \
|
||||||
|
|||||||
@@ -20453,7 +20453,7 @@ if the debug information provides it, the program that compiled the file
|
|||||||
(which may include, e.g., the compiler version and command line arguments),
|
(which may include, e.g., the compiler version and command line arguments),
|
||||||
@item
|
@item
|
||||||
whether the executable includes debugging information for that file, and
|
whether the executable includes debugging information for that file, and
|
||||||
if so, what format the information is in (e.g., STABS, Dwarf 2, etc.), and
|
if so, what format the information is in (e.g., Dwarf 2), and
|
||||||
@item
|
@item
|
||||||
whether the debugging information includes information about
|
whether the debugging information includes information about
|
||||||
preprocessor macros.
|
preprocessor macros.
|
||||||
@@ -22038,9 +22038,7 @@ Warnings and Messages}.)
|
|||||||
|
|
||||||
We have not implemented the two-stage strategy for COFF yet. When the
|
We have not implemented the two-stage strategy for COFF yet. When the
|
||||||
symbol table is stored in COFF format, @code{symbol-file} reads the
|
symbol table is stored in COFF format, @code{symbol-file} reads the
|
||||||
symbol table data in full right away. Note that ``stabs-in-COFF''
|
symbol table data in full right away.
|
||||||
still does the two-stage strategy, since the debug info is actually
|
|
||||||
in stabs format.
|
|
||||||
|
|
||||||
@kindex readnow
|
@kindex readnow
|
||||||
@cindex reading symbols immediately
|
@cindex reading symbols immediately
|
||||||
@@ -23148,7 +23146,7 @@ Instead you must do, for example,
|
|||||||
$ gdb -iex "set use-deprecated-index-sections on" <program>
|
$ gdb -iex "set use-deprecated-index-sections on" <program>
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
Indices only work when using DWARF debugging information, not stabs.
|
Indices only work when using DWARF debugging information.
|
||||||
|
|
||||||
@subsection Automatic symbol index cache
|
@subsection Automatic symbol index cache
|
||||||
|
|
||||||
@@ -42476,14 +42474,13 @@ and the full path if known.
|
|||||||
This command prints, for each object file in the program, various data
|
This command prints, for each object file in the program, various data
|
||||||
about that object file followed by the byte cache (@dfn{bcache})
|
about that object file followed by the byte cache (@dfn{bcache})
|
||||||
statistics for the object file. The objfile data includes the number
|
statistics for the object file. The objfile data includes the number
|
||||||
of minimal, partial, full, and stabs symbols, the number of types
|
of minimal, partial, and full, the number of types defined by the
|
||||||
defined by the objfile, the number of as yet unexpanded psym tables,
|
objfile, the number of as yet unexpanded psym tables, the number of
|
||||||
the number of line tables and string tables, and the amount of memory
|
line tables and string tables, and the amount of memory used by the
|
||||||
used by the various tables. The bcache statistics include the counts,
|
various tables. The bcache statistics include the counts, sizes, and
|
||||||
sizes, and counts of duplicates of all and unique objects, max,
|
counts of duplicates of all and unique objects, max, average, and
|
||||||
average, and median entry size, total memory used and its overhead and
|
median entry size, total memory used and its overhead and savings,
|
||||||
savings, and various measures of the hash table size and chain
|
and various measures of the hash table size and chain lengths.
|
||||||
lengths.
|
|
||||||
|
|
||||||
@kindex maint print target-stack
|
@kindex maint print target-stack
|
||||||
@cindex target stack description
|
@cindex target stack description
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -140,7 +140,6 @@ struct gdbarch
|
|||||||
gdbarch_unwind_sp_ftype *unwind_sp = default_unwind_sp;
|
gdbarch_unwind_sp_ftype *unwind_sp = default_unwind_sp;
|
||||||
gdbarch_frame_num_args_ftype *frame_num_args = nullptr;
|
gdbarch_frame_num_args_ftype *frame_num_args = nullptr;
|
||||||
gdbarch_frame_align_ftype *frame_align = nullptr;
|
gdbarch_frame_align_ftype *frame_align = nullptr;
|
||||||
gdbarch_stabs_argument_has_addr_ftype *stabs_argument_has_addr = default_stabs_argument_has_addr;
|
|
||||||
int frame_red_zone_size = 0;
|
int frame_red_zone_size = 0;
|
||||||
gdbarch_convert_from_func_ptr_addr_ftype *convert_from_func_ptr_addr = convert_from_func_ptr_addr_identity;
|
gdbarch_convert_from_func_ptr_addr_ftype *convert_from_func_ptr_addr = convert_from_func_ptr_addr_identity;
|
||||||
gdbarch_addr_bits_remove_ftype *addr_bits_remove = core_addr_identity;
|
gdbarch_addr_bits_remove_ftype *addr_bits_remove = core_addr_identity;
|
||||||
@@ -409,7 +408,6 @@ verify_gdbarch (struct gdbarch *gdbarch)
|
|||||||
/* Skip verify of unwind_sp, invalid_p == 0. */
|
/* Skip verify of unwind_sp, invalid_p == 0. */
|
||||||
/* Skip verify of frame_num_args, has predicate. */
|
/* Skip verify of frame_num_args, has predicate. */
|
||||||
/* Skip verify of frame_align, has predicate. */
|
/* Skip verify of frame_align, has predicate. */
|
||||||
/* Skip verify of stabs_argument_has_addr, invalid_p == 0. */
|
|
||||||
/* Skip verify of frame_red_zone_size, invalid_p == 0. */
|
/* Skip verify of frame_red_zone_size, invalid_p == 0. */
|
||||||
/* Skip verify of convert_from_func_ptr_addr, invalid_p == 0. */
|
/* Skip verify of convert_from_func_ptr_addr, invalid_p == 0. */
|
||||||
/* Skip verify of addr_bits_remove, invalid_p == 0. */
|
/* Skip verify of addr_bits_remove, invalid_p == 0. */
|
||||||
@@ -910,9 +908,6 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file)
|
|||||||
gdb_printf (file,
|
gdb_printf (file,
|
||||||
"gdbarch_dump: frame_align = <%s>\n",
|
"gdbarch_dump: frame_align = <%s>\n",
|
||||||
host_address_to_string (gdbarch->frame_align));
|
host_address_to_string (gdbarch->frame_align));
|
||||||
gdb_printf (file,
|
|
||||||
"gdbarch_dump: stabs_argument_has_addr = <%s>\n",
|
|
||||||
host_address_to_string (gdbarch->stabs_argument_has_addr));
|
|
||||||
gdb_printf (file,
|
gdb_printf (file,
|
||||||
"gdbarch_dump: frame_red_zone_size = %s\n",
|
"gdbarch_dump: frame_red_zone_size = %s\n",
|
||||||
plongest (gdbarch->frame_red_zone_size));
|
plongest (gdbarch->frame_red_zone_size));
|
||||||
@@ -3174,23 +3169,6 @@ set_gdbarch_frame_align (struct gdbarch *gdbarch,
|
|||||||
gdbarch->frame_align = frame_align;
|
gdbarch->frame_align = frame_align;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type)
|
|
||||||
{
|
|
||||||
gdb_assert (gdbarch != NULL);
|
|
||||||
gdb_assert (gdbarch->stabs_argument_has_addr != NULL);
|
|
||||||
if (gdbarch_debug >= 2)
|
|
||||||
gdb_printf (gdb_stdlog, "gdbarch_stabs_argument_has_addr called\n");
|
|
||||||
return gdbarch->stabs_argument_has_addr (gdbarch, type);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
set_gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch,
|
|
||||||
gdbarch_stabs_argument_has_addr_ftype stabs_argument_has_addr)
|
|
||||||
{
|
|
||||||
gdbarch->stabs_argument_has_addr = stabs_argument_has_addr;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
int
|
||||||
gdbarch_frame_red_zone_size (struct gdbarch *gdbarch)
|
gdbarch_frame_red_zone_size (struct gdbarch *gdbarch)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -666,10 +666,6 @@ typedef CORE_ADDR (gdbarch_frame_align_ftype) (struct gdbarch *gdbarch, CORE_ADD
|
|||||||
extern CORE_ADDR gdbarch_frame_align (struct gdbarch *gdbarch, CORE_ADDR address);
|
extern CORE_ADDR gdbarch_frame_align (struct gdbarch *gdbarch, CORE_ADDR address);
|
||||||
extern void set_gdbarch_frame_align (struct gdbarch *gdbarch, gdbarch_frame_align_ftype *frame_align);
|
extern void set_gdbarch_frame_align (struct gdbarch *gdbarch, gdbarch_frame_align_ftype *frame_align);
|
||||||
|
|
||||||
typedef int (gdbarch_stabs_argument_has_addr_ftype) (struct gdbarch *gdbarch, struct type *type);
|
|
||||||
extern int gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type);
|
|
||||||
extern void set_gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch, gdbarch_stabs_argument_has_addr_ftype *stabs_argument_has_addr);
|
|
||||||
|
|
||||||
extern int gdbarch_frame_red_zone_size (struct gdbarch *gdbarch);
|
extern int gdbarch_frame_red_zone_size (struct gdbarch *gdbarch);
|
||||||
extern void set_gdbarch_frame_red_zone_size (struct gdbarch *gdbarch, int frame_red_zone_size);
|
extern void set_gdbarch_frame_red_zone_size (struct gdbarch *gdbarch, int frame_red_zone_size);
|
||||||
|
|
||||||
|
|||||||
@@ -1201,14 +1201,6 @@ Method(
|
|||||||
predicate=True,
|
predicate=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
Method(
|
|
||||||
type="int",
|
|
||||||
name="stabs_argument_has_addr",
|
|
||||||
params=[("struct type *", "type")],
|
|
||||||
predefault="default_stabs_argument_has_addr",
|
|
||||||
invalid=False,
|
|
||||||
)
|
|
||||||
|
|
||||||
Value(
|
Value(
|
||||||
type="int",
|
type="int",
|
||||||
name="frame_red_zone_size",
|
name="frame_red_zone_size",
|
||||||
|
|||||||
@@ -584,12 +584,6 @@ microblaze_return_value (struct gdbarch *gdbarch, struct value *function,
|
|||||||
return RETURN_VALUE_REGISTER_CONVENTION;
|
return RETURN_VALUE_REGISTER_CONVENTION;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
|
||||||
microblaze_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type)
|
|
||||||
{
|
|
||||||
return (type->length () == 16);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Return next pc values : next in sequence and/or branch/return target. */
|
/* Return next pc values : next in sequence and/or branch/return target. */
|
||||||
|
|
||||||
static std::vector<CORE_ADDR>
|
static std::vector<CORE_ADDR>
|
||||||
@@ -794,8 +788,6 @@ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
|||||||
set_gdbarch_call_dummy_location (gdbarch, ON_STACK);
|
set_gdbarch_call_dummy_location (gdbarch, ON_STACK);
|
||||||
|
|
||||||
set_gdbarch_return_value (gdbarch, microblaze_return_value);
|
set_gdbarch_return_value (gdbarch, microblaze_return_value);
|
||||||
set_gdbarch_stabs_argument_has_addr
|
|
||||||
(gdbarch, microblaze_stabs_argument_has_addr);
|
|
||||||
|
|
||||||
set_gdbarch_skip_prologue (gdbarch, microblaze_skip_prologue);
|
set_gdbarch_skip_prologue (gdbarch, microblaze_skip_prologue);
|
||||||
|
|
||||||
|
|||||||
@@ -152,9 +152,6 @@ struct objstats
|
|||||||
/* Number of full symbols read. */
|
/* Number of full symbols read. */
|
||||||
int n_syms = 0;
|
int n_syms = 0;
|
||||||
|
|
||||||
/* Number of ".stabs" read (if applicable). */
|
|
||||||
int n_stabs = 0;
|
|
||||||
|
|
||||||
/* Number of types. */
|
/* Number of types. */
|
||||||
int n_types = 0;
|
int n_types = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -1540,14 +1540,6 @@ sparc32_return_value (struct gdbarch *gdbarch, struct value *function,
|
|||||||
return RETURN_VALUE_REGISTER_CONVENTION;
|
return RETURN_VALUE_REGISTER_CONVENTION;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
|
||||||
sparc32_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type)
|
|
||||||
{
|
|
||||||
return (sparc_structure_or_union_p (type)
|
|
||||||
|| (sparc_floating_p (type) && type->length () == 16)
|
|
||||||
|| sparc_complex_floating_p (type));
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
sparc32_dwarf2_struct_return_p (const frame_info_ptr &this_frame)
|
sparc32_dwarf2_struct_return_p (const frame_info_ptr &this_frame)
|
||||||
{
|
{
|
||||||
@@ -1859,8 +1851,6 @@ sparc32_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
|||||||
set_gdbarch_push_dummy_call (gdbarch, sparc32_push_dummy_call);
|
set_gdbarch_push_dummy_call (gdbarch, sparc32_push_dummy_call);
|
||||||
|
|
||||||
set_gdbarch_return_value_as_value (gdbarch, sparc32_return_value);
|
set_gdbarch_return_value_as_value (gdbarch, sparc32_return_value);
|
||||||
set_gdbarch_stabs_argument_has_addr
|
|
||||||
(gdbarch, sparc32_stabs_argument_has_addr);
|
|
||||||
|
|
||||||
set_gdbarch_skip_prologue (gdbarch, sparc32_skip_prologue);
|
set_gdbarch_skip_prologue (gdbarch, sparc32_skip_prologue);
|
||||||
|
|
||||||
|
|||||||
@@ -1838,8 +1838,6 @@ sparc64_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
|||||||
|
|
||||||
set_gdbarch_return_value (gdbarch, sparc64_return_value);
|
set_gdbarch_return_value (gdbarch, sparc64_return_value);
|
||||||
set_gdbarch_return_value_as_value (gdbarch, default_gdbarch_return_value);
|
set_gdbarch_return_value_as_value (gdbarch, default_gdbarch_return_value);
|
||||||
set_gdbarch_stabs_argument_has_addr
|
|
||||||
(gdbarch, default_stabs_argument_has_addr);
|
|
||||||
|
|
||||||
set_gdbarch_skip_prologue (gdbarch, sparc64_skip_prologue);
|
set_gdbarch_skip_prologue (gdbarch, sparc64_skip_prologue);
|
||||||
set_gdbarch_stack_frame_destroyed_p (gdbarch, sparc_stack_frame_destroyed_p);
|
set_gdbarch_stack_frame_destroyed_p (gdbarch, sparc_stack_frame_destroyed_p);
|
||||||
|
|||||||
7209
gdb/stabsread.c
7209
gdb/stabsread.c
File diff suppressed because it is too large
Load Diff
309
gdb/stabsread.h
309
gdb/stabsread.h
@@ -1,309 +0,0 @@
|
|||||||
/* Include file for stabs debugging format support functions.
|
|
||||||
Copyright (C) 1986-2025 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This file is part of GDB.
|
|
||||||
|
|
||||||
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 <http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#ifndef GDB_STABSREAD_H
|
|
||||||
#define GDB_STABSREAD_H
|
|
||||||
|
|
||||||
#include "buildsym-legacy.h"
|
|
||||||
|
|
||||||
struct objfile;
|
|
||||||
struct legacy_psymtab;
|
|
||||||
enum language;
|
|
||||||
|
|
||||||
/* Definitions, prototypes, etc for stabs debugging format support
|
|
||||||
functions. */
|
|
||||||
|
|
||||||
/* Count symbols as they are processed, for error messages. */
|
|
||||||
|
|
||||||
extern unsigned int symnum;
|
|
||||||
|
|
||||||
#define next_symbol_text(objfile) (*next_symbol_text_func)(objfile)
|
|
||||||
|
|
||||||
/* Function to invoke get the next symbol. Return the symbol name. */
|
|
||||||
|
|
||||||
extern const char *(*next_symbol_text_func) (struct objfile *);
|
|
||||||
|
|
||||||
/* Global variable which, when set, indicates that we are processing a
|
|
||||||
.o file compiled with gcc */
|
|
||||||
|
|
||||||
extern unsigned char processing_gcc_compilation;
|
|
||||||
|
|
||||||
/* Nonzero if within a function (so symbols should be local, if
|
|
||||||
nothing says specifically). */
|
|
||||||
|
|
||||||
extern int within_function;
|
|
||||||
|
|
||||||
/* Hash table of global symbols whose values are not known yet.
|
|
||||||
They are chained through the SYMBOL_VALUE_CHAIN, since we don't
|
|
||||||
have the correct data for that slot yet.
|
|
||||||
|
|
||||||
The use of the LOC_BLOCK code in this chain is nonstandard--
|
|
||||||
it refers to a FORTRAN common block rather than the usual meaning, and
|
|
||||||
the such LOC_BLOCK symbols use their fields in nonstandard ways. */
|
|
||||||
|
|
||||||
extern struct symbol *global_sym_chain[HASHSIZE];
|
|
||||||
|
|
||||||
extern void common_block_start (const char *, struct objfile *);
|
|
||||||
extern void common_block_end (struct objfile *);
|
|
||||||
|
|
||||||
/* Kludge for xcoffread.c */
|
|
||||||
|
|
||||||
struct pending_stabs
|
|
||||||
{
|
|
||||||
int count;
|
|
||||||
int length;
|
|
||||||
char *stab[1];
|
|
||||||
};
|
|
||||||
|
|
||||||
extern struct pending_stabs *global_stabs;
|
|
||||||
|
|
||||||
/* The type code that process_one_symbol saw on its previous invocation.
|
|
||||||
Used to detect pairs of N_SO symbols. */
|
|
||||||
|
|
||||||
extern int previous_stab_code;
|
|
||||||
|
|
||||||
/* Support for Sun changes to dbx symbol format. */
|
|
||||||
|
|
||||||
/* For each identified header file, we have a table of types defined
|
|
||||||
in that header file.
|
|
||||||
|
|
||||||
header_files maps header file names to their type tables.
|
|
||||||
It is a vector of n_header_files elements.
|
|
||||||
Each element describes one header file.
|
|
||||||
It contains a vector of types.
|
|
||||||
|
|
||||||
Sometimes it can happen that the same header file produces
|
|
||||||
different results when included in different places.
|
|
||||||
This can result from conditionals or from different
|
|
||||||
things done before including the file.
|
|
||||||
When this happens, there are multiple entries for the file in this table,
|
|
||||||
one entry for each distinct set of results.
|
|
||||||
The entries are distinguished by the INSTANCE field.
|
|
||||||
The INSTANCE field appears in the N_BINCL and N_EXCL symbol table and is
|
|
||||||
used to match header-file references to their corresponding data. */
|
|
||||||
|
|
||||||
struct header_file
|
|
||||||
{
|
|
||||||
|
|
||||||
/* Name of header file */
|
|
||||||
|
|
||||||
char *name;
|
|
||||||
|
|
||||||
/* Numeric code distinguishing instances of one header file that
|
|
||||||
produced different results when included. It comes from the
|
|
||||||
N_BINCL or N_EXCL. */
|
|
||||||
|
|
||||||
int instance;
|
|
||||||
|
|
||||||
/* Pointer to vector of types */
|
|
||||||
|
|
||||||
struct type **vector;
|
|
||||||
|
|
||||||
/* Allocated length (# elts) of that vector */
|
|
||||||
|
|
||||||
int length;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
/* The table of header_files of this OBJFILE. */
|
|
||||||
#define HEADER_FILES(OBJFILE) (DBX_SYMFILE_INFO (OBJFILE)->header_files)
|
|
||||||
|
|
||||||
/* The actual length of HEADER_FILES. */
|
|
||||||
#define N_HEADER_FILES(OBJFILE) (DBX_SYMFILE_INFO (OBJFILE)->n_header_files)
|
|
||||||
|
|
||||||
/* The allocated length of HEADER_FILES. */
|
|
||||||
#define N_ALLOCATED_HEADER_FILES(OBJFILE) \
|
|
||||||
(DBX_SYMFILE_INFO (OBJFILE)->n_allocated_header_files)
|
|
||||||
|
|
||||||
/* Within each object file, various header files are assigned numbers.
|
|
||||||
A type is defined or referred to with a pair of numbers
|
|
||||||
(FILENUM,TYPENUM) where FILENUM is the number of the header file
|
|
||||||
and TYPENUM is the number within that header file.
|
|
||||||
TYPENUM is the index within the vector of types for that header file.
|
|
||||||
|
|
||||||
FILENUM == 0 is special; it refers to the main source of the object file,
|
|
||||||
and not to any header file. FILENUM != 1 is interpreted by looking it up
|
|
||||||
in the following table, which contains indices in header_files. */
|
|
||||||
|
|
||||||
extern int *this_object_header_files;
|
|
||||||
|
|
||||||
extern int n_this_object_header_files;
|
|
||||||
|
|
||||||
extern int n_allocated_this_object_header_files;
|
|
||||||
|
|
||||||
extern void cleanup_undefined_stabs_types (struct objfile *);
|
|
||||||
|
|
||||||
extern long read_number (char **, int);
|
|
||||||
|
|
||||||
extern struct symbol *define_symbol (CORE_ADDR, const char *, int, int,
|
|
||||||
struct objfile *);
|
|
||||||
|
|
||||||
extern void stabsread_init (void);
|
|
||||||
|
|
||||||
extern void stabsread_new_init (void);
|
|
||||||
|
|
||||||
extern void start_stabs (void);
|
|
||||||
|
|
||||||
extern void end_stabs (void);
|
|
||||||
|
|
||||||
extern void finish_global_stabs (struct objfile *objfile);
|
|
||||||
|
|
||||||
class psymtab_storage;
|
|
||||||
|
|
||||||
/* Functions exported by dbxread.c. These are not in stabsread.c because
|
|
||||||
they are only used by some stabs readers. */
|
|
||||||
|
|
||||||
extern legacy_psymtab *stabs_end_psymtab
|
|
||||||
(struct objfile *objfile, psymtab_storage *partial_symtabs,
|
|
||||||
legacy_psymtab *pst,
|
|
||||||
const char **include_list, int num_includes,
|
|
||||||
int capping_symbol_offset, unrelocated_addr capping_text,
|
|
||||||
legacy_psymtab **dependency_list, int number_dependencies,
|
|
||||||
int textlow_not_set);
|
|
||||||
|
|
||||||
extern void process_one_symbol (int, int, CORE_ADDR, const char *,
|
|
||||||
const section_offsets &,
|
|
||||||
struct objfile *, enum language);
|
|
||||||
|
|
||||||
/* Setup partial_symtab's describing each source file for which
|
|
||||||
debugging information is available. */
|
|
||||||
|
|
||||||
void
|
|
||||||
read_stabs_symtab (struct objfile *, symfile_add_flags);
|
|
||||||
|
|
||||||
extern void elfstab_build_psymtabs (struct objfile *objfile,
|
|
||||||
asection *stabsect,
|
|
||||||
file_ptr stabstroffset,
|
|
||||||
unsigned int stabstrsize);
|
|
||||||
|
|
||||||
extern void coffstab_build_psymtabs
|
|
||||||
(struct objfile *objfile,
|
|
||||||
CORE_ADDR textaddr, unsigned int textsize,
|
|
||||||
const std::vector<asection *> &stabs,
|
|
||||||
file_ptr stabstroffset, unsigned int stabstrsize);
|
|
||||||
|
|
||||||
extern int symbol_reference_defined (const char **);
|
|
||||||
|
|
||||||
extern void ref_add (int, struct symbol *, const char *, CORE_ADDR);
|
|
||||||
|
|
||||||
extern struct symbol *ref_search (int);
|
|
||||||
|
|
||||||
extern void free_header_files (void);
|
|
||||||
|
|
||||||
extern void init_header_files (void);
|
|
||||||
|
|
||||||
/* Scan through all of the global symbols defined in the object file,
|
|
||||||
assigning values to the debugging symbols that need to be assigned
|
|
||||||
to. Get these symbols from the minimal symbol table. */
|
|
||||||
|
|
||||||
extern void scan_file_globals (struct objfile *objfile);
|
|
||||||
|
|
||||||
/* Complaints about the symbols we have encountered. */
|
|
||||||
|
|
||||||
void
|
|
||||||
unknown_symtype_complaint (const char *);
|
|
||||||
|
|
||||||
void
|
|
||||||
lbrac_mismatch_complaint (int);
|
|
||||||
|
|
||||||
void
|
|
||||||
repeated_header_complaint (const char *, int);
|
|
||||||
|
|
||||||
bound_minimal_symbol
|
|
||||||
find_stab_function (const char *, const char *, struct objfile *);
|
|
||||||
|
|
||||||
/* This handles a single symbol from the symbol-file, building symbols
|
|
||||||
into a GDB symtab. It takes these arguments and an implicit argument.
|
|
||||||
|
|
||||||
TYPE is the type field of the ".stab" symbol entry.
|
|
||||||
DESC is the desc field of the ".stab" entry.
|
|
||||||
VALU is the value field of the ".stab" entry.
|
|
||||||
NAME is the symbol name, in our address space.
|
|
||||||
SECTION_OFFSETS is a set of amounts by which the sections of this
|
|
||||||
object file were relocated when it was loaded into memory. Note
|
|
||||||
that these section_offsets are not the objfile->section_offsets but
|
|
||||||
the pst->section_offsets. All symbols that refer to memory
|
|
||||||
locations need to be offset by these amounts.
|
|
||||||
OBJFILE is the object file from which we are reading symbols. It
|
|
||||||
is used in end_compunit_symtab.
|
|
||||||
LANGUAGE is the language of the symtab.
|
|
||||||
*/
|
|
||||||
|
|
||||||
void
|
|
||||||
process_one_symbol (int, int, CORE_ADDR, const char *,
|
|
||||||
const section_offsets &,
|
|
||||||
struct objfile *, enum language);
|
|
||||||
|
|
||||||
#define LDSYMOFF(p) (((struct symloc *)((p)->read_symtab_private))->ldsymoff)
|
|
||||||
#define LDSYMLEN(p) (((struct symloc *)((p)->read_symtab_private))->ldsymlen)
|
|
||||||
#define SYMLOC(p) ((struct symloc *)((p)->read_symtab_private))
|
|
||||||
#define SYMBOL_SIZE(p) (SYMLOC(p)->symbol_size)
|
|
||||||
#define SYMBOL_OFFSET(p) (SYMLOC(p)->symbol_offset)
|
|
||||||
#define STRING_OFFSET(p) (SYMLOC(p)->string_offset)
|
|
||||||
#define FILE_STRING_OFFSET(p) (SYMLOC(p)->file_string_offset)
|
|
||||||
#define PST_LANGUAGE(p) (SYMLOC(p)->pst_language)
|
|
||||||
|
|
||||||
#define INTERNALIZE_SYMBOL(intern, extern, abfd) \
|
|
||||||
{ \
|
|
||||||
(intern).n_strx = bfd_h_get_32 (abfd, (extern)->e_strx); \
|
|
||||||
(intern).n_type = bfd_h_get_8 (abfd, (extern)->e_type); \
|
|
||||||
(intern).n_other = 0; \
|
|
||||||
(intern).n_desc = bfd_h_get_16 (abfd, (extern)->e_desc); \
|
|
||||||
if (bfd_get_sign_extend_vma (abfd)) \
|
|
||||||
(intern).n_value = bfd_h_get_signed_32 (abfd, (extern)->e_value); \
|
|
||||||
else \
|
|
||||||
(intern).n_value = bfd_h_get_32 (abfd, (extern)->e_value); \
|
|
||||||
}
|
|
||||||
|
|
||||||
/* We put a pointer to this structure in the read_symtab_private field
|
|
||||||
of the psymtab. */
|
|
||||||
|
|
||||||
struct symloc
|
|
||||||
{
|
|
||||||
/* Offset within the file symbol table of first local symbol for this
|
|
||||||
file. */
|
|
||||||
|
|
||||||
int ldsymoff;
|
|
||||||
|
|
||||||
/* Length (in bytes) of the section of the symbol table devoted to
|
|
||||||
this file's symbols (actually, the section bracketed may contain
|
|
||||||
more than just this file's symbols). If ldsymlen is 0, the only
|
|
||||||
reason for this thing's existence is the dependency list. Nothing
|
|
||||||
else will happen when it is read in. */
|
|
||||||
|
|
||||||
int ldsymlen;
|
|
||||||
|
|
||||||
/* The size of each symbol in the symbol file (in external form). */
|
|
||||||
|
|
||||||
int symbol_size;
|
|
||||||
|
|
||||||
/* Further information needed to locate the symbols if they are in
|
|
||||||
an ELF file. */
|
|
||||||
|
|
||||||
int symbol_offset;
|
|
||||||
int string_offset;
|
|
||||||
int file_string_offset;
|
|
||||||
enum language pst_language;
|
|
||||||
};
|
|
||||||
|
|
||||||
static inline void
|
|
||||||
stabs_deprecated_warning ()
|
|
||||||
{
|
|
||||||
warning (_("Stabs support is deprecated and will be removed soon."));
|
|
||||||
}
|
|
||||||
#endif /* GDB_STABSREAD_H */
|
|
||||||
@@ -59,9 +59,6 @@ print_objfile_statistics (void)
|
|||||||
{
|
{
|
||||||
QUIT;
|
QUIT;
|
||||||
gdb_printf (_("Statistics for '%s':\n"), objfile_name (&objfile));
|
gdb_printf (_("Statistics for '%s':\n"), objfile_name (&objfile));
|
||||||
if (OBJSTAT ((&objfile), n_stabs) > 0)
|
|
||||||
gdb_printf (_(" Number of \"stab\" symbols read: %d\n"),
|
|
||||||
OBJSTAT ((&objfile), n_stabs));
|
|
||||||
if (objfile.per_bfd->n_minsyms > 0)
|
if (objfile.per_bfd->n_minsyms > 0)
|
||||||
gdb_printf (_(" Number of \"minimal\" symbols read: %d\n"),
|
gdb_printf (_(" Number of \"minimal\" symbols read: %d\n"),
|
||||||
objfile.per_bfd->n_minsyms);
|
objfile.per_bfd->n_minsyms);
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
s/# Irix4 sed blows up if you have a sed command starting with "#"//
|
|
||||||
s/# Avoid it by putting the comments within real sed commands.//
|
|
||||||
s/# GDB legitimately expects a file name.//
|
|
||||||
s/# The sun3 assembler bogusly requires that the value of this stab be a//
|
|
||||||
s/# label. Placate it.//
|
|
||||||
1i\
|
|
||||||
.stabs "weird.c",0x64,0,0,Label0\
|
|
||||||
Label0:
|
|
||||||
s/N_LSYM/0x80/
|
|
||||||
s/N_GSYM/0x20/
|
|
||||||
s/# Replace a single backslash with a doubled backslash//
|
|
||||||
/\.stabs/s/\\\([^"]\)/\\\\\1/g
|
|
||||||
s/\.begin_common\(.*\)/.stabs \1,0xe2,0,0,0/
|
|
||||||
s/\.end_common\(.*\)/.stabs \1,0xe4,0,0,0/
|
|
||||||
s/\.align_it/.align 2/
|
|
||||||
/^#/d
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
# GDB legitimately expects a file name.
|
|
||||||
1i\
|
|
||||||
.file 1 "weird.c"\
|
|
||||||
\ #@stabs\
|
|
||||||
\ #.stabs "weird.c",0x64,0,0,0
|
|
||||||
/^#/d
|
|
||||||
s/" *, */",/g
|
|
||||||
s/\([0-9]\) *, */\1,/g
|
|
||||||
s/ *$//
|
|
||||||
s/N_LSYM/0x80/
|
|
||||||
s/N_GSYM/0x20/
|
|
||||||
s/\.begin_common\(.*\)/.stabs \1,0xe2,0,0,0/
|
|
||||||
s/\.end_common\(.*\)/.stabs \1,0xe4,0,0,0/
|
|
||||||
s/\.align_it/.align 2/
|
|
||||||
/.if/d
|
|
||||||
/.endif/d
|
|
||||||
s/\.stabs/ #.stabs/
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
# Copyright 2004-2025 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 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 <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
# Please email any bugs, comments, and/or additions to this file to:
|
|
||||||
# bug-gdb@gnu.org
|
|
||||||
|
|
||||||
#
|
|
||||||
# test running programs
|
|
||||||
#
|
|
||||||
|
|
||||||
standard_testfile exclfwd1.c exclfwd2.c
|
|
||||||
|
|
||||||
include_file exclfwd.h
|
|
||||||
|
|
||||||
if {[prepare_for_testing "failed to prepare" $testfile \
|
|
||||||
[list $srcfile $srcfile2] debug]} {
|
|
||||||
return -1
|
|
||||||
}
|
|
||||||
|
|
||||||
if {![runto_main]} {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
get_debug_format
|
|
||||||
|
|
||||||
gdb_test "ptype v1" \
|
|
||||||
[multi_line \
|
|
||||||
"type = struct a {" \
|
|
||||||
" int x;" \
|
|
||||||
" int y;" \
|
|
||||||
"}"]
|
|
||||||
|
|
||||||
if {[test_debug_format "stabs"]} {
|
|
||||||
setup_kfail "gdb/1602" *-*-*
|
|
||||||
}
|
|
||||||
gdb_test "ptype v2" \
|
|
||||||
[multi_line \
|
|
||||||
"type = struct a {" \
|
|
||||||
" const char .c;" \
|
|
||||||
"}"]
|
|
||||||
|
|
||||||
if {[test_debug_format "stabs"]} {
|
|
||||||
setup_kfail "gdb/1603" *-*-*
|
|
||||||
}
|
|
||||||
gdb_test "ptype v3" "type = const char ."
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
/* This testcase is part of GDB, the GNU debugger.
|
|
||||||
|
|
||||||
Copyright 2004-2025 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 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 <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Please email any bugs, comments, and/or additions to this file to:
|
|
||||||
bug-gdb@gnu.org */
|
|
||||||
|
|
||||||
typedef struct a a_t;
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
/* This testcase is part of GDB, the GNU debugger.
|
|
||||||
|
|
||||||
Copyright 2004-2025 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 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 <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Please email any bugs, comments, and/or additions to this file to:
|
|
||||||
bug-gdb@gnu.org */
|
|
||||||
|
|
||||||
#include "exclfwd.h"
|
|
||||||
|
|
||||||
struct a
|
|
||||||
{
|
|
||||||
int x, y;
|
|
||||||
};
|
|
||||||
|
|
||||||
a_t v1;
|
|
||||||
|
|
||||||
int
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
/* This testcase is part of GDB, the GNU debugger.
|
|
||||||
|
|
||||||
Copyright 2004-2025 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 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 <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Please email any bugs, comments, and/or additions to this file to:
|
|
||||||
bug-gdb@gnu.org */
|
|
||||||
|
|
||||||
#include "exclfwd.h"
|
|
||||||
|
|
||||||
struct a
|
|
||||||
{
|
|
||||||
const char *c;
|
|
||||||
};
|
|
||||||
|
|
||||||
a_t v2;
|
|
||||||
const char *v3;
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
/* This testcase is part of GDB, the GNU debugger.
|
|
||||||
|
|
||||||
Copyright 2010-2025 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
Contributed by Pierre Muller.
|
|
||||||
|
|
||||||
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 <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Qualifiers of forward types are not resolved correctly with stabs. */
|
|
||||||
|
|
||||||
struct dummy;
|
|
||||||
|
|
||||||
enum dummy_enum;
|
|
||||||
|
|
||||||
/* This function prevents the compiler from dropping local variables
|
|
||||||
we need for the test. */
|
|
||||||
void *hack (const struct dummy *t, const enum dummy_enum *e);
|
|
||||||
|
|
||||||
const void *
|
|
||||||
test (const struct dummy *t)
|
|
||||||
{
|
|
||||||
const struct dummy *tt;
|
|
||||||
enum dummy_enum *e;
|
|
||||||
tt = t;
|
|
||||||
return hack (t, e);
|
|
||||||
}
|
|
||||||
|
|
||||||
void *
|
|
||||||
test2 (struct dummy *t)
|
|
||||||
{
|
|
||||||
struct dummy *tt;
|
|
||||||
const enum dummy_enum *e;
|
|
||||||
tt = t;
|
|
||||||
return hack (t, e);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
struct dummy {
|
|
||||||
int x;
|
|
||||||
int y;
|
|
||||||
double b;
|
|
||||||
} tag_dummy;
|
|
||||||
|
|
||||||
enum dummy_enum {
|
|
||||||
enum1,
|
|
||||||
enum2
|
|
||||||
} tag_dummy_enum;
|
|
||||||
|
|
||||||
void *
|
|
||||||
hack (const struct dummy *t, const enum dummy_enum *e)
|
|
||||||
{
|
|
||||||
return (void *) t;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
struct dummy tt;
|
|
||||||
tt.x = 5;
|
|
||||||
tt.y = 25;
|
|
||||||
tt.b = 2.5;
|
|
||||||
test2 (&tt);
|
|
||||||
test (&tt);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
# This testcase is part of GDB, the GNU debugger.
|
|
||||||
|
|
||||||
# Copyright 2010-2025 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 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 <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
# Test GDB stabs problem with qualified parameter of forward types.
|
|
||||||
|
|
||||||
standard_testfile
|
|
||||||
|
|
||||||
proc do_test {version} {
|
|
||||||
with_test_prefix "$version" {
|
|
||||||
if { ![runto_main] } {
|
|
||||||
return -1
|
|
||||||
}
|
|
||||||
gdb_test "rb test" "" "set breakpoints"
|
|
||||||
gdb_test "continue" "Breakpoint .* test2 .*" \
|
|
||||||
"stop at first breakpoint in test2 function"
|
|
||||||
|
|
||||||
# Check that the struct is read in correctly.
|
|
||||||
gdb_test "print *t" ".*\{x = 5, y = 25, b = 2.5\}.*" \
|
|
||||||
"Inspect t in test2"
|
|
||||||
|
|
||||||
# Check that the enum type length has been set to a non-zero value.
|
|
||||||
gdb_test "print sizeof (*e)" "= \[1-9\]*" "sizeof (*e) in test2"
|
|
||||||
|
|
||||||
gdb_test "continue" "Breakpoint .* test .*" \
|
|
||||||
"Stop at first breakpoint test function"
|
|
||||||
|
|
||||||
gdb_test "print *t" ".*\{x = 5, y = 25, b = 2.5\}.*" \
|
|
||||||
"Inspect t in test"
|
|
||||||
|
|
||||||
# Check that the enum type length has been set to a non-zero value.
|
|
||||||
gdb_test "print sizeof (*e)" "= \[1-9\]*" "sizeof (*e) in test"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Compile and test with stabs debug format.
|
|
||||||
if { [prepare_for_testing "failed to prepare" ${testfile}-stabs $srcfile \
|
|
||||||
{debug additional_flags=-gstabs quiet}] == 0 } {
|
|
||||||
do_test forced_stabs
|
|
||||||
}
|
|
||||||
|
|
||||||
# Compile and test with the default debug format.
|
|
||||||
if { [prepare_for_testing "failed to prepare" ${testfile}-default \
|
|
||||||
$srcfile] == 0 } {
|
|
||||||
do_test natural_debug_format
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
s/# Old OSF sed blows up if you have a sed command starting with "#"//
|
|
||||||
s/# Avoid it by putting the comments within real sed commands.//
|
|
||||||
s/# GDB legitimately expects a file name.//
|
|
||||||
s/# The sun3 assembler bogusly requires that the value of this stab be a//
|
|
||||||
s/# label. Placate it.//
|
|
||||||
1i\
|
|
||||||
\ .stabs "weird.c",0x64,0,0,Label0\
|
|
||||||
Label0:
|
|
||||||
s/N_LSYM/0x80/
|
|
||||||
s/N_GSYM/0x20/
|
|
||||||
s/# Replace a single backslash with a doubled backslash//
|
|
||||||
/\.stabs/s/\\/\\\\/g
|
|
||||||
s/# Only labels should be at the beginning of a line, assembler directives//
|
|
||||||
s/# and instructions should start somewhere after column zero.//
|
|
||||||
/^\./s/^\./ ./
|
|
||||||
s/\.begin_common\(.*\)/.stabs \1,0xe2,0,0,0/
|
|
||||||
s/\.end_common\(.*\)/.stabs \1,0xe4,0,0,0/
|
|
||||||
s/\.align_it/.align 4/
|
|
||||||
s/\.globl/.export/
|
|
||||||
/^#/d
|
|
||||||
@@ -1,900 +0,0 @@
|
|||||||
# We'll need an integer type.
|
|
||||||
.stabs "inttype:t1=bu4;0;32;",N_LSYM,0,0,0
|
|
||||||
|
|
||||||
# There are several kinds of tests in here. We mix up the order to see
|
|
||||||
# if we can test for poor handling of a stab affecting the next or previous
|
|
||||||
# stab.
|
|
||||||
|
|
||||||
# Try all possible symbol descriptors. Note that GDB should merely
|
|
||||||
# complain() even though these strings are totally bogus. This allows
|
|
||||||
# future compilers to define new syntaxes.
|
|
||||||
.stabs "sym32: !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
|
|
||||||
# Type descriptors.
|
|
||||||
.stabs "type32:t32= !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
|
|
||||||
# Note that a 'G', N_GSYM symbol needs no value. The name of the stab
|
|
||||||
# is used to look up a non-stab symbol with the same name. On some
|
|
||||||
# machines, the non-stab symbols will normally have underscores, but
|
|
||||||
# if they lack the underscores, then GDB will simply put the symbol in
|
|
||||||
# the minimal symbol table all the same. So we can use them without
|
|
||||||
# underscores and that way we don't need to worry about which machines
|
|
||||||
# need underscores.
|
|
||||||
|
|
||||||
# Type attributes.
|
|
||||||
.stabs "attr104:G404=@h !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr105:G405=@i !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
|
|
||||||
# A few real type attributes.
|
|
||||||
# Alignment.
|
|
||||||
.stabs "var0:G300=@a8;1",N_GSYM,0,0, 0
|
|
||||||
.globl var0
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
var0:
|
|
||||||
.long 42
|
|
||||||
|
|
||||||
.stabs "sym33:! !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym35:# !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym36:$ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym37:% !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym38:& !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym39:' !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym40:( !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym41:) !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym42:* !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym43:+ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym44:, !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym45:- !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
|
|
||||||
.globl attr122
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr122:
|
|
||||||
.long 42
|
|
||||||
.globl attr123
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr123:
|
|
||||||
.long 42
|
|
||||||
.globl attr124
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr124:
|
|
||||||
.long 42
|
|
||||||
|
|
||||||
.stabs "sym46:. !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym47:/ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym48:0 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym49:1 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym50:2 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
|
|
||||||
.stabs "attr96:G396=@` !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr97:G397=@a !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr98:G398=@b !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr99:G399=@c !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
|
|
||||||
.stabs "sym51:3 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym52:4 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym53:5 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym54:6 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym55:7 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym56:8 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym57:9 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym58:: !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym59:; !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym60:< !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym61:= !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym62:> !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym63:? !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym64:@ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym65:A !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym66:B !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym67:C !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym68:D !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym69:E !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym70:F !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym71:G !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym72:H !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym73:I !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym74:J !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym75:K !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym76:L !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym77:M !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym78:N !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym79:O !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym80:P !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym81:Q !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym82:R !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym83:S !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym84:T !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym85:U !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym86:V !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym87:W !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym88:X !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym89:Y !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym90:Z !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym91:[ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
|
|
||||||
.stabs "sym93:] !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym94:^ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym95:_ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym96:` !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym97:a !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym98:b !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym99:c !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym100:d !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym101:e !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym102:f !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym103:g !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym104:h !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym105:i !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym106:j !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym107:k !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym108:l !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym109:m !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym110:n !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym111:o !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym112:p !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym113:q !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym114:r !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym115:s !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym116:t !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym117:u !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym118:v !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym119:w !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym120:x !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym121:y !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym122:z !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym123:{ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym124:| !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym125:} !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "sym126:~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
|
|
||||||
.stabs "type33:t33=! !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type35:t35=# !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type36:t36=$ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type37:t37=% !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type38:t38=& !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type39:t39=' !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type40:t40=( !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type41:t41=) !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type42:t42=* !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type43:t43=+ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type44:t44=, !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type45:t45=- !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type46:t46=. !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type47:t47=/ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type48:t48=0 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type49:t49=1 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type50:t50=2 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type51:t51=3 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type52:t52=4 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type53:t53=5 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type54:t54=6 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type55:t55=7 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type56:t56=8 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type57:t57=9 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type58:t58=: !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type59:t59=; !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type60:t60=< !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type61:t61== !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type62:t62=> !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type63:t63=? !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type64:t64=@ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type65:t65=A !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type66:t66=B !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type67:t67=C !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
|
|
||||||
.globl attr66
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr66:
|
|
||||||
.long 42
|
|
||||||
.globl attr67
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr67:
|
|
||||||
.long 42
|
|
||||||
.globl attr68
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr68:
|
|
||||||
.long 42
|
|
||||||
.globl attr69
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr69:
|
|
||||||
.long 42
|
|
||||||
|
|
||||||
.stabs "type68:t68=D !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type69:t69=E !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type70:t70=F !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type71:t71=G !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type72:t72=H !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type73:t73=I !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type74:t74=J !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type75:t75=K !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type76:t76=L !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type77:t77=M !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type78:t78=N !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type79:t79=O !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type80:t80=P !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type81:t81=Q !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type82:t82=R !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type83:t83=S !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type84:t84=T !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type85:t85=U !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type86:t86=V !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type87:t87=W !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
|
|
||||||
.stabs "attr69:G369=@E !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr70:G370=@F !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr71:G371=@G !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
|
|
||||||
.stabs "type88:t88=X !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type89:t89=Y !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type90:t90=Z !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type91:t91=[ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
|
|
||||||
.stabs "type93:t93=] !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type94:t94=^ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type95:t95=_ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type96:t96=` !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type97:t97=a !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type98:t98=b !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type99:t99=c !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type100:t100=d !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type101:t101=e !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type102:t102=f !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type103:t103=g !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type104:t104=h !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type105:t105=i !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type106:t106=j !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type107:t107=k !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type108:t108=l !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type109:t109=m !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type110:t110=n !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type111:t111=o !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type112:t112=p !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type113:t113=q !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type114:t114=r !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type115:t115=s !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type116:t116=t !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type117:t117=u !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type118:t118=v !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type119:t119=w !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type120:t120=x !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type121:t121=y !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type122:t122=z !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type123:t123={ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type124:t124=| !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type125:t125=} !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type126:t126=~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
|
|
||||||
.stabs "attr32:G332=@ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr33:G333=@! !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr35:G334=@# !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
|
|
||||||
.stabs "attr36:G335=@$ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
|
|
||||||
.stabs "attr37:G337=@% !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
|
|
||||||
# Test 'e' constant on non-enum type.
|
|
||||||
.stabs "const69:c=e1,69", N_LSYM,0,0, 0
|
|
||||||
|
|
||||||
# Test constant with the type embedded.
|
|
||||||
.stabs "const70:c=e190=bs2;0;16;,70", N_LSYM,0,0, 0
|
|
||||||
|
|
||||||
# Test char constant
|
|
||||||
.stabs "constchar:c=c97", N_LSYM,0,0, 0
|
|
||||||
|
|
||||||
# Test string constant
|
|
||||||
.stabs "constString1:c=s'Single quote String1'", N_LSYM,0,0, 0
|
|
||||||
# Using double quotes requires an escaping, as the stabs string
|
|
||||||
# is a double quote delimited string.
|
|
||||||
.stabs "constString2:c=s\"Double quote String2\"", N_LSYM,0,0, 0
|
|
||||||
# Escaping single quote with is easy
|
|
||||||
.stabs "constString3:c=s'String3 with embedded quote \' in the middle'", N_LSYM,0,0, 0
|
|
||||||
# Esaping double quotes is less clear...
|
|
||||||
.stabs "constString4:c=s\"String4 with embedded quote \\" in the middle\"", N_LSYM,0,0, 0
|
|
||||||
|
|
||||||
|
|
||||||
.stabs "attr38:G338=@& !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
|
|
||||||
# Unrecognized negative type number.
|
|
||||||
.stabs "bad_neg0type:t201=s16field0:1,0,32;field2:-534,32,64;field3:-1,96,32;;", N_LSYM,0,0, 0
|
|
||||||
|
|
||||||
.stabs "bad_neg0:G201", N_GSYM,0,0, 0
|
|
||||||
|
|
||||||
.globl bad_neg0
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
bad_neg0:
|
|
||||||
.long 42
|
|
||||||
.long 43, 44, 45
|
|
||||||
|
|
||||||
.stabs "attr39:G339=@' !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr41:G341=@) !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr42:G342=@* !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr43:G343=@+ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr44:G344=@, !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr46:G346=@. !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr47:G347=@/ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr58:G358=@: !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
|
|
||||||
# Test two type attributes for one type.
|
|
||||||
.stabs "attr59:G359=@;@ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
|
|
||||||
.stabs "attr60:G360=@< !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr61:G361=@= !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr62:G362=@> !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr63:G363=@? !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr64:G364=@@ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr65:G365=@A !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr66:G366=@B !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr67:G367=@C !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr68:G368=@D !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr72:G372=@H !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr73:G373=@I !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr74:G374=@J !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr75:G375=@K !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr76:G376=@L !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr77:G377=@M !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr78:G378=@N !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr79:G379=@O !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr80:G380=@P !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr81:G381=@Q !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr82:G382=@R !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr83:G383=@S !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr84:G384=@T !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr85:G385=@U !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr86:G386=@V !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr87:G387=@W !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr88:G388=@X !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr89:G389=@Y !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr90:G390=@Z !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr91:G391=@[ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
|
|
||||||
.stabs "attr93:G393=@] !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
|
|
||||||
# Do with and without underscore, so this wins regardless of whether
|
|
||||||
# names have underscores.
|
|
||||||
|
|
||||||
.globl _common0
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
_common0:
|
|
||||||
.long 42
|
|
||||||
.long 24
|
|
||||||
.long 22
|
|
||||||
.globl common0
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
common0:
|
|
||||||
.long 42
|
|
||||||
.long 24
|
|
||||||
.long 22
|
|
||||||
.begin_common "common0"
|
|
||||||
.stabs "common0var0:S1", N_GSYM,0,0, 0
|
|
||||||
.stabs "common0var1:S1", N_GSYM,0,0, 4
|
|
||||||
.stabs "common0var2:S1", N_GSYM,0,0, 8
|
|
||||||
.end_common "common0"
|
|
||||||
|
|
||||||
.stabs "attr94:G394=@^ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr95:G395=@_ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr100:G400=@d !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr101:G401=@e !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr102:G402=@f !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr103:G403=@g !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr106:G406=@j !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr107:G407=@k !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr108:G408=@l !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr109:G409=@m !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr110:G410=@n !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr111:G411=@o !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr112:G412=@p !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr113:G413=@q !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr114:G414=@r !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr115:G415=@s !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr116:G416=@t !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr117:G417=@u !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr118:G418=@v !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr119:G419=@w !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr120:G420=@x !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr121:G421=@y !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr122:G422=@z !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr123:G423=@{ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr124:G424=@| !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr125:G425=@} !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
.stabs "attr126:G426=@~ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
|
|
||||||
# Define a variable for all the above stabs.
|
|
||||||
.globl attr32
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr32:
|
|
||||||
.long 42
|
|
||||||
.globl attr33
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr33:
|
|
||||||
.long 42
|
|
||||||
.globl attr35
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr35:
|
|
||||||
.long 42
|
|
||||||
.globl attr36
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr36:
|
|
||||||
.long 42
|
|
||||||
.globl attr37
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr37:
|
|
||||||
.long 42
|
|
||||||
.globl attr38
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr38:
|
|
||||||
.long 42
|
|
||||||
.globl attr39
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr39:
|
|
||||||
.long 42
|
|
||||||
.globl attr41
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr41:
|
|
||||||
.long 42
|
|
||||||
.globl attr42
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr42:
|
|
||||||
.long 42
|
|
||||||
.globl attr43
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr43:
|
|
||||||
.long 42
|
|
||||||
.globl attr44
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr44:
|
|
||||||
.long 42
|
|
||||||
.globl attr46
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr46:
|
|
||||||
.long 42
|
|
||||||
.globl attr47
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr47:
|
|
||||||
.long 42
|
|
||||||
.globl attr58
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr58:
|
|
||||||
.long 42
|
|
||||||
.globl attr59
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr59:
|
|
||||||
.long 42
|
|
||||||
.globl attr60
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr60:
|
|
||||||
.long 42
|
|
||||||
.globl attr61
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr61:
|
|
||||||
.long 42
|
|
||||||
.globl attr62
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr62:
|
|
||||||
.long 42
|
|
||||||
.globl attr63
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr63:
|
|
||||||
.long 42
|
|
||||||
.globl attr64
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr64:
|
|
||||||
.long 42
|
|
||||||
.globl attr65
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr65:
|
|
||||||
.long 42
|
|
||||||
.globl attr70
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr70:
|
|
||||||
.long 42
|
|
||||||
.globl attr71
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr71:
|
|
||||||
.long 42
|
|
||||||
.globl attr72
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr72:
|
|
||||||
.long 42
|
|
||||||
.globl attr73
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr73:
|
|
||||||
.long 42
|
|
||||||
.globl attr74
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr74:
|
|
||||||
.long 42
|
|
||||||
.globl attr75
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr75:
|
|
||||||
.long 42
|
|
||||||
.globl attr76
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr76:
|
|
||||||
.long 42
|
|
||||||
.globl attr77
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr77:
|
|
||||||
.long 42
|
|
||||||
.globl attr78
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr78:
|
|
||||||
.long 42
|
|
||||||
.globl attr79
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr79:
|
|
||||||
.long 42
|
|
||||||
.globl attr80
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr80:
|
|
||||||
.long 42
|
|
||||||
.globl attr81
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr81:
|
|
||||||
.long 42
|
|
||||||
.globl attr82
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr82:
|
|
||||||
.long 42
|
|
||||||
.globl attr83
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr83:
|
|
||||||
.long 42
|
|
||||||
.globl attr84
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr84:
|
|
||||||
.long 42
|
|
||||||
|
|
||||||
# Unrecognized floating point code.
|
|
||||||
.stabs "float72type:t202=R87;9;", N_LSYM,0,0, 0
|
|
||||||
|
|
||||||
# 256-bit integer. The point is obviously not that GDB should have a
|
|
||||||
# special case for this size, but that an integer of any size should
|
|
||||||
# work (at least for printing in hex, not necessarily for arithmetic.
|
|
||||||
.stabs "int256var:G203=bu32;0;256;", N_GSYM,0,0, 0
|
|
||||||
# The value is palindromic, so it works whether words are big or little
|
|
||||||
# endian.
|
|
||||||
.globl int256var
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
int256var:
|
|
||||||
.long 42
|
|
||||||
.long 0x2b, 0x2c, 0x2d, 0x2d, 0x2c, 0x2b, 0x2a
|
|
||||||
|
|
||||||
# Huge value in constant should at least get the type right.
|
|
||||||
|
|
||||||
# This value is just big enough not to fit in 32 bits.
|
|
||||||
.stabs "consth:c=e1,4294967296", N_LSYM,0,0, 0
|
|
||||||
|
|
||||||
.stabs "consth2:c=e1,-734723985732642758928475678987234563284937456", N_LSYM,0,0, 0
|
|
||||||
|
|
||||||
# Test a struct constant using S.
|
|
||||||
.stabs "bad_neg0const:c=S201,128,128,11222211343434345656565677888877", N_LSYM,0,0, 0
|
|
||||||
|
|
||||||
# Bad filenumbers.
|
|
||||||
# This one is totally bogus.
|
|
||||||
.stabs "bad_type0:t(-3,7)", N_LSYM,0,0, 0
|
|
||||||
# This one probably gets interpreted as a forward reference.
|
|
||||||
.stabs "bad_type1:t(42,6)", N_LSYM,0,0, 0
|
|
||||||
|
|
||||||
# Arrays indexed by weird things.
|
|
||||||
.stabs "array_index0:t205=r1;0;5;", N_LSYM,0,0, 0
|
|
||||||
.stabs "array0:G206=a205;1", N_GSYM,0,0, 0
|
|
||||||
.globl array0
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
array0:
|
|
||||||
.long 42
|
|
||||||
.long 43, 44, 45, 46, 47
|
|
||||||
|
|
||||||
.stabs "array_index1:t207=", N_LSYM,0,0, 0
|
|
||||||
.stabs "array1:G208=aeai1_red:0,ai1_green:1,ai1_blue:2,;;1", N_GSYM,0,0, 0
|
|
||||||
.globl array1
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
array1:
|
|
||||||
.long 42
|
|
||||||
.long 43, 44
|
|
||||||
|
|
||||||
# See if GDB can deal with it if the compiler gets smarter about saying
|
|
||||||
# which variables were defined with which types.
|
|
||||||
.stabs "inttype_one:t209=1", N_LSYM,0,0, 0
|
|
||||||
.stabs "inttype_two:t210=1", N_LSYM,0,0, 0
|
|
||||||
.stabs "one_var:G209", N_GSYM,0,0, 0
|
|
||||||
.globl one_var
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
one_var:
|
|
||||||
.long 42
|
|
||||||
.stabs "two_var:G210", N_GSYM,0,0, 0
|
|
||||||
.globl two_var
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
two_var:
|
|
||||||
.long 42
|
|
||||||
|
|
||||||
# And see if the caddr_t hack can deal with the same thing.
|
|
||||||
.stabs "intp:t211=*1", N_LSYM,0,0, 0
|
|
||||||
# If it weren't for this variable, we'd need to ignore the intp name.
|
|
||||||
.stabs "pointer_to_int_var:G212=*1", N_LSYM,0,0, 0
|
|
||||||
.stabs "intp_var:G211", N_GSYM,0,0, 0
|
|
||||||
.globl intp_var
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
intp_var:
|
|
||||||
.long 42
|
|
||||||
|
|
||||||
# Unrecognized constant code.
|
|
||||||
.stabs "unrecog_const:c=xjksdflskd33,4;473;", N_LSYM,0,0, 0
|
|
||||||
|
|
||||||
.globl attr85
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr85:
|
|
||||||
.long 42
|
|
||||||
.globl attr86
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr86:
|
|
||||||
.long 42
|
|
||||||
.globl attr87
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr87:
|
|
||||||
.long 42
|
|
||||||
.globl attr88
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr88:
|
|
||||||
.long 42
|
|
||||||
.globl attr89
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr89:
|
|
||||||
.long 42
|
|
||||||
.globl attr90
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr90:
|
|
||||||
.long 42
|
|
||||||
.globl attr91
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr91:
|
|
||||||
.long 42
|
|
||||||
.globl attr92
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr92:
|
|
||||||
.long 42
|
|
||||||
.globl attr93
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr93:
|
|
||||||
.long 42
|
|
||||||
.globl attr94
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr94:
|
|
||||||
.long 42
|
|
||||||
.globl attr95
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr95:
|
|
||||||
.long 42
|
|
||||||
.globl attr96
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr96:
|
|
||||||
.long 42
|
|
||||||
.globl attr97
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr97:
|
|
||||||
.long 42
|
|
||||||
.globl attr98
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr98:
|
|
||||||
.long 42
|
|
||||||
.globl attr99
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr99:
|
|
||||||
.long 42
|
|
||||||
.globl attr100
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr100:
|
|
||||||
.long 42
|
|
||||||
.globl attr101
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr101:
|
|
||||||
.long 42
|
|
||||||
.globl attr102
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr102:
|
|
||||||
.long 42
|
|
||||||
.globl attr103
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr103:
|
|
||||||
.long 42
|
|
||||||
.globl attr104
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr104:
|
|
||||||
.long 42
|
|
||||||
.globl attr105
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr105:
|
|
||||||
.long 42
|
|
||||||
.globl attr106
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr106:
|
|
||||||
.long 42
|
|
||||||
.globl attr107
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr107:
|
|
||||||
.long 42
|
|
||||||
.globl attr108
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr108:
|
|
||||||
.long 42
|
|
||||||
.globl attr109
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr109:
|
|
||||||
.long 42
|
|
||||||
.globl attr110
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr110:
|
|
||||||
.long 42
|
|
||||||
.globl attr111
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr111:
|
|
||||||
.long 42
|
|
||||||
.globl attr112
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr112:
|
|
||||||
.long 42
|
|
||||||
.globl attr113
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr113:
|
|
||||||
.long 42
|
|
||||||
.globl attr114
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr114:
|
|
||||||
.long 42
|
|
||||||
.globl attr115
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr115:
|
|
||||||
.long 42
|
|
||||||
.globl attr116
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr116:
|
|
||||||
.long 42
|
|
||||||
.globl attr117
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr117:
|
|
||||||
.long 42
|
|
||||||
.globl attr118
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr118:
|
|
||||||
.long 42
|
|
||||||
.globl attr119
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr119:
|
|
||||||
.long 42
|
|
||||||
.globl attr120
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr120:
|
|
||||||
.long 42
|
|
||||||
.globl attr121
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr121:
|
|
||||||
.long 42
|
|
||||||
.globl attr125
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr125:
|
|
||||||
.long 42
|
|
||||||
.globl attr126
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
attr126:
|
|
||||||
.long 42
|
|
||||||
|
|
||||||
# Size.
|
|
||||||
.stabs "var1:G301=@s32;1",N_GSYM,0,0, 0
|
|
||||||
.globl var1
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
var1:
|
|
||||||
.long 42
|
|
||||||
# Pointer class.
|
|
||||||
.stabs "var2:G302=@p42;1",N_GSYM,0,0, 0
|
|
||||||
.globl var2
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
var2:
|
|
||||||
.long 42
|
|
||||||
# Packed type.
|
|
||||||
.stabs "var3:G303=@P;1",N_GSYM,0,0, 0
|
|
||||||
.globl var3
|
|
||||||
.data
|
|
||||||
.align_it
|
|
||||||
var3:
|
|
||||||
.long 42
|
|
||||||
|
|
||||||
.stabs "sym92:\ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "type92:t92=\ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
|
|
||||||
.stabs "attr92:G392=@\ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
|
|
||||||
|
|
||||||
# See read_args "Invalid (empty) method arguments" error; there is an
|
|
||||||
# unexpected semi-colon after =@s8;-16 that used to cause a GDB crash.
|
|
||||||
.stabs "args93:G93=#(0,93),(0,93)=@s8;-16;,(0,93),(0,93);",N_GSYM,0,0,0
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
# Put everything in this csect, which seems to make things work.
|
|
||||||
# The compiler actually puts the stabs in .csect [PR], but that didn't
|
|
||||||
# work here (I guess because there is no text section).
|
|
||||||
1i\
|
|
||||||
.csect .data[RW]
|
|
||||||
# .stabs string,type,0,0,value -> .stabx string,value,type,0
|
|
||||||
s/^[ ]*\.stabs[ ]*("(\"|[^"])*"),[ ]*([^,]*),[ ]*0,0,[ ]*(.*)$/.stabx \1,\4,\3,0/
|
|
||||||
s/N_GSYM/128/
|
|
||||||
# This needs to be C_DECL, which is used for types, not C_LSYM, which is
|
|
||||||
# ignored on the initial scan.
|
|
||||||
s/N_LSYM/140/
|
|
||||||
s/\.begin_common/.bc/
|
|
||||||
# The AIX assembler doesn't want the name in a .ec directive
|
|
||||||
s/\.end_common.*/.ec/
|
|
||||||
s/\.align_it/.align 1/
|
|
||||||
/\.data/d
|
|
||||||
/^#/d
|
|
||||||
Reference in New Issue
Block a user