jimmy writes: > Nick Clifton wrote: > > Hi Jimmy, > > > >> Can gcc or ld perform dead procedure elimination apart from using the > >> combination of --gc-sections/-ffunction-sections? > > > > (Why are you excluding the --gc-sections / -ffunction-sections pairing > > which were designed precisely for this purpose ?) > > > > The short answer is yes. Gcc can and will eliminate unused local > > procedures, and with its --whole-program option it can even eliminate > > unused non-local procedures. > > > > But your question implies that you are asking if between them the linker > > and compiler can eliminate unused procedures without recompilation of > > all the sources, and in this case the answer is no. > > I thght the linker alone was supposed to be able to do > dead-procedure-elimination. After all can't the linker determine which > procedures are unreferenced in the final executable? > > If i'm not mistaken the diablo linker can do this? GNU ld can do this too. It does it if you compile with -ffunction-sections. Andrew.