Lines Matching full:fixp
1160 fixS *fixP, valueT value)
1162 if (fixP->fx_r_type == BFD_RELOC_8
1163 || fixP->fx_r_type == BFD_RELOC_16
1164 || fixP->fx_r_type == BFD_RELOC_32)
1166 as_bad_where (fixP->fx_file, fixP->fx_line,
1183 gas_assert (fixP->fx_size == opcode->size);
1189 = ((fixP->fx_frag->fr_address + fixP->fx_where) & 0xf0000000);
1193 as_bad_where (fixP->fx_file, fixP->fx_line,
1199 as_bad_where (fixP->fx_file, fixP->fx_line,
1203 as_bad_where (fixP->fx_file, fixP->fx_line,
1209 as_bad_where (fixP->fx_file, fixP->fx_line,
1213 as_bad_where (fixP->fx_file, fixP->fx_line,
1218 as_bad_where (fixP->fx_file, fixP->fx_line,
1223 as_bad_where (fixP->fx_file, fixP->fx_line,
1228 as_bad_where (fixP->fx_file, fixP->fx_line,
1233 as_bad_where (fixP->fx_file, fixP->fx_line,
1238 as_bad_where (fixP->fx_file, fixP->fx_line,
1243 as_bad_where (fixP->fx_file, fixP->fx_line,
1252 md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
1255 gas_assert (fixP != NULL && valP != NULL
1256 && (fixP->fx_r_type == BFD_RELOC_8
1257 || fixP->fx_r_type == BFD_RELOC_16
1258 || fixP->fx_r_type == BFD_RELOC_32
1259 || fixP->fx_r_type == BFD_RELOC_64
1260 || fixP->fx_r_type == BFD_RELOC_NIOS2_S16
1261 || fixP->fx_r_type == BFD_RELOC_NIOS2_U16
1262 || fixP->fx_r_type == BFD_RELOC_16_PCREL
1263 || fixP->fx_r_type == BFD_RELOC_NIOS2_CALL26
1264 || fixP->fx_r_type == BFD_RELOC_NIOS2_IMM5
1265 || fixP->fx_r_type == BFD_RELOC_NIOS2_CACHE_OPX
1266 || fixP->fx_r_type == BFD_RELOC_NIOS2_IMM6
1267 || fixP->fx_r_type == BFD_RELOC_NIOS2_IMM8
1268 || fixP->fx_r_type == BFD_RELOC_NIOS2_HI16
1269 || fixP->fx_r_type == BFD_RELOC_NIOS2_LO16
1270 || fixP->fx_r_type == BFD_RELOC_NIOS2_HIADJ16
1271 || fixP->fx_r_type == BFD_RELOC_NIOS2_GPREL
1272 || fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT
1273 || fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY
1274 || fixP->fx_r_type == BFD_RELOC_NIOS2_UJMP
1275 || fixP->fx_r_type == BFD_RELOC_NIOS2_CJMP
1276 || fixP->fx_r_type == BFD_RELOC_NIOS2_CALLR
1277 || fixP->fx_r_type == BFD_RELOC_NIOS2_ALIGN
1278 || fixP->fx_r_type == BFD_RELOC_NIOS2_GOT16
1279 || fixP->fx_r_type == BFD_RELOC_NIOS2_CALL16
1280 || fixP->fx_r_type == BFD_RELOC_NIOS2_GOTOFF_LO
1281 || fixP->fx_r_type == BFD_RELOC_NIOS2_GOTOFF_HA
1282 || fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_GD16
1283 || fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_LDM16
1284 || fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_LDO16
1285 || fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_IE16
1286 || fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_LE16
1287 || fixP->fx_r_type == BFD_RELOC_NIOS2_GOTOFF
1288 || fixP->fx_r_type == BFD_RELOC_NIOS2_TLS_DTPREL
1289 || fixP->fx_r_type == BFD_RELOC_NIOS2_CALL26_NOAT
1290 || fixP->fx_r_type == BFD_RELOC_NIOS2_GOT_LO
1291 || fixP->fx_r_type == BFD_RELOC_NIOS2_GOT_HA
1292 || fixP->fx_r_type == BFD_RELOC_NIOS2_CALL_LO
1293 || fixP->fx_r_type == BFD_RELOC_NIOS2_CALL_HA
1294 || fixP->fx_r_type == BFD_RELOC_NIOS2_R2_S12
1295 || fixP->fx_r_type == BFD_RELOC_NIOS2_R2_I10_1_PCREL
1296 || fixP->fx_r_type == BFD_RELOC_NIOS2_R2_T1I7_1_PCREL
1297 || fixP->fx_r_type == BFD_RELOC_NIOS2_R2_T1I7_2
1298 || fixP->fx_r_type == BFD_RELOC_NIOS2_R2_T2I4
1299 || fixP->fx_r_type == BFD_RELOC_NIOS2_R2_T2I4_1
1300 || fixP->fx_r_type == BFD_RELOC_NIOS2_R2_T2I4_2
1301 || fixP->fx_r_type == BFD_RELOC_NIOS2_R2_X1I7_2
1302 || fixP->fx_r_type == BFD_RELOC_NIOS2_R2_X2L5
1303 || fixP->fx_r_type == BFD_RELOC_NIOS2_R2_F1I5_2
1304 || fixP->fx_r_type == BFD_RELOC_NIOS2_R2_L5I4X1
1305 || fixP->fx_r_type == BFD_RELOC_NIOS2_R2_T1X1I6
1306 || fixP->fx_r_type == BFD_RELOC_NIOS2_R2_T1X1I6_2
1310 if (fixP->fx_r_type == BFD_RELOC_64)
1314 if (fixP->fx_addsy != NULL)
1315 as_bad_where (fixP->fx_file, fixP->fx_line,
1319 md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
1321 fixP->fx_done = 1;
1328 resolved expression. In the former case, both fixP->fx_addsy
1329 and fixP->fx_subsy are NULL, and fixP->fx_offset == *valP, and
1330 we can fix up the instruction that fixP relates to.
1331 In the latter case, one or both of fixP->fx_addsy and
1332 fixP->fx_subsy are not NULL, and fixP->fx_offset may or may not
1333 equal *valP. We don't need to check for fixP->fx_subsy being null
1336 if (fixP->fx_addsy != NULL)
1339 fixP->fx_addnumber = fixP->fx_offset;
1340 fixP->fx_done = 0;
1342 switch (fixP->fx_r_type)
1352 S_SET_THREAD_LOCAL (fixP->fx_addsy);
1362 = bfd_reloc_type_lookup (stdoutput, fixP->fx_r_type);
1365 as_bad_where (fixP->fx_file, fixP->fx_line,
1375 FIXME : for some reason fixP->fx_pcrel isn't 1 when it should be
1379 fixup = (fixup - (fixP->fx_frag->fr_address + fixP->fx_where
1380 + fixP->fx_size));
1385 buf = fixP->fx_frag->fr_literal + fixP->fx_where;
1386 value = md_chars_to_number (buf, fixP->fx_size);
1390 nios2_diagnose_overflow (fixup, howto, fixP, value);
1396 switch (fixP->fx_r_type)
1418 md_number_to_chars (buf, value, fixP->fx_size);
1421 fixP->fx_done = 1;
1424 if (fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT)
1426 fixP->fx_done = 0;
1427 if (fixP->fx_addsy
1428 && !S_IS_DEFINED (fixP->fx_addsy) && !S_IS_WEAK (fixP->fx_addsy))
1429 S_SET_WEAK (fixP->fx_addsy);
1431 else if (fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
1432 fixP->fx_done = 0;
3791 nios2_force_relocation (fixS *fixp)
3793 if (fixp->fx_r_type == BFD_RELOC_VTABLE_INHERIT
3794 || fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY
3795 || fixp->fx_r_type == BFD_RELOC_NIOS2_ALIGN)
3798 return generic_force_reloc (fixp);
3803 nios2_fix_adjustable (fixS *fixp)
3805 if (fixp->fx_addsy == NULL)
3811 && (S_IS_EXTERNAL (fixp->fx_addsy) || S_IS_WEAK (fixp->fx_addsy)))
3814 if (fixp->fx_r_type == BFD_RELOC_VTABLE_INHERIT
3815 || fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
3819 if (symbol_get_bfdsym (fixp->fx_addsy)->flags & BSF_FUNCTION)
3823 if (fixp->fx_r_type == BFD_RELOC_NIOS2_GOT16
3824 || fixp->fx_r_type == BFD_RELOC_NIOS2_CALL16
3825 || fixp->fx_r_type == BFD_RELOC_NIOS2_GOTOFF_LO
3826 || fixp->fx_r_type == BFD_RELOC_NIOS2_GOTOFF_HA
3827 || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_GD16
3828 || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_LDM16
3829 || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_LDO16
3830 || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_IE16
3831 || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_LE16
3832 || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_DTPMOD
3833 || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_DTPREL
3834 || fixp->fx_r_type == BFD_RELOC_NIOS2_TLS_TPREL
3835 || fixp->fx_r_type == BFD_RELOC_NIOS2_GOTOFF
3836 || fixp->fx_r_type == BFD_RELOC_NIOS2_GOT_LO
3837 || fixp->fx_r_type == BFD_RELOC_NIOS2_GOT_HA
3838 || fixp->fx_r_type == BFD_RELOC_NIOS2_CALL_LO
3839 || fixp->fx_r_type == BFD_RELOC_NIOS2_CALL_HA
3860 fixup fixp, and returns a pointer to it. This structure is passed
3864 tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
3868 *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
3870 reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
3871 reloc->addend = fixp->fx_offset; /* fixp->fx_addnumber; */
3873 if (fixp->fx_pcrel)
3875 switch (fixp->fx_r_type)
3878 fixp->fx_r_type = BFD_RELOC_16_PCREL;
3881 fixp->fx_r_type = BFD_RELOC_NIOS2_PCREL_LO;
3884 fixp->fx_r_type = BFD_RELOC_NIOS2_PCREL_HA;
3891 reloc->howto = bfd_reloc_type_lookup (stdoutput, fixp->fx_r_type);
3894 as_bad_where (fixp->fx_file, fixp->fx_line,
3896 bfd_get_reloc_code_name (fixp->fx_r_type));
3906 md_pcrel_from (fixS *fixP ATTRIBUTE_UNUSED)