Commit 789a4ea3 by Mike Stump Committed by Mike Stump

darwin.h (ASM_OUTPUT_LABELREF): Fix -fno-leading-underscore.

	* darwin.h (ASM_OUTPUT_LABELREF): Fix -fno-leading-underscore.
	* darwin.c (machopic_non_lazy_ptr_name, machopic_stub_name)
	(machopic_finish): Likewise.

From-SVN: r84245
parent d969ee71
2004-07-07 Mike Stump <mrs@apple.com>
* darwin.h (ASM_OUTPUT_LABELREF): Fix -fno-leading-underscore.
* darwin.c (machopic_non_lazy_ptr_name, machopic_stub_name)
(machopic_finish): Likewise.
2004-07-07 Richard Henderson <rth@redhat.com> 2004-07-07 Richard Henderson <rth@redhat.com>
* tree-ssa-dom.c (simplify_switch_and_lookup_avail_expr): Look * tree-ssa-dom.c (simplify_switch_and_lookup_avail_expr): Look
......
...@@ -308,9 +308,10 @@ machopic_non_lazy_ptr_name (const char *name) ...@@ -308,9 +308,10 @@ machopic_non_lazy_ptr_name (const char *name)
} }
else else
{ {
buffer[bufferlen] = '_'; strcpy (buffer + bufferlen, user_label_prefix);
memcpy (buffer + bufferlen +1, name, namelen+1); bufferlen += strlen (user_label_prefix);
bufferlen += namelen +1; memcpy (buffer + bufferlen, name, namelen+1);
bufferlen += namelen;
} }
memcpy (buffer + bufferlen, "$non_lazy_ptr", strlen("$non_lazy_ptr")+1); memcpy (buffer + bufferlen, "$non_lazy_ptr", strlen("$non_lazy_ptr")+1);
...@@ -383,9 +384,10 @@ machopic_stub_name (const char *name) ...@@ -383,9 +384,10 @@ machopic_stub_name (const char *name)
} }
else else
{ {
buffer[bufferlen] = '_'; strcpy (buffer + bufferlen, user_label_prefix);
memcpy (buffer + bufferlen +1, name, namelen+1); bufferlen += strlen (user_label_prefix);
bufferlen += namelen +1; memcpy (buffer + bufferlen, name, namelen+1);
bufferlen += namelen;
} }
if (needs_quotes) if (needs_quotes)
...@@ -909,13 +911,13 @@ machopic_finish (FILE *asm_out_file) ...@@ -909,13 +911,13 @@ machopic_finish (FILE *asm_out_file)
else if (sym_name[0] == '-' || sym_name[0] == '+') else if (sym_name[0] == '-' || sym_name[0] == '+')
strcpy (sym, sym_name); strcpy (sym, sym_name);
else else
sym[0] = '_', strcpy (sym + 1, sym_name); sprintf (sym, "%s%s", user_label_prefix, sym_name);
stub = alloca (strlen (stub_name) + 2); stub = alloca (strlen (stub_name) + 2);
if (stub_name[0] == '*' || stub_name[0] == '&') if (stub_name[0] == '*' || stub_name[0] == '&')
strcpy (stub, stub_name + 1); strcpy (stub, stub_name + 1);
else else
stub[0] = '_', strcpy (stub + 1, stub_name); sprintf (stub, "%s%s", user_label_prefix, stub_name);
machopic_output_stub (asm_out_file, sym, stub); machopic_output_stub (asm_out_file, sym, stub);
} }
......
...@@ -493,7 +493,7 @@ do { text_section (); \ ...@@ -493,7 +493,7 @@ do { text_section (); \
else if (!strncmp (xname, ".objc_class_name_", 17)) \ else if (!strncmp (xname, ".objc_class_name_", 17)) \
fprintf (FILE, "%s", xname); \ fprintf (FILE, "%s", xname); \
else \ else \
fprintf (FILE, "_%s", xname); \ asm_fprintf (FILE, "%U%s", xname); \
} while (0) } while (0)
/* Output before executable code. */ /* Output before executable code. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment