I pushed the build fix to the master branch. You should now be able to build your toolchain, make the LED example, and see the blinking led.
Now the bad news. I tried a bit more complex example but it failed (see the md5-example branch on github). I'm on to chasing why MD5 generation differs between ARM and x86_64 hosts on one hand and PRU target on the other hand. Regarding the ABI. I tried to download TI's compiler to see its readme, but it asked for registration and accepting some EULA. I'd rather not spend my free time reading legalese, so until I see TI's ABI description in an open Wiki, it remains secret to me :) I'll try to propose a GCC PRU ABI in the next couple of days. I'm very keen to hear comments from community. Regards, Dimitar On Sunday, June 15, 2014 9:16:34 AM UTC+3, [email protected] wrote: > > Jason, I reproduced your error by switching to bash as default shell. On > my debian PC the default dash shell silently "drops" the error code from > the failed source command. I'm working on a fix. > > On Thursday, June 12, 2014 2:14:46 AM UTC+3, Jason Kridner wrote: >> >> On Sun, Apr 20, 2014 at 2:49 AM, <[email protected]> wrote: >> > I'd like to announce my hobby project for the past few months - a port >> of >> > GNU GCC and Binutils to TI's PRU. Patches and a simple example can be >> > downloaded from https://github.com/dinuxbg/gnupru . >> > >> > Please note that this is still a work in progress. But since now there >> is a >> > working blinking led example, I decided others may be interested. >> > >> > Disclaimers: >> > 1. This effort has no relation to the rumored TI C PRU compiler. >> > 2. This is a preliminary release, so expect bugs. If your program >> doesn't >> > run, then please be prepared to disassemble and check what the >> > compiler/assembler/linker did. >> > 3. There is no C library. >> > 4. ABI is not yet finalized. >> >> Tried building it on a Mac. Not sure if you are interested, but here's >> the last bit of the error I got when making a quick pass (clone and >> run build.sh): >> >> . >> . >> . >> gcc -DHAVE_CONFIG_H -I. >> -I/Users/jason/workspace/gnupru/src/binutils-gdb/ld -I. >> -I/Users/jason/workspace/gnupru/src/binutils-gdb/ld -I../bfd >> -I/Users/jason/workspace/gnupru/src/binutils-gdb/ld/../bfd >> -I/Users/jason/workspace/gnupru/src/binutils-gdb/ld/../include -g -O2 >> -DENABLE_PLUGINS >> -DLOCALEDIR="\"/Users/jason/bin/pru-gcc/share/locale\"" -W -Wall >> -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -O2 -MT >> ldlex-wrapper.o -MD -MP -MF .deps/ldlex-wrapper.Tpo -c -o >> ldlex-wrapper.o >> /Users/jason/workspace/gnupru/src/binutils-gdb/ld/ldlex-wrapper.c >> -Wno-error >> libtool: link: gcc -dynamiclib -o .libs/libldtestplug.0.dylib >> .libs/libldtestplug_la-testplug.o -lz -Wl,-no_pie -install_name >> /nowhere/libldtestplug.0.dylib -compatibility_version 1 >> -current_version 1.0 -Wl,-single_module >> mv -f .deps/ldlang.Tpo .deps/ldlang.Po >> LIB_PATH='' /bin/sh >> /Users/jason/workspace/gnupru/src/binutils-gdb/ld/genscripts.sh >> "/Users/jason/workspace/gnupru/src/binutils-gdb/ld" >> "/Users/jason/bin/pru-gcc/lib" "/Users/jason/bin/pru-gcc" >> "/Users/jason/bin/pru-gcc" x86_64-apple-darwin12.5.0 pru-unknown-none >> pru "pruelf" "/usr/local/lib /lib /usr/lib" no no pruelf "pru" >> libtool: link: (cd ".libs" && rm -f "libldtestplug.dylib" && ln -s >> "libldtestplug.0.dylib" "libldtestplug.dylib") >> libtool: link: ar rc .libs/libldtestplug.a libldtestplug_la-testplug.o >> libtool: link: ranlib .libs/libldtestplug.a >> In file included from >> /Users/jason/workspace/gnupru/src/binutils-gdb/ld/ldlex-wrapper.c:26: >> ldlex.c: In function ‘yy_scan_buffer’: >> ldlex.c:3822: warning: declaration of ‘base’ shadows a global declaration >> /Users/jason/workspace/gnupru/src/binutils-gdb/ld/ldlang.h:508: >> warning: shadowed declaration is here >> libtool: link: ( cd ".libs" && rm -f "libldtestplug.la" && ln -s >> "../libldtestplug.la" "libldtestplug.la" ) >> /Users/jason/workspace/gnupru/src/binutils-gdb/ld/genscrba.sh: line 6: >> /Users/jason/workspace/gnupru/src/binutils-gdb/ld/emultempl/pruelf.em: >> No such file or directory >> make[4]: *** [epruelf.c] Error 1 >> make[4]: *** Waiting for unfinished jobs.... >> rm -f ld.pod >> mv -f .deps/ldlex-wrapper.Tpo .deps/ldlex-wrapper.Po >> make[3]: *** [all-recursive] Error 1 >> make[2]: *** [all] Error 2 >> make[1]: *** [all-ld] Error 2 >> make: *** [all] Error 2 >> >> >> I'll try again on an ARM/Linux board next, but the Mac was handy at >> the time. Might look a bit more at where pruelf.em gets created, but >> didn't know if it might simply be missing from the patch as the other >> .em files all seem to be under source control and not generated. >> >> > >> > Regards, >> > Dimitar >> > >> > -- >> > For more options, visit http://beagleboard.org/discuss >> > --- >> > You received this message because you are subscribed to the Google >> Groups >> > "BeagleBoard" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> an >> > email to [email protected]. >> > For more options, visit https://groups.google.com/d/optout. >> > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
