public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
From: Dukextra <mahuhta@gmail.com>
To: gcc-help@gcc.gnu.org
Subject: Re: "causes a section type conflict"
Date: Thu, 11 Mar 2010 05:13:00 -0000	[thread overview]
Message-ID: <27859408.post@talk.nabble.com> (raw)
In-Reply-To: <20100310165013.GS7634@axel>



Axel Freyn wrote:
> 
> 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
> 
> 

Hi

My GCC is 4.4.1 and target is PowerPC. ld-version is 2.19.1. Same problem
causes with GCC-version 2.95.3.

First of all. I am trying to put these functions to specified section in rom
(.defined_section). Then in linker script I put/map these functions to ram
memory like this.

MEMORY
{
         .
         .
         .

    defined_section: org = 0x10000, len = 0xFFFF
    section_in_rom: org = 0x4F0000, len = 0xFFFF
}

SECTION
{
         .
         .
         .

	.section_in_rom : AT (0x10000)
	{
   		*(.defined_section)
	} > section_in_rom
}

In program I copy these functions from rom to ram.

Eveything of these works fine, but if I add for example one static variable
in function or string parameter (like in example) I get these "causes
section type error".

-- 
View this message in context: http://old.nabble.com/%22causes-a-section-type-conflict%22-tp27847975p27859408.html
Sent from the gcc - Help mailing list archive at Nabble.com.

  reply	other threads:[~2010-03-11  5:13 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-10 10:36 Dukextra
2010-03-10 16:39 ` Ian Lance Taylor
2010-03-10 16:50   ` Axel Freyn
2010-03-11  5:13     ` Dukextra [this message]
2010-03-16 14:48       ` Ian Lance Taylor
2010-03-25 11:40         ` Dukextra
2010-03-25 15:34           ` Ian Lance Taylor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=27859408.post@talk.nabble.com \
    --to=mahuhta@gmail.com \
    --cc=gcc-help@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).