Lines Matching defs:howto

83 #define SELECT_RELOC(internal, howto)					\
85 internal.r_type = howto->type; \
87 ((howto->complain_on_overflow == complain_overflow_signed \
90 | (howto->bitsize - 1)); \
1008 /* Default howto layout works most of the time */
1009 relent->howto = &xcoff_howto_table[internal->r_type];
1015 relent->howto = &xcoff_howto_table[0x1c];
1017 relent->howto = &xcoff_howto_table[0x1d];
1019 relent->howto = &xcoff_howto_table[0x1e];
1027 if (relent->howto->dst_mask != 0
1028 && (relent->howto->bitsize
2764 xcoff_reloc_type_noop (input_bfd, input_section, output_bfd, rel, sym, howto,
2771 struct reloc_howto_struct *howto ATTRIBUTE_UNUSED;
2781 xcoff_reloc_type_fail (input_bfd, input_section, output_bfd, rel, sym, howto,
2788 struct reloc_howto_struct *howto ATTRIBUTE_UNUSED;
2802 xcoff_reloc_type_pos (input_bfd, input_section, output_bfd, rel, sym, howto,
2809 struct reloc_howto_struct *howto ATTRIBUTE_UNUSED;
2820 xcoff_reloc_type_neg (input_bfd, input_section, output_bfd, rel, sym, howto,
2827 struct reloc_howto_struct *howto ATTRIBUTE_UNUSED;
2838 xcoff_reloc_type_rel (input_bfd, input_section, output_bfd, rel, sym, howto,
2845 struct reloc_howto_struct *howto;
2851 howto->pc_relative = TRUE;
2863 xcoff_reloc_type_toc (input_bfd, input_section, output_bfd, rel, sym, howto,
2870 struct reloc_howto_struct *howto ATTRIBUTE_UNUSED;
2906 xcoff_reloc_type_ba (input_bfd, input_section, output_bfd, rel, sym, howto,
2913 struct reloc_howto_struct *howto;
2919 howto->src_mask &= ~3;
2920 howto->dst_mask = howto->src_mask;
2928 xcoff_reloc_type_br (input_bfd, input_section, output_bfd, rel, sym, howto,
2935 struct reloc_howto_struct *howto;
2990 howto->complain_on_overflow = complain_overflow_dont;
2993 howto->pc_relative = TRUE;
2994 howto->src_mask &= ~3;
2995 howto->dst_mask = howto->src_mask;
3007 xcoff_reloc_type_crel (input_bfd, input_section, output_bfd, rel, sym, howto,
3014 struct reloc_howto_struct *howto;
3020 howto->pc_relative = TRUE;
3021 howto->src_mask &= ~3;
3022 howto->dst_mask = howto->src_mask;
3034 xcoff_complain_overflow_dont_func (input_bfd, val, relocation, howto)
3038 struct reloc_howto_struct *howto ATTRIBUTE_UNUSED;
3044 xcoff_complain_overflow_bitfield_func (input_bfd, val, relocation, howto)
3048 struct reloc_howto_struct *howto;
3057 fieldmask = N_ONES (howto->bitsize);
3060 b = val & howto->src_mask;
3066 a >>= howto->rightshift;
3067 b >>= howto->bitpos;
3089 ss = (signmask << howto->rightshift) - 1;
3102 if (howto->bitsize + howto->rightshift
3120 xcoff_complain_overflow_signed_func (input_bfd, val, relocation, howto)
3124 struct reloc_howto_struct *howto;
3133 fieldmask = N_ONES (howto->bitsize);
3136 b = val & howto->src_mask;
3138 a = (a & addrmask) >> howto->rightshift;
3145 if (ss != 0 && ss != ((addrmask >> howto->rightshift) & signmask))
3154 signmask = ((~ howto->src_mask) >> 1) & howto->src_mask;
3161 b = (b & addrmask) >> howto->bitpos;
3182 xcoff_complain_overflow_unsigned_func (input_bfd, val, relocation, howto)
3186 struct reloc_howto_struct *howto;
3195 fieldmask = N_ONES (howto->bitsize);
3198 b = val & howto->src_mask;
3211 a = (a & addrmask) >> howto->rightshift;
3212 b = (b & addrmask) >> howto->bitpos;
3358 struct reloc_howto_struct howto;
3370 /* howto */
3371 howto.type = rel->r_type;
3372 howto.rightshift = 0;
3373 howto.bitsize = (rel->r_size & 0x1f) + 1;
3374 howto.size = howto.bitsize > 16 ? 2 : 1;
3375 howto.pc_relative = FALSE;
3376 howto.bitpos = 0;
3377 howto.complain_on_overflow = (rel->r_size & 0x80
3380 howto.special_function = NULL;
3381 howto.name = "internal";
3382 howto.partial_inplace = TRUE;
3383 howto.src_mask = howto.dst_mask = N_ONES (howto.bitsize);
3384 howto.pcrel_offset = FALSE;
3449 (input_bfd, input_section, output_bfd, rel, sym, &howto, val,
3461 if (1 == howto.size)
3473 if ((unsigned int) howto.complain_on_overflow
3477 if (((*xcoff_complain_overflow[howto.complain_on_overflow])
3478 (input_bfd, value_to_relocate, relocation, &howto)))
3507 value_to_relocate = ((value_to_relocate & ~howto.dst_mask)
3508 | (((value_to_relocate & howto.src_mask)
3509 + relocation) & howto.dst_mask));
3512 if (1 == howto.size)