mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-11-16 12:34:43 +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-cache.c \
|
||||
split-name.c \
|
||||
stabsread.c \
|
||||
stack.c \
|
||||
std-regs.c \
|
||||
symfile.c \
|
||||
@@ -1674,7 +1673,6 @@ HFILES_NO_SRCDIR = \
|
||||
sparc-ravenscar-thread.h \
|
||||
sparc-tdep.h \
|
||||
split-name.h \
|
||||
stabsread.h \
|
||||
stack.h \
|
||||
stap-probe.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
|
||||
first run.
|
||||
|
||||
* Support for stabs debug information has been removed.
|
||||
|
||||
* New targets
|
||||
|
||||
GNU/Linux/MicroBlaze (gdbserver) microblazeel-*linux*
|
||||
|
||||
@@ -324,12 +324,6 @@ generic_convert_register_p (struct gdbarch *gdbarch, int regnum,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
default_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
generic_instruction_nullified (struct gdbarch *gdbarch,
|
||||
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,
|
||||
struct type *type);
|
||||
|
||||
extern int default_stabs_argument_has_addr (struct gdbarch *gdbarch,
|
||||
struct type *type);
|
||||
|
||||
extern int generic_instruction_nullified (struct gdbarch *gdbarch,
|
||||
struct regcache *regcache);
|
||||
|
||||
|
||||
@@ -34,11 +34,6 @@
|
||||
#include "dictionary.h"
|
||||
#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).
|
||||
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++];
|
||||
}
|
||||
|
||||
/* 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
|
||||
&& m_pending_blocks == NULL
|
||||
&& m_file_symbols == NULL
|
||||
|
||||
@@ -74,6 +74,15 @@ explicit_lookup_type (int real_filenum, int index)
|
||||
}
|
||||
#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.
|
||||
We have been initialized by a call to dbx_symfile_init, which
|
||||
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
|
||||
|
||||
# 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'
|
||||
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'
|
||||
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'
|
||||
HTMLFILES = gdb/index.html stabs/index.html annotate/index.html
|
||||
HTMLFILES_INSTALL = gdb stabs annotate
|
||||
HTMLFILES = gdb/index.html annotate/index.html
|
||||
HTMLFILES_INSTALL = gdb annotate
|
||||
|
||||
# There may be alternate predefined collections of switches to configure
|
||||
# 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_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_DOC_SOURCE_INCLUDES = \
|
||||
$(srcdir)/fdl.texi
|
||||
@@ -207,7 +196,7 @@ all: info
|
||||
|
||||
info: $(INFO_DEPS)
|
||||
dvi: $(DVIFILES)
|
||||
ps: gdb.ps stabs.ps refcard.ps annotate.ps
|
||||
ps: gdb.ps refcard.ps annotate.ps
|
||||
html: $(HTMLFILES)
|
||||
pdf: $(PDFFILES)
|
||||
man: $(MANS)
|
||||
@@ -593,29 +582,6 @@ gdb/index.html: ${GDB_DOC_FILES}
|
||||
$(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
|
||||
$(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.dvi : $(ANNOTATE_DOC_FILES)
|
||||
$(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),
|
||||
@item
|
||||
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
|
||||
whether the debugging information includes information about
|
||||
preprocessor macros.
|
||||
@@ -22038,9 +22038,7 @@ Warnings and Messages}.)
|
||||
|
||||
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 data in full right away. Note that ``stabs-in-COFF''
|
||||
still does the two-stage strategy, since the debug info is actually
|
||||
in stabs format.
|
||||
symbol table data in full right away.
|
||||
|
||||
@kindex readnow
|
||||
@cindex reading symbols immediately
|
||||
@@ -23148,7 +23146,7 @@ Instead you must do, for example,
|
||||
$ gdb -iex "set use-deprecated-index-sections on" <program>
|
||||
@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
|
||||
|
||||
@@ -42476,14 +42474,13 @@ and the full path if known.
|
||||
This command prints, for each object file in the program, various data
|
||||
about that object file followed by the byte cache (@dfn{bcache})
|
||||
statistics for the object file. The objfile data includes the number
|
||||
of minimal, partial, full, and stabs symbols, the number of types
|
||||
defined by the objfile, the number of as yet unexpanded psym tables,
|
||||
the number of line tables and string tables, and the amount of memory
|
||||
used by the various tables. The bcache statistics include the counts,
|
||||
sizes, and counts of duplicates of all and unique objects, max,
|
||||
average, and median entry size, total memory used and its overhead and
|
||||
savings, and various measures of the hash table size and chain
|
||||
lengths.
|
||||
of minimal, partial, and full, the number of types defined by the
|
||||
objfile, the number of as yet unexpanded psym tables, the number of
|
||||
line tables and string tables, and the amount of memory used by the
|
||||
various tables. The bcache statistics include the counts, sizes, and
|
||||
counts of duplicates of all and unique objects, max, average, and
|
||||
median entry size, total memory used and its overhead and savings,
|
||||
and various measures of the hash table size and chain lengths.
|
||||
|
||||
@kindex maint print target-stack
|
||||
@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_frame_num_args_ftype *frame_num_args = 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;
|
||||
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;
|
||||
@@ -409,7 +408,6 @@ verify_gdbarch (struct gdbarch *gdbarch)
|
||||
/* Skip verify of unwind_sp, invalid_p == 0. */
|
||||
/* Skip verify of frame_num_args, 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 convert_from_func_ptr_addr, 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,
|
||||
"gdbarch_dump: frame_align = <%s>\n",
|
||||
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,
|
||||
"gdbarch_dump: frame_red_zone_size = %s\n",
|
||||
plongest (gdbarch->frame_red_zone_size));
|
||||
@@ -3174,23 +3169,6 @@ set_gdbarch_frame_align (struct gdbarch *gdbarch,
|
||||
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
|
||||
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 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 void set_gdbarch_frame_red_zone_size (struct gdbarch *gdbarch, int frame_red_zone_size);
|
||||
|
||||
|
||||
@@ -1201,14 +1201,6 @@ Method(
|
||||
predicate=True,
|
||||
)
|
||||
|
||||
Method(
|
||||
type="int",
|
||||
name="stabs_argument_has_addr",
|
||||
params=[("struct type *", "type")],
|
||||
predefault="default_stabs_argument_has_addr",
|
||||
invalid=False,
|
||||
)
|
||||
|
||||
Value(
|
||||
type="int",
|
||||
name="frame_red_zone_size",
|
||||
|
||||
@@ -584,12 +584,6 @@ microblaze_return_value (struct gdbarch *gdbarch, struct value *function,
|
||||
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. */
|
||||
|
||||
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_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);
|
||||
|
||||
|
||||
@@ -152,9 +152,6 @@ struct objstats
|
||||
/* Number of full symbols read. */
|
||||
int n_syms = 0;
|
||||
|
||||
/* Number of ".stabs" read (if applicable). */
|
||||
int n_stabs = 0;
|
||||
|
||||
/* Number of types. */
|
||||
int n_types = 0;
|
||||
|
||||
|
||||
@@ -1540,14 +1540,6 @@ sparc32_return_value (struct gdbarch *gdbarch, struct value *function,
|
||||
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
|
||||
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_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);
|
||||
|
||||
|
||||
@@ -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_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_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;
|
||||
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)
|
||||
gdb_printf (_(" Number of \"minimal\" symbols read: %d\n"),
|
||||
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