H. J. Lu wrote: > I will leave xtensa to you. You can pick my xtensa patch if you want. OK. Here's a patch that combines your casts for 64-bit builds with a simple solution to the pointers-stored-as-ints problem. I would really love to replace all the code involved in the latter problem, but it will be a while before I can get to it, and I didn't want to leave the 64-bit builds broken in the meantime. I just changed the code to use pointer fields in the Xtensa-specific tc_frag_data structure. I tested this with --enable-64-bit-bfd builds on both x86_64-unknown-linux-gnu and i686-pc-linux-gnu hosts. Committed on the mainline and 2.16 branch. 2005-04-14 Bob Wilson H.J. Lu * config/tc-xtensa.h (struct xtensa_frag_type): Add lit_frchain field. * config/tc-xtensa.c (xg_translate_sysreg_op, xtensa_translate_old_userregs_ops, xtensa_find_unaligned_branch_targets, xtensa_find_unaligned_loops, xtensa_fix_close_loop_end_frags, relax_frag_add_nop): Support 64-bit host. (xtensa_mark_literal_pool_location, xtensa_move_literals): Use tc_frag_data lit_frchain and lit_seg fields instead of fr_var.