This is the mail archive of the
mailing list for the newlib project.
Re: [PATCH libgloss]Using spec files to support two version of newlib library in one tool-chain release
- From: Craig Howland <howland at LGSInnovations dot com>
- To: newlib at sourceware dot org
- Date: Tue, 12 Aug 2014 11:27:37 -0400
- Subject: Re: [PATCH libgloss]Using spec files to support two version of newlib library in one tool-chain release
- Authentication-results: sourceware.org; auth=none
- References: <001e01cfb600$ce404f10$6ac0ed30$ at arm dot com>
On 08/12/2014 03:41 AM, Bin Cheng wrote:
1) Build two version of newlib, one is the normal version, which is used as
default; the other one is built by enabling all code size tailoring
2) For the tailored version of library, we manually rename
libc.a/libgloss.a(/libstdc++.a) into libc_s.a/libgloss_s.a(/libstdc++_s.a).
These renamed libraries are installed to the same target directory and
coexist with normal version ones.
3) specs files like nano.specs/rdimon.specs/nosys.specs are introduced in
order to automatically choose wanted version of library for linking. In
other words, GCC can choose libc_s.a or libc.a according to specs files
provided by end-users.
This patch is to support this. With this feature, developers only need to
specify "-specs=nano.specs" to link the small foot-print lib*_s.a libraries.
The patch adds new specs file "nano.specs" as well as modifies
rdimon.specs/nosys.specs as necessary. Though nosys.specs is changed, the
default behavior won't be changed unless "-specs=nano.specs" is specified.
One thought on word choice for consideration: the new library files are named
with an "_s" suffix, yet the option and file names use "nano", which has no
letters in common with the _s. Presumably the "s" comes from small or size.
Might it be better to use "small" or "size" instead of "nano"? Or something
else that more readily associates? (Not a big thing, but would become more
important were another option to be added later.)