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
54ee9799
Commit
54ee9799
authored
Oct 29, 2001
by
David Edelsohn
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Undo assemble_name change in earlier patch.
From-SVN: r46617
parent
26e51caa
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
60 additions
and
17 deletions
+60
-17
gcc/ChangeLog
+6
-2
gcc/config/rs6000/aix31.h
+1
-1
gcc/config/rs6000/darwin.h
+8
-2
gcc/config/rs6000/rs6000.c
+20
-2
gcc/config/rs6000/sysv4.h
+5
-0
gcc/config/rs6000/xcoff.h
+20
-10
No files found.
gcc/ChangeLog
View file @
54ee9799
2001
-
10
-
29
David
Edelsohn
<
edelsohn
@gnu
.
org
>
Undo
assemble_name
change
in
earlier
patch
.
Mon
Oct
29
21
:
11
:
40
2001
Nicola
Pero
<
n
.
pero
@mi
.
flashnet
.
it
>
Mon
Oct
29
21
:
11
:
40
2001
Nicola
Pero
<
n
.
pero
@mi
.
flashnet
.
it
>
*
objc
/
objc
-
act
.
c
(
finish_message_expr
)
:
For
the
GNU
runtime
:
when
*
objc
/
objc
-
act
.
c
(
finish_message_expr
)
:
For
the
GNU
runtime
:
when
determining
the
type
of
the
receiver
,
do
not
check
that
TREE_CODE
determining
the
type
of
the
receiver
,
do
not
check
that
TREE_CODE
of
receiver
is
CALL_EXPR
before
calling
receiver_is_class_object
of
receiver
is
CALL_EXPR
before
calling
receiver_is_class_object
().
(
).
(
receiver_is_class_object
)
:
For
the
GNU
runtime
:
recognize
(
receiver_is_class_object
)
:
For
the
GNU
runtime
:
recognize
the
case
that
the
receiver
is
self
in
a
class
method
context
.
the
case
that
the
receiver
is
self
in
a
class
method
context
.
Check
that
TREE_CODE
of
receiver
is
CALL_EXPR
when
checking
that
Check
that
TREE_CODE
of
receiver
is
CALL_EXPR
when
checking
that
the
receiver
is
a
call
to
objc_get_class
.
the
receiver
is
a
call
to
objc_get_class
.
...
...
gcc/config/rs6000/aix31.h
View file @
54ee9799
...
@@ -45,7 +45,7 @@ Boston, MA 02111-1307, USA. */
...
@@ -45,7 +45,7 @@ Boston, MA 02111-1307, USA. */
if (TREE_CODE (DECL) == FUNCTION_DECL) \
if (TREE_CODE (DECL) == FUNCTION_DECL) \
{ \
{ \
fputs ("\n\t.extern .", FILE); \
fputs ("\n\t.extern .", FILE); \
assemble_name
(FILE, XSTR (_symref, 0)); \
RS6000_OUTPUT_BASENAME
(FILE, XSTR (_symref, 0)); \
} \
} \
putc ('\n', FILE); \
putc ('\n', FILE); \
}
}
...
...
gcc/config/rs6000/darwin.h
View file @
54ee9799
...
@@ -79,6 +79,12 @@ Boston, MA 02111-1307, USA. */
...
@@ -79,6 +79,12 @@ Boston, MA 02111-1307, USA. */
#undef REGISTER_NAMES
#undef REGISTER_NAMES
#define REGISTER_NAMES DEBUG_REGISTER_NAMES
#define REGISTER_NAMES DEBUG_REGISTER_NAMES
/* This outputs NAME to FILE. */
#undef RS6000_OUTPUT_BASENAME
#define RS6000_OUTPUT_BASENAME(FILE, NAME) \
assemble_name (FILE, NAME);
/* Output before instructions. */
/* Output before instructions. */
/* This is how to output the definition of a user-level label named NAME,
/* This is how to output the definition of a user-level label named NAME,
such as the label on a static function or variable NAME. */
such as the label on a static function or variable NAME. */
...
@@ -92,7 +98,7 @@ Boston, MA 02111-1307, USA. */
...
@@ -92,7 +98,7 @@ Boston, MA 02111-1307, USA. */
#undef ASM_GLOBALIZE_LABEL
#undef ASM_GLOBALIZE_LABEL
#define ASM_GLOBALIZE_LABEL(FILE,NAME) \
#define ASM_GLOBALIZE_LABEL(FILE,NAME) \
do { fputs ("\t.globl ", FILE); \
do { fputs ("\t.globl ", FILE); \
assemble_name
(FILE, NAME); putc ('\n', FILE);} while (0)
RS6000_OUTPUT_BASENAME
(FILE, NAME); putc ('\n', FILE);} while (0)
/* This is how to output an internal label prefix. rs6000.c uses this
/* This is how to output an internal label prefix. rs6000.c uses this
when generating traceback tables. */
when generating traceback tables. */
...
@@ -116,7 +122,7 @@ Boston, MA 02111-1307, USA. */
...
@@ -116,7 +122,7 @@ Boston, MA 02111-1307, USA. */
#undef ASM_OUTPUT_ALIGNED_COMMON
#undef ASM_OUTPUT_ALIGNED_COMMON
#define ASM_OUTPUT_COMMON(FILE, NAME, SIZE, ROUNDED) \
#define ASM_OUTPUT_COMMON(FILE, NAME, SIZE, ROUNDED) \
do { fputs (".comm ", (FILE)); \
do { fputs (".comm ", (FILE)); \
assemble_name
((FILE), (NAME)); \
RS6000_OUTPUT_BASENAME
((FILE), (NAME)); \
fprintf ((FILE), ",%d\n", (SIZE)); } while (0)
fprintf ((FILE), ",%d\n", (SIZE)); } while (0)
#define ASM_OUTPUT_SKIP(FILE,SIZE) \
#define ASM_OUTPUT_SKIP(FILE,SIZE) \
...
...
gcc/config/rs6000/rs6000.c
View file @
54ee9799
...
@@ -4691,7 +4691,11 @@ print_operand (file, x, code)
...
@@ -4691,7 +4691,11 @@ print_operand (file, x, code)
break
;
break
;
}
}
}
}
#if TARGET_AIX
RS6000_OUTPUT_BASENAME
(
file
,
XSTR
(
x
,
0
));
#else
assemble_name
(
file
,
XSTR
(
x
,
0
));
assemble_name
(
file
,
XSTR
(
x
,
0
));
#endif
return
;
return
;
case
'Z'
:
case
'Z'
:
...
@@ -7045,9 +7049,17 @@ rs6000_output_function_epilogue (file, size)
...
@@ -7045,9 +7049,17 @@ rs6000_output_function_epilogue (file, size)
/* Offset from start of code to tb table. */
/* Offset from start of code to tb table. */
fputs
(
"
\t
.long "
,
file
);
fputs
(
"
\t
.long "
,
file
);
ASM_OUTPUT_INTERNAL_LABEL_PREFIX
(
file
,
"LT"
);
ASM_OUTPUT_INTERNAL_LABEL_PREFIX
(
file
,
"LT"
);
#if TARGET_AIX
RS6000_OUTPUT_BASENAME
(
file
,
fname
);
#else
assemble_name
(
file
,
fname
);
assemble_name
(
file
,
fname
);
#endif
fputs
(
"-."
,
file
);
fputs
(
"-."
,
file
);
#if TARGET_AIX
RS6000_OUTPUT_BASENAME
(
file
,
fname
);
#else
assemble_name
(
file
,
fname
);
assemble_name
(
file
,
fname
);
#endif
putc
(
'\n'
,
file
);
putc
(
'\n'
,
file
);
/* Interrupt handler mask. */
/* Interrupt handler mask. */
...
@@ -7464,7 +7476,13 @@ rs6000_output_symbol_ref (file, x)
...
@@ -7464,7 +7476,13 @@ rs6000_output_symbol_ref (file, x)
we emit the TOC reference to reference the symbol and not the
we emit the TOC reference to reference the symbol and not the
section. */
section. */
const
char
*
name
=
XSTR
(
x
,
0
);
const
char
*
name
=
XSTR
(
x
,
0
);
assemble_name
(
file
,
name
);
if
(
VTABLE_NAME_P
(
name
))
{
RS6000_OUTPUT_BASENAME
(
file
,
name
);
}
else
assemble_name
(
file
,
name
);
}
}
/* Output a TOC entry. We derive the entry name from what is being
/* Output a TOC entry. We derive the entry name from what is being
...
@@ -7697,7 +7715,7 @@ output_toc (file, x, labelno, mode)
...
@@ -7697,7 +7715,7 @@ output_toc (file, x, labelno, mode)
section. */
section. */
if
(
VTABLE_NAME_P
(
name
))
if
(
VTABLE_NAME_P
(
name
))
{
{
assemble_name
(
file
,
name
);
RS6000_OUTPUT_BASENAME
(
file
,
name
);
if
(
offset
<
0
)
if
(
offset
<
0
)
fprintf
(
file
,
"%d"
,
offset
);
fprintf
(
file
,
"%d"
,
offset
);
else
if
(
offset
>
0
)
else
if
(
offset
>
0
)
...
...
gcc/config/rs6000/sysv4.h
View file @
54ee9799
...
@@ -886,6 +886,11 @@ do { \
...
@@ -886,6 +886,11 @@ do { \
#undef ENCODE_SECTION_INFO
#undef ENCODE_SECTION_INFO
#define ENCODE_SECTION_INFO(DECL) rs6000_encode_section_info (DECL)
#define ENCODE_SECTION_INFO(DECL) rs6000_encode_section_info (DECL)
/* The ELF version doesn't encode [DS] or whatever at the end of symbols. */
#define RS6000_OUTPUT_BASENAME(FILE, NAME) \
assemble_name (FILE, NAME)
/* This macro gets just the user-specified name
/* This macro gets just the user-specified name
out of the string in a SYMBOL_REF. Discard
out of the string in a SYMBOL_REF. Discard
a leading * or @. */
a leading * or @. */
...
...
gcc/config/rs6000/xcoff.h
View file @
54ee9799
...
@@ -231,18 +231,28 @@ toc_section () \
...
@@ -231,18 +231,28 @@ toc_section () \
#define RS6000_ITRUNC "__itrunc"
#define RS6000_ITRUNC "__itrunc"
#define RS6000_UITRUNC "__uitrunc"
#define RS6000_UITRUNC "__uitrunc"
/* This outputs NAME to FILE up to the first null or '['. */
#define RS6000_OUTPUT_BASENAME(FILE, NAME) \
{ \
const char *_p; \
\
STRIP_NAME_ENCODING (_p, (NAME)); \
assemble_name ((FILE), _p); \
}
/* This is how to output the definition of a user-level label named NAME,
/* This is how to output the definition of a user-level label named NAME,
such as the label on a static function or variable NAME. */
such as the label on a static function or variable NAME. */
#define ASM_OUTPUT_LABEL(FILE,NAME) \
#define ASM_OUTPUT_LABEL(FILE,NAME) \
do {
assemble_name
(FILE, NAME); fputs (":\n", FILE); } while (0)
do {
RS6000_OUTPUT_BASENAME
(FILE, NAME); fputs (":\n", FILE); } while (0)
/* This is how to output a command to make the user-level label named NAME
/* This is how to output a command to make the user-level label named NAME
defined for reference from other files. */
defined for reference from other files. */
#define ASM_GLOBALIZE_LABEL(FILE,NAME) \
#define ASM_GLOBALIZE_LABEL(FILE,NAME) \
do { fputs ("\t.globl ", FILE); \
do { fputs ("\t.globl ", FILE); \
assemble_name
(FILE, NAME); putc ('\n', FILE);} while (0)
RS6000_OUTPUT_BASENAME
(FILE, NAME); putc ('\n', FILE);} while (0)
/* Remove any trailing [DS] or the like from the symbol name. */
/* Remove any trailing [DS] or the like from the symbol name. */
...
@@ -333,27 +343,27 @@ toc_section () \
...
@@ -333,27 +343,27 @@ toc_section () \
if (TREE_PUBLIC (DECL)) \
if (TREE_PUBLIC (DECL)) \
{ \
{ \
fputs ("\t.globl .", FILE); \
fputs ("\t.globl .", FILE); \
assemble_name (FILE, NAME);
\
RS6000_OUTPUT_BASENAME (FILE, NAME);
\
putc ('\n', FILE); \
putc ('\n', FILE); \
} \
} \
else \
else \
{ \
{ \
fputs ("\t.lglobl .", FILE); \
fputs ("\t.lglobl .", FILE); \
assemble_name (FILE, NAME);
\
RS6000_OUTPUT_BASENAME (FILE, NAME);
\
putc ('\n', FILE); \
putc ('\n', FILE); \
} \
} \
fputs ("\t.csect ", FILE); \
fputs ("\t.csect ", FILE); \
assemble_name (FILE, NAME);
\
RS6000_OUTPUT_BASENAME (FILE, NAME);
\
fputs (TARGET_32BIT ? "[DS]\n" : "[DS],3\n", FILE); \
fputs (TARGET_32BIT ? "[DS]\n" : "[DS],3\n", FILE); \
assemble_name (FILE, NAME);
\
RS6000_OUTPUT_BASENAME (FILE, NAME);
\
fputs (":\n", FILE); \
fputs (":\n", FILE); \
fputs (TARGET_32BIT ? "\t.long ." : "\t.llong .", FILE); \
fputs (TARGET_32BIT ? "\t.long ." : "\t.llong .", FILE); \
assemble_name (FILE, NAME);
\
RS6000_OUTPUT_BASENAME (FILE, NAME);
\
fputs (", TOC[tc0], 0\n", FILE); \
fputs (", TOC[tc0], 0\n", FILE); \
in_section = no_section; \
in_section = no_section; \
function_section(DECL); \
function_section(DECL); \
putc ('.', FILE); \
putc ('.', FILE); \
assemble_name (FILE, NAME);
\
RS6000_OUTPUT_BASENAME (FILE, NAME);
\
fputs (":\n", FILE); \
fputs (":\n", FILE); \
if (write_symbols == XCOFF_DEBUG) \
if (write_symbols == XCOFF_DEBUG) \
xcoffout_declare_function (FILE, DECL, NAME); \
xcoffout_declare_function (FILE, DECL, NAME); \
...
@@ -421,7 +431,7 @@ toc_section () \
...
@@ -421,7 +431,7 @@ toc_section () \
#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGNMENT) \
#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGNMENT) \
do { fputs ("\t.comm ", (FILE)); \
do { fputs ("\t.comm ", (FILE)); \
assemble_name ((FILE), (NAME));
\
RS6000_OUTPUT_BASENAME ((FILE), (NAME));
\
if ( (SIZE) > 4) \
if ( (SIZE) > 4) \
fprintf ((FILE), ",%d,3\n", (SIZE)); \
fprintf ((FILE), ",%d,3\n", (SIZE)); \
else \
else \
...
@@ -439,7 +449,7 @@ toc_section () \
...
@@ -439,7 +449,7 @@ toc_section () \
#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED) \
#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED) \
do { fputs ("\t.lcomm ", (FILE)); \
do { fputs ("\t.lcomm ", (FILE)); \
assemble_name ((FILE), (NAME));
\
RS6000_OUTPUT_BASENAME ((FILE), (NAME));
\
fprintf ((FILE), ",%d,%s\n", (TARGET_32BIT ? (SIZE) : (ROUNDED)), \
fprintf ((FILE), ",%d,%s\n", (TARGET_32BIT ? (SIZE) : (ROUNDED)), \
xcoff_bss_section_name); \
xcoff_bss_section_name); \
} while (0)
} while (0)
...
...
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