darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
* config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define. * config/darwin.c (machopic_stub_name): Account for internally generated lib calls such as memcpy. From-SVN: r45385
This commit is contained in:
parent
4c21ef03d1
commit
9391328103
@ -1,3 +1,9 @@
|
||||
2001-09-04 Stan Shebs <shebs@apple.com>
|
||||
|
||||
* config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
|
||||
* config/darwin.c (machopic_stub_name): Account for internally
|
||||
generated lib calls such as memcpy.
|
||||
|
||||
2001-09-04 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* unwind.h (_UA_END_OF_STACK): New flag.
|
||||
|
@ -324,14 +324,22 @@ machopic_stub_name (name)
|
||||
const char *name;
|
||||
{
|
||||
tree temp, ident = get_identifier (name);
|
||||
|
||||
const char *tname;
|
||||
|
||||
for (temp = machopic_stubs;
|
||||
temp != NULL_TREE;
|
||||
temp = TREE_CHAIN (temp))
|
||||
{
|
||||
if (ident == TREE_VALUE (temp))
|
||||
return IDENTIFIER_POINTER (TREE_PURPOSE (temp));
|
||||
if (strcmp (name, IDENTIFIER_POINTER (TREE_VALUE (temp))) == 0)
|
||||
tname = IDENTIFIER_POINTER (TREE_VALUE (temp));
|
||||
if (strcmp (name, tname) == 0)
|
||||
return IDENTIFIER_POINTER (TREE_PURPOSE (temp));
|
||||
/* A library call name might not be section-encoded yet, so try
|
||||
it against a stripped name. */
|
||||
if (name[0] != '!'
|
||||
&& tname[0] == '!'
|
||||
&& strcmp (name, tname + 4) == 0)
|
||||
return IDENTIFIER_POINTER (TREE_PURPOSE (temp));
|
||||
}
|
||||
|
||||
|
@ -215,6 +215,22 @@ do { text_section (); \
|
||||
ASM_OUTPUT_LABEL (FILE, xname); \
|
||||
} while (0)
|
||||
|
||||
#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \
|
||||
do { \
|
||||
char *xname = NAME; \
|
||||
if (GET_CODE (XEXP (DECL_RTL (DECL), 0)) != SYMBOL_REF) \
|
||||
xname = IDENTIFIER_POINTER (DECL_NAME (DECL)); \
|
||||
if ((TREE_STATIC (DECL) \
|
||||
&& (!DECL_COMMON (DECL) || !TREE_PUBLIC (DECL))) \
|
||||
|| DECL_INITIAL (DECL)) \
|
||||
machopic_define_name (xname); \
|
||||
if ((TREE_STATIC (DECL) \
|
||||
&& (!DECL_COMMON (DECL) || !TREE_PUBLIC (DECL))) \
|
||||
|| DECL_INITIAL (DECL)) \
|
||||
ENCODE_SECTION_INFO (DECL); \
|
||||
ASM_OUTPUT_LABEL (FILE, xname); \
|
||||
} while (0)
|
||||
|
||||
/* Wrap new method names in quotes so the assembler doesn't gag.
|
||||
Make Objective-C internal symbols local. */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user