Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
9eb0ef7a
Commit
9eb0ef7a
authored
Mar 19, 2003
by
Kevin Buettner
Committed by
Kevin Buettner
Mar 19, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add support for DWARF 3 64-bit sections.
From-SVN: r64589
parent
b25a23bd
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
45 additions
and
2 deletions
+45
-2
gcc/ChangeLog
+10
-0
gcc/config/mips/iris6.h
+7
-0
gcc/dwarf2out.c
+28
-2
No files found.
gcc/ChangeLog
View file @
9eb0ef7a
2003-03-19 Kevin Buettner <kevinb@redhat.com>
* dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
(DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
DWARF_INITIAL_LENGTH_SIZE.
(output_compilation_unit_header, output_pubnames, output_aranges)
(output_line_info): Output 0xffffffff escape value for 64-bit
DWARF extension.
* config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
2003-03-19 Ulrich Weigand <uweigand@de.ibm.com>
* config/s390/s390.c (s390_preferred_reload_class): Do not
...
...
gcc/config/mips/iris6.h
View file @
9eb0ef7a
...
...
@@ -160,6 +160,13 @@ Boston, MA 02111-1307, USA. */
specification. The SGI/MIPS ABI defines it to be the same as PTR_SIZE. */
#define DWARF_OFFSET_SIZE PTR_SIZE
/* The size in bytes of the initial length field in a debug info
section. The DWARF 3 (draft) specification defines this to be
either 4 or 12 (with a 4-byte "escape" word when it's 12), but the
SGI/MIPS ABI predates this standard and defines it to be the same
as DWARF_OFFSET_SIZE. */
#define DWARF_INITIAL_LENGTH_SIZE DWARF_OFFSET_SIZE
/* There is no GNU as port for Irix6 yet, so we set MD_EXEC_PREFIX so that
gcc will automatically find SGI as instead of searching the user's path.
The latter can fail when building a cross compiler if the user has . in
...
...
gcc/dwarf2out.c
View file @
9eb0ef7a
...
...
@@ -257,6 +257,18 @@ dw_fde_node;
#define DWARF_OFFSET_SIZE 4
#endif
/* According to the (draft) DWARF 3 specification, the initial length
should either be 4 or 12 bytes. When it's 12 bytes, the first 4
bytes are 0xffffffff, followed by the length stored in the next 8
bytes.
However, the SGI/MIPS ABI uses an initial length which is equal to
DWARF_OFFSET_SIZE. It is defined (elsewhere) accordingly. */
#ifndef DWARF_INITIAL_LENGTH_SIZE
#define DWARF_INITIAL_LENGTH_SIZE (DWARF_OFFSET_SIZE == 4 ? 4 : 12)
#endif
#define DWARF_VERSION 2
/* Round SIZE up to the nearest BOUNDARY. */
...
...
@@ -3397,7 +3409,8 @@ limbo_die_node;
language, and compiler version. */
/* Fixed size portion of the DWARF compilation unit header. */
#define DWARF_COMPILE_UNIT_HEADER_SIZE (2 * DWARF_OFFSET_SIZE + 3)
#define DWARF_COMPILE_UNIT_HEADER_SIZE \
(DWARF_INITIAL_LENGTH_SIZE + DWARF_OFFSET_SIZE + 3)
/* Fixed size portion of public names info. */
#define DWARF_PUBNAMES_HEADER_SIZE (2 * DWARF_OFFSET_SIZE + 2)
...
...
@@ -6912,7 +6925,11 @@ output_die (die)
static
void
output_compilation_unit_header
()
{
dw2_asm_output_data
(
DWARF_OFFSET_SIZE
,
next_die_offset
-
DWARF_OFFSET_SIZE
,
if
(
DWARF_INITIAL_LENGTH_SIZE
-
DWARF_OFFSET_SIZE
==
4
)
dw2_asm_output_data
(
4
,
0xffffffff
,
"Initial length escape value indicating 64-bit DWARF extension"
);
dw2_asm_output_data
(
DWARF_OFFSET_SIZE
,
next_die_offset
-
DWARF_INITIAL_LENGTH_SIZE
,
"Length of Compilation Unit Info"
);
dw2_asm_output_data
(
2
,
DWARF_VERSION
,
"DWARF version number"
);
dw2_asm_output_offset
(
DWARF_OFFSET_SIZE
,
abbrev_section_label
,
...
...
@@ -7023,6 +7040,9 @@ output_pubnames ()
unsigned
i
;
unsigned
long
pubnames_length
=
size_of_pubnames
();
if
(
DWARF_INITIAL_LENGTH_SIZE
-
DWARF_OFFSET_SIZE
==
4
)
dw2_asm_output_data
(
4
,
0xffffffff
,
"Initial length escape value indicating 64-bit DWARF extension"
);
dw2_asm_output_data
(
DWARF_OFFSET_SIZE
,
pubnames_length
,
"Length of Public Names Info"
);
dw2_asm_output_data
(
2
,
DWARF_VERSION
,
"DWARF Version"
);
...
...
@@ -7081,6 +7101,9 @@ output_aranges ()
unsigned
i
;
unsigned
long
aranges_length
=
size_of_aranges
();
if
(
DWARF_INITIAL_LENGTH_SIZE
-
DWARF_OFFSET_SIZE
==
4
)
dw2_asm_output_data
(
4
,
0xffffffff
,
"Initial length escape value indicating 64-bit DWARF extension"
);
dw2_asm_output_data
(
DWARF_OFFSET_SIZE
,
aranges_length
,
"Length of Address Ranges Info"
);
dw2_asm_output_data
(
2
,
DWARF_VERSION
,
"DWARF Version"
);
...
...
@@ -7526,6 +7549,9 @@ output_line_info ()
ASM_GENERATE_INTERNAL_LABEL
(
p1
,
LN_PROLOG_AS_LABEL
,
0
);
ASM_GENERATE_INTERNAL_LABEL
(
p2
,
LN_PROLOG_END_LABEL
,
0
);
if
(
DWARF_INITIAL_LENGTH_SIZE
-
DWARF_OFFSET_SIZE
==
4
)
dw2_asm_output_data
(
4
,
0xffffffff
,
"Initial length escape value indicating 64-bit DWARF extension"
);
dw2_asm_output_delta
(
DWARF_OFFSET_SIZE
,
l2
,
l1
,
"Length of Source Line Info"
);
ASM_OUTPUT_LABEL
(
asm_out_file
,
l1
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment