replace invocations of -Ttext=.. with --section-start=.text=.. for gnu gold-ld. it was giving very weird results when given page-rounded values. --section-start=.text=.. works for both bfd-ld and gold.