From 89d334ffe1fe7667505033f4ca49ff50954d9e7e Mon Sep 17 00:00:00 2001 From: Gustavo Niemeyer Date: Wed, 22 Jun 2011 15:12:22 -0400 Subject: [PATCH] ld: don't attempt to build dynamic sections unnecessarily This prevents ld from generating zeroed symtab entries for sections that aren't going to be generated because dynamic linkage has been disabled (-d was used or no dynamic libs were seen). Even though they were not explicitly added by doelf, the section creation process was making them reachable again. The windows head is being disconsidered for this because apparently it's not taking into account debug['d']. This makes elflint 0.1% happier. R=golang-dev, rsc, gustavo CC=golang-dev https://golang.org/cl/4638050 --- src/cmd/ld/data.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/cmd/ld/data.c b/src/cmd/ld/data.c index 9d9cd109b8..bdad58ff9a 100644 --- a/src/cmd/ld/data.c +++ b/src/cmd/ld/data.c @@ -278,6 +278,10 @@ dynreloc(void) { Sym *s; + // -d supresses dynamic loader format, so we may as well not + // compute these sections or mark their symbols as reachable. + if(debug['d'] && HEADTYPE != Hwindows) + return; if(debug['v']) Bprint(&bso, "%5.2f reloc\n", cputime()); Bflush(&bso); -- 2.48.1