Re: "causes a section type conflict"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Ian,
> > I have problem with GNU linker.
> >
> > I will show you simple example how it appears. But basically if I have set
> > one function to specified memory section and try to call function with
> > string parameter. then linker says "causes a section type conflict".
> >
> >
> > char FooBar(const char *)  __attribute__((section(".defined_section")));
> > void TestFunction(void)  __attribute__((section(".defined_section")));
> >
> > char FooBar(const char * s)
> > {
> >     if(s) return 1;
> >     else return 0;
> > }
> >
> > void TestFunction(void)
> > {
> >     FooBar(1);      // This works fine
> >     FooBar("1")    // This doesnt work, linker script says: " TestFunction
> > causes a section type conflict"
> > }
> >
> >
> > So what is that error message? Google didnt find any solve for this.
> 
> I can't find that error message anywhere in the linker.
> 
> What version of gcc?  What version of GNU ld?  What target?  Please
> give us a complete standalone test case.  Please show us the exact
> output of the linker.
At least on my machine, this error-message can result from the compiler,
not the linker. For the differen file text.c (from the (quite old)
discussion http://gcc.gnu.org/ml/gcc/2001-10/msg00707.html):

static const int a __attribute__ ((__section__ (".data.init"))) = 1;
static int b __attribute__ ((__section__ (".data.init"))) = 1;

I obtain:

gcc -c test.c
test.c:2: error: b causes a section type conflict

Maybe the OP also obtains the error from the compiler? However, for me
(gcc 4.3.2) his example compiles cleanly (except the missing ";")

Axel

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux