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.

Reply via email to