Link error

2010-08-09 Thread Phung Nguyen
Dear all, I am trying to build cross compiler for xc16x. I built successfully binutils 2.18; gcc 4.0 and newlib 1.18. Everything is fine when compiling a simple C file without any library call. It is also fine when making a simple call to printf like printf("Hello world"). However, i got error mes

How to get attribute of callee

2010-09-02 Thread Phung Nguyen
Dear all, I am porting GCC to a new target. I don't know how to get attribute of callee of a call. I defined a new attribute to assign to a function but when writing for pattern name "call" or "call_value", I don't know how to know if the callee is assigned the attribute. As the code for the cal

Re: How to get attribute of callee

2010-09-02 Thread Phung Nguyen
Hi Jakub, Thank you for your help. For direct call, I solved the problem based on your suggestion. For indirect call, I don't understand much your idea. Could you please clarify it? Phung On Thu, Sep 2, 2010 at 7:59 PM, Jakub Jelinek wrote: > On Thu, Sep 02, 2010 at 07:18:29PM +070

Re: How to get attribute of callee

2010-09-02 Thread Phung Nguyen
attribute of the called function, I need the info passed to call pattern name. Could you please explain more about your idea. Phung On Thu, Sep 2, 2010 at 7:49 PM, Georg Lay wrote: > Phung Nguyen schrieb: >> Dear all, >> >> I am porting GCC to a new target. I don't kn

constant string changed

2010-10-06 Thread Phung Nguyen
Dear all, When porting GCC on xc16x, I met a problem with a constant string. The following is the C code: #include "stdio.h" int main () { printf ("c\n"); } And the following is the generated assembly: .xc16x .section .rodata .LC0: .ascii "c\0" .

Re: constant string changed

2010-10-06 Thread Phung Nguyen
How can I turn this optimization off? Phung On Wed, Oct 6, 2010 at 10:04 PM, Jakub Jelinek wrote: > On Wed, Oct 06, 2010 at 09:59:29PM +0700, Phung Nguyen wrote: >> When porting GCC on xc16x, I met a problem with a constant string. The >> following is the C code: >> #includ

how to initialize a pointer using data page mode

2010-10-17 Thread Phung Nguyen
Hi all, When compiling a C code containing a global declaration like: char *s = "abc"; The assembly code will be .section .rodata .LC0: .ascii "abc\0" .section .data .align 1 _s: .long .LC0 where the real address of string constant is kept in _s. However,

Re: how to initialize a pointer using data page mode

2010-10-18 Thread Phung Nguyen
de. What is the hook which can help us to do that? Thank you for any help. Phung On Mon, Oct 18, 2010 at 9:50 AM, Phung Nguyen wrote: > Hi all, > > When compiling a C code containing a global declaration like: > char *s = "abc"; > The assembly code will be >        .

Re: how to initialize a pointer using data page mode

2010-10-19 Thread Phung Nguyen
> It seems that you want to generate two .int statements.  My question is > whether you can load those in a single load instruction, or whether you > also need to generate multiple load instructions. I need to generate multiple load instructions