This is the mail archive of the newlib@sources.redhat.com mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Bare Bone Arm-Elf-Gcc


Richard Earnshaw wrote:
Well, for starters you haven't removed the problem of having the
syscalls in newlib.  Because they are in libc, you can't simply
add your own library to replace them.

I will soon be checking in a patch to add the configuration option I
mention below.

Now, regarding modifying libnosys.  What modifications did you have in mind?
It currently is a generic default stub library meant to patch up any library
missing syscalls.  It doesn't supply _exit so in itself is not complete.
I don't see much value-add in making this platform-specific / board-specific
as there is already a system in place for building platform-specific / board-specific
libraries.


Can you provide more information on how this is supposed to work? As I understand your intent, it would appear that there will be a separate library now that contains the syscalls. How is that going to be linked into an application? Are you expecting GCC to know about it? If so, then that's going to mean a separate configuration for targeting Newlib, something we've never needed before.

R.

For starters, current behavior is still the default.

Now, with the option set to disable syscalls in newlib, you would add a new
library in libgloss/arm.  As well, it would be advisable for you to create a
new .ld linker script which specified your new library and if needed, a new
crt0 file.  Let's say for the moment, your ld script is called bare.ld.
A user would simply add -Tbare.ld on the compile/link command.

arm-elf-gcc -Tbare.ld helloworld.c

gcc should not know about this.  The idea is that you have a non-default system.
The user has to do something to tell gcc/newlib/libgloss about it.  The ld
script is simple to use.

Now, my future plans are to copy the syscalls from newlib
and put them in libgloss.  Again, there would be an ld script and a separate
library.  We could then coordinate with gcc to use the default library and
we could then later remove the syscalls from newlib for good.

-- Jeff J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]