How does the Coldfire m68k subtarget and sure that displacements in PIC code are within the addressable range?
We have a source file in glibc that fails at assembly because it contains a branch that is out of range with -fpic. The GAS error is: …/iso-2022-jp.s: Fatal error: Tried to convert PC relative branch to absolute jump (Not sure if this is actually a branch, the diagnostic isn't really helpful.) The -fPIC option does not help, and -fpic -mpcrel ICEs at the end of m68k.cc:sched_attr_op_type. The op variable at this point is: (mem/u:HI (const:SI (plus:SI (symbol_ref:SI ("__jisx0212_to_ucs_idx") [flags 0x40] <var_decl 0x7ffff761df30 __jisx0212_to_ucs_idx>) (const_int 2 [0x2]))) [2 MEM[(const struct jisx0212_idx *)&__jisx0212_to_ucs_idx].end The iso-2022-jp.c source file has some large data tables, so it's probably not surprising that -fpic doesn't work. Thanks, Florian