This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
David: Yes, I just nuke those lines in configure.host. As for write_r, I just put it in a project C file. I avoid modifying Newlib unless absolutely necessary, to save maintenance headaches. On Thu, Feb 06, 2003 at 03:46:19PM +0000, David McKenna wrote: > Thanks for the help, > > Just a few questions: > > How do you disable RDP/RDI, is it as simple as commenting out the following lines in configure.host in > $src/newlib direcotry? > > newlib_cflags="${newlib_cflags} -DARM_RDP_MONITOR" > newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR" > > Also you say that you supply your own write_r ,etc. functions, where are these placed? > > Thanks for the help, > Dave > > "William A. Gatliff" wrote: > > > David: > > > > I usually supply my own write_r et al functions. In addition, I > > usually rebuild Newlib without RDP/RDI when I don't have Angel > > around--- like when I'm testing my ARM7TDMI stub, to be out Real Soon > > Now! > > > > Rebuilding Newlib without RDP/RDI gets rid of all the SWIs that Angel > > uses, but exposes a bug in the 1.10.0 startup code. > > > > The code currently looks like this: > > > > #else > > /* Set up the stack pointer to a fixed value */ > > ldr r3, .LC0 > > mov sp, r3 > > > > ... > > .LC0: > > #ifdef ARM_RDI_MONITOR > > .word HeapBase > > #else > > #ifndef ARM_RDP_MONITOR > > #ifdef __pe__ > > .word 0x800000 > > #else > > /* .word 0x80000 */ /* Top of RAM on the PIE board. */ > > #endif > > #endif > > #endif > > .LC1: > > .word __bss_start__ > > ... > > > > Without RDP/RDI, the value of LCO is the start of .bss, which is > > obviously wrong. As it turns out, it's also the end of .ctors, which > > causes the system to crash during default constructors, if it gets > > that far. :^) > > > > The fix is to do something like this: > > > > #ifndef ARM_RDP_MONITOR > > #ifdef __pe__ > > .word 0x800000 > > #else > > .word _stack > > #endif > > #endif > > > > HTH, > > > > b.g. > > > > On Wed, Feb 05, 2003 at 08:06:56PM +0000, 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 > > > > > > ------ > > > Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ > > > Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com > > > > > -- > > Bill Gatliff > > Professional embedded Linux training. > > http://billgatliff.com > > > > ------ > > Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ > > Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com > > -- > --------------------------------------------------- > ##|`##### David Mc Kenna > ##| `### Design Engineer, > ##| ># MCV Group, Analog Devices, > ##| ,### Raheen Business Park, Limerick, Ireland. > ##|,##### Ph: +353 61 494155 Ext. 4155 > --------------------------------------------------- > > -- Bill Gatliff In the dark on embedded Linux? Step into the light. http://billgatliff.com ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |