[Ping] RE: CR16 Port addition
Jayant R. Sonar
Jayant.Sonar@kpitcummins.com
Wed Nov 30 10:50:00 GMT 2011
Hello Rainer,
Thank you for quickly reviewing the patch.
I have modified the patch as per your suggestions.
Please find the modified patch attached with this mail.
>>* LIB1ASMSRC is relative to libgcc/config, and the file is called
>> lib1funcs.S. Please change the patch accordingly.
This has been fixed now.
>>* gcc/config.gcc uses cr16-*-elf as target, while libgcc/config.host has
>> cr16-*-*. Please use the former in libgcc, too, and add to
>> extra_parts which already has crtbegin.o crtend.o for all *-*-elf
>> targets.
This has been fixed now.
>>* It seems highly unfortunate that cr16 has its own copy of the
>> unwinder, apparently even containing some references to ia64 which are
>> certainly inapproprate here.
I have removed the code related to IA64 from the unwind-cr16.c file.
>> Given the amount of copy&paste
>> programming within the gcc tree, is there any way to make cr16
>> specific changes to the generic versions of this code?
I saw only one target specific conditional code present in generic
unwind-dw2.c file (ia64) and other targets having their own modified copy of
this file in target specific folders. Therefore, I followed the same
technique. I took the generic file and added CR16 specific changes under the
conditional statements "#if defined( __CR16C__ )" and placed it in target
folder.
The CR16's programming memory is 2-byte aligned and the least significant
bit of PC is always zero. The Return Address (RA) register always saves the
value of PC right shifted by 1(PC >> 1). This conversion seems broken at
some places during unwinding which results in terminate() function being
called.
Thanks and Regards,
Jayant Sonar
[KPIT Cummins, Pune]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cr16-gcc.patch
Type: application/octet-stream
Size: 213714 bytes
Desc: cr16-gcc.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20111130/12f23f1b/attachment.obj>
More information about the Gcc-patches
mailing list