diff options
author | Jozef Lawrynowicz <jozef.l@mittosystems.com> | 2018-11-16 23:53:30 +0000 |
---|---|---|
committer | Jozef Lawrynowicz <jozefl@gcc.gnu.org> | 2018-11-16 23:53:30 +0000 |
commit | cac6691c1375ea292e430d2c5780ebd3372f5f66 (patch) | |
tree | 26e6b0d4664cd6bc308e5010c9c81781e26aaebe /gcc/varasm.c | |
parent | 8808260dfd1f7f25e7464bcf8006235677830672 (diff) | |
download | gcc-cac6691c1375ea292e430d2c5780ebd3372f5f66.zip gcc-cac6691c1375ea292e430d2c5780ebd3372f5f66.tar.gz gcc-cac6691c1375ea292e430d2c5780ebd3372f5f66.tar.bz2 |
re PR target/87927 (ICE: segmentation fault with patchable_function_entry attribute for msp430-elf -mlarge)
2018-11-16 Jozef Lawrynowicz <jozef.l@mittosystems.com>
PR target/87927
* target-def.h: Initialize TARGET_ASM_{,UN}ALIGNED_P{S,D,T}I_OP.
Add them to the TARGET_ASM_{,UN}ALIGNED_INT_OP structs.
* target.def: Enumerate TARGET_ASM_{,UN}ALIGNED_P{S,D,T}I_OP in
the byte_op hook.
* target.h: Add psi, pdi, pti to struct asm_int_op definition.
* targhooks.c (default_print_patchable_function_entry): Assert
asm_int_op does not return a NULL string.
* varasm.c (integer_asm_op): Return the op for a partial int type
when the requested size does not correspond to an integer type.
* config/msp430/msp430.c: Initialize TARGET_ASM_{,UN}ALIGNED_PSI_OP.
* doc/tm.texi: Regenerate.
From-SVN: r266226
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index 545e13f..243d205 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -2733,10 +2733,24 @@ integer_asm_op (int size, int aligned_p) return targetm.asm_out.byte_op; case 2: return ops->hi; + case 3: + return ops->psi; case 4: return ops->si; + case 5: + case 6: + case 7: + return ops->pdi; case 8: return ops->di; + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + return ops->pti; case 16: return ops->ti; default: |