それはgccじゃなくてリンカldの仕事。VC++でもリンカliの仕事。
んで、--as-neededがそれなのかな?よく知らないいけど。
gccから渡すには、-Wl,LFLAGSのようだけど。