https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68662
--- Comment #9 from Alan Modra <amodra at gmail dot com> --- For the testcase in comment #7, global_options are inconsistent (*) and wrong when compiling foo. I see flag_pic == 2 there?? (*) In particular, TARGET_RELOCATABLE and flag_pic don't agree. See config/rs6000/sysv4.h SUBTARGET_OVERRIDE_OPTIONS. flag_pic == 2 ought to mean TARGET_RELOCATABLE is true, but TARGET_RELOCATABLE is false. This combination is not recognized in rs6000_emit_move.