aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorJozef Lawrynowicz <jozef.l@mittosystems.com>2018-11-16 23:53:30 +0000
committerJozef Lawrynowicz <jozefl@gcc.gnu.org>2018-11-16 23:53:30 +0000
commitcac6691c1375ea292e430d2c5780ebd3372f5f66 (patch)
tree26e6b0d4664cd6bc308e5010c9c81781e26aaebe /gcc/varasm.c
parent8808260dfd1f7f25e7464bcf8006235677830672 (diff)
downloadgcc-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.c14
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: