Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Sep 2013 19:30:01 -0700
From:      Tim Kientzle <kientzle@freebsd.org>
To:        Ed Schouten <ed@80386.nl>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: -ffunction-sections, -fdata-sections and -Wl,--gc-sections
Message-ID:  <C44ABFB8-557D-48F3-A379-C00B6E0E2606@freebsd.org>
In-Reply-To: <CAJOYFBBGY0GosPwG1B=1MKyapChEtX-O97r2zhXpGS8o7WO3gA@mail.gmail.com>
References:  <CAJOYFBBGY0GosPwG1B=1MKyapChEtX-O97r2zhXpGS8o7WO3gA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Sep 15, 2013, at 2:24 PM, Ed Schouten <ed@80386.nl> wrote:
> GCC and Clang support the -ffunction-sections and -fdata-sections
> flags. Essentially, these flags force the compiler to put every
> function and variable in its own section. Though this will blow up the
=85.
> - devd suddenly becomes 500 KB in size, instead of a megabyte,
> - init's size drops from 900 KB to 600 KB,

Can you figure out what functions are getting omitted
when you make this change?

Can you extract a linkage map from a build done this
way and compare it to one done the regular way?

That big of a difference suggests we have some badly-factored
code in our libraries.  That is, some library is putting functions
into a single source file that shouldn't be combined.

Tim




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C44ABFB8-557D-48F3-A379-C00B6E0E2606>