This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
RE: Implementation of ARM EABI library requirements?
- From: "Schwarz, Konrad" <konrad dot schwarz at siemens dot com>
- To: "Mark Mitchell" <mark at codesourcery dot com>
- Cc: "Newlib" <newlib at sourceware dot org>
- Date: Tue, 18 Dec 2007 09:45:48 +0100
- Subject: RE: Implementation of ARM EABI library requirements?
- References: <4762E8ED.4060104@codesourcery.com> <4766F5D8.3050304@redhat.com>
> > The tricky bit (assuming that the compiler ABIs are already
> lined up) is
> > that the C libraries may use different values for constants (e.g.,
> > LC_COLLATE) and different implementations for macros (e.g.,
> stdin and
> > <ctype.h>). These issues are resolved via indirection: LC_COLLATE
> > becomes a link-time constant, rather than a header-file
> constant, for
> > example. (That's not technically ISO C conformant, but most
> > applications don't care.)
Just out of interest: how much practical interest is there in these
extensions?
Using link-time constants entails that it is no longer possible to
initialize constant data with non-trivial expressions containing such
constants -- trivial being the usual constant + base supported by
relocating linkers, right?
The entire problem goes away if the supplier of binary components
compiles his code with his compiler, but using the target tool-chain's
header files (with suitably protected tool-chain-specific extensions,
possibly extended by the local compiler's extensions), right?
Regards,
Konrad Schwarz