https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115485
--- Comment #8 from Gang Peng <gang.peng at aclsemi dot com> --- (In reply to Andrew Pinski from comment #6) > if (!crtl->uses_pic_offset_table || compute_now) > { > gcc_assert (can_create_pseudo_p () > || (pic_reg != NULL_RTX > && REG_P (pic_reg) > && GET_MODE (pic_reg) == Pmode)); > > > It has to do with these 2 options: > > -msingle-pic-base -mpic-register=r9 Dear Mr. Pinski, Thank you very much for you kindly reply. Yes, I need these compile option: CFLAGS += -fPIE CFLAGS += -msingle-pic-base CFLAGS += -mpic-register=r9 CFLAGS += -fomit-frame-pointer CFLAGS += -mno-pic-data-is-text-relative CFLAGS += -mthumb CFLAGS += -mlong-calls When we remove the -mlong-calls option, it can compile OK, but we need the -mlong-calls option to compile. Thanks & BRs Gang Peng