Fix use of USER_LABEL_PREFIX when calling gcc library functions

From-SVN: r21360
This commit is contained in:
Nick Clifton 1998-07-24 11:23:45 +00:00 committed by Nick Clifton
parent 1bc54bc955
commit 0d1be5835f
4 changed files with 18 additions and 5 deletions

View File

@ -1,3 +1,12 @@
Fri Jul 24 11:17:04 1998 Nick Clifton <nickc@cygnus.com>
* config/arm/thumb.c (thumb_print_operand): Decode %_ in asm
strings as the insertion of USER_LABEL_PREFIX.
* config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a
valid code.
* config/arm/thumb.md: Use %_ as a prefix to gcc library function
calls.
Thu Jul 23 18:53:20 1998 Jim Wilson <wilson@cygnus.com>
* dbxout.c (dbxout_range_type): Only call dbxout_type_index for

View File

@ -1762,6 +1762,10 @@ thumb_print_operand (f, x, code)
fputs (ASM_COMMENT_START, f);
return;
case '_':
fputs (USER_LABEL_PREFIX, f);
return;
case 'D':
if (x)
fputs (thumb_condition_code (x, 1), f);

View File

@ -1052,7 +1052,7 @@ int thumb_shiftable_const ();
output_addr_const ((STREAM), (X)); \
}
#define PRINT_OPERAND_PUNCT_VALID_P(CODE) ((CODE) == '@')
#define PRINT_OPERAND_PUNCT_VALID_P(CODE) ((CODE) == '@' || ((CODE) == '_'))
/* Emit a special directive when defining a function name.
This is used by the assembler to assit with interworking. */

View File

@ -990,7 +990,7 @@
[(call (mem:SI (match_operand:SI 0 "register_operand" "l*r"))
(match_operand 1 "" ""))]
"! TARGET_CALLER_INTERWORKING"
"bl\\t__call_via_%0"
"bl\\t%__call_via_%0"
[(set_attr "length" "4")])
;; The non THUMB_INTERWORK, non TARGET_CALLER_INTERWORKING version
;; used to be: "mov\\tlr,pc\;bx\\t%0", but the mov does not set
@ -1001,7 +1001,7 @@
[(call (mem:SI (match_operand:SI 0 "register_operand" "l*r"))
(match_operand 1 "" ""))]
"TARGET_CALLER_INTERWORKING"
"bl\\t__interwork_call_via_%0"
"bl\\t%__interwork_call_via_%0"
[(set_attr "length" "4")])
(define_expand "call_value"
@ -1016,7 +1016,7 @@
(call (mem:SI (match_operand:SI 1 "register_operand" "l*r"))
(match_operand 2 "" "")))]
"! TARGET_CALLER_INTERWORKING"
"bl\\t__call_via_%1"
"bl\\t%__call_via_%1"
[(set_attr "length" "4")])
;; See comment for call_indirect pattern
@ -1025,7 +1025,7 @@
(call (mem:SI (match_operand:SI 1 "register_operand" "l*r"))
(match_operand 2 "" "")))]
"TARGET_CALLER_INTERWORKING"
"bl\\t__interwork_call_via_%1"
"bl\\t%__interwork_call_via_%1"
[(set_attr "length" "4")])