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


Jeff,

What would the difference be in just modifying the libnosys directory and then
you could just pass the -lnosys option to gcc?

Dave 


>Dave,
>
>   From the newlib/libgloss side, I have been thinking about this and I
>propose that newlib adds a configuration option that tells newlib not to
>supply low-level syscalls.  This would allow you to build newlib without
>the RDI/RDP syscalls.  You should then place your new code
>in the libgloss/arm directory and build a separate library, crt0, and ld
>script which specifies both your library and your crt0.  You can then
>use the compiler -T option to specify your ld script.
>
>   The configuration options solves a long-standing problem regarding older


>platforms that put the syscall code in newlib and it really should be
>in libgloss.  We could copy the existing code over to libgloss and eventually

>
>remove the problem by syncing up a default ld script with the compiler folks.

>
>>
>>-- Jeff J.
>>
>>David Mc Kenna wrote:
>>> Hi all,
>>> 
>>> I have successfully compiled gcc v3.2.1, binutils v2.13 and newlib v1.10

>on
>>> cygwin for Arm-elf.
>>> 
>>> From these programs I have compiled and run, on hardware, several programs

>doing
>>> math functions,etc. . 
>>> 
>>> I have come across problems when I try to do printf and scanf statements.

>My
>>> main problem is that from delving into newlib/libc/sys/arm/syscalls.c that

>printf
>>> and scanf require RDI or RDP i.e. Angel or Demon, installed on the chip,

>which
>>> I don't have.
>>> 
>>> To get over this I have encoded a software UART using bit banging in assembly

>
>>> and I would like gcc to use this function by default for I/O from the chip.

>
>>> 
>>> 
>>> What is the easiest way to implement this? Is it by modifying syscalls.c

>or
>>> going in via libgloss?
>>> 
>>> Below is my compile script
>>> 
>>> Any help is appreciated
>>> 
>>> Thanks,
>>> Dave
>>> 
>>> 
>>> 
>>> cd $gccver
>>> ln -s ../$newlibver/newlib newlib
>>> ln -s ../$newlibver/libgloss libgloss
>>> 
>>> cp /home/PCAdmin/script/t-arm-elf $src_root/$gccver/gcc/config/arm
>>> 
>>> 
>>> cd $src_root/BUILD/binutils && \rm -rf *
>>> ../../$binutilsver/configure \
>>>     --with-included-gettext --enable-interwork --with-cpu=arm7tdmi \
>>>     --target=$target --host=$host --build=$build --enable-multilib -disable-shared

>
>>> \
>>>     --prefix=$prefix -v >  ../logs/$target-$binutilsver-configure.log 2>&1

>
>>> 
>>> # 	Make Binutils
>>> 
>>> make -w all install > ../logs/$target-$binutilsver-make.log 2>&1
>>> 
>>> 
>>> cd $src_root/BUILD/gcc && rm -rf *
>>> 
>>> $src_root/$gccver/configure \
>>>      	--with-newlib --without-headers --with-gnu-as --with-gnu-ld --enable-win32-registry

>
>>> \
>>>      	--target=$target --prefix=$prefix --exec-prefix=$prefix --host=$host

>
>>>  \
>>>  	--enable-multilib --enable-interwork --disable-shared --enable-languages=c

>
>>> 
>>>>../logs/$target-$gccver-bootconf.log 2>&1
>>> 
>>> 
>>> make all-gcc install-gcc > ../logs/$target-$gccver-bootmake.log 2>&1
>>> 
>>> cd $src_root/BUILD/newlib
>>> $src_root/$newlibver/configure --target=$target --prefix=$prefix > ../logs/$target-$newlibver-conf.log

>
>>> 2>&1
>>> 
>>> make all install > ../logs/$target-$newlibver-make.log 2>&1
>>> 
>>> cd $src_root/BUILD/gcc && rm -rf *
>>> 
>>> $src_root/$gccver/configure \
>>>     --enable-languages=c,c++ \
>>>     --target=$target --host=$host --build=$build --enable-win32-registry

>\
>>>     --with-newlib \
>>>     --prefix=$prefix \
>>>     --exec-prefix=$prefix \
>>>      --enable-multilib --enable-interwork \
>>>     --with-gnu-as --with-gnu-ld  -v > ../logs/$target-$gccver-fullconf.log

>2>&1
>>> 
>>> 
>>> make -w all-gcc install-gcc > ../logs/$target-$gccver-fullmake.log 2>&1

>>> 
>>> 
>>> 
>>> --
>>> http://www.iol.ie
>>
>>
>--
>http://www.iol.ie
>
--
http://www.iol.ie


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