"Amker.Cheng" <amker.cheng@xxxxxxxxx> writes: >> I don't understand why this would happen, because I don't understand why >> gcc/lto would link libc.a in first. It shouldn't. If this is indeed >> the problem, then it presumably is not happening on other targets >> because on most targets there is no LTO information for libc.a. I would >> recommend opening a bug report for this with enough input files (e.g., >> libc.a) to recreate the problem. >> >> Ian >> > Thanks Ian, I am sure that our libc.a has no lto information > either,Does it have sth to do with this? > Since I was thinking that lto could be done between objects/libraries > which have and don't have lto information. > Am I right? You can use LTO to combine objects/libraries with LTO information and objects/libraries without, sure, but of course gcc won't know anything special about object/libraries without LTO information. I don't see how that could lead a multiple definition error for a function like strlen. Ian