diff options
author | Nick Clifton <nickc@cygnus.com> | 1998-07-24 11:23:45 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 1998-07-24 11:23:45 +0000 |
commit | 0d1be5835ffeeb5a0320569a02f0dc8a22212052 (patch) | |
tree | 8a6c80c3b3f7fb6cc5bc81b945d2d1411d841945 /gcc | |
parent | 1bc54bc9554a24e43ce02cfb40e053dc226b38b3 (diff) | |
download | gcc-0d1be5835ffeeb5a0320569a02f0dc8a22212052.zip gcc-0d1be5835ffeeb5a0320569a02f0dc8a22212052.tar.gz gcc-0d1be5835ffeeb5a0320569a02f0dc8a22212052.tar.bz2 |
Fix use of USER_LABEL_PREFIX when calling gcc library functions
From-SVN: r21360
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/arm/thumb.c | 4 | ||||
-rw-r--r-- | gcc/config/arm/thumb.h | 2 | ||||
-rw-r--r-- | gcc/config/arm/thumb.md | 8 |
4 files changed, 18 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 97b5457..e1613ab 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/arm/thumb.c b/gcc/config/arm/thumb.c index 53ce57c..5ddcc03 100644 --- a/gcc/config/arm/thumb.c +++ b/gcc/config/arm/thumb.c @@ -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); diff --git a/gcc/config/arm/thumb.h b/gcc/config/arm/thumb.h index 976fe78..4030e37 100644 --- a/gcc/config/arm/thumb.h +++ b/gcc/config/arm/thumb.h @@ -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. */ diff --git a/gcc/config/arm/thumb.md b/gcc/config/arm/thumb.md index 65b92ce..6886b8e 100644 --- a/gcc/config/arm/thumb.md +++ b/gcc/config/arm/thumb.md @@ -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")]) |