This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: [PATCH] libgloss/arm: Remove abort.
On 6/1/06, Jeff Johnston <jjohnstn@redhat.com> wrote:
...
We have talked about this before. Gcc has to change over to use
libgloss by default. Adding libgloss into the specs file would do it in
conjunction with making non-newlib-supplied-syscalls the default from
then on. Adding libgloss back into libc.a is not going to happen.
Yes, keeping the two in sync is a pain, but for the most part, this
isn't being done. In this particular case, libc/sys/arm is broken so it
must be fixed.
Hello Jeff,
Here's a diff against the arm-elf specs file that I've been using for
some time now along with --disable-newlib-supplied-syscalls. It
defaults to using libnosys, which conspicuously displays `xxx is not
implemented' messages when linking, and allows overriding the libgloss
selection in a one-stanza specs file that simply overrides
%(libgloss).
I haven't found which file in the gcc/config hierarchy defines
LIB_SPEC for arm-elf, but I did stumble on gcc/config/libgloss.h,
whose existance is interesting.
Cheers,
Shaun
--- specs.orig 2006-06-27 09:07:35.000000000 -0600
+++ specs 2006-06-27 09:08:48.000000000 -0600
@@ -50,8 +50,11 @@
*link:
%{mbig-endian:-EB} %{mlittle-endian:-EL} -X
+*libgloss:
+-lnosys
+
*lib:
-%{!shared:%{g*:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}}
+%{!shared:%{g*:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}} %(libgloss)
*mfwrap:
%{static: %{fmudflap|fmudflapth: --wrap=malloc --wrap=free
--wrap=calloc --wrap=realloc --wrap=mmap --wrap=munmap --wrap=alloca}
%{fmudflapth: --wrap=pthread_create}} %{fmudflap|fmudflapth:
--wrap=main}