Fix use of USER_LABEL_PREFIX when calling gcc library functions
From-SVN: r21360
This commit is contained in:
parent
1bc54bc955
commit
0d1be5835f
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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. */
|
||||
|
@ -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")])
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user