This is the mail archive of the
ecos-bugs@sourceware.org
mailing list for the eCos project.
[Bug 1001142] User defined linker sections.
- From: bugzilla-daemon at bugs dot ecos dot sourceware dot org
- To: unassigned at bugs dot ecos dot sourceware dot org
- Date: Mon, 14 Feb 2011 15:51:55 +0000
- Subject: [Bug 1001142] User defined linker sections.
- Auto-submitted: auto-generated
- References: <bug-1001142-777@http.bugs.ecos.sourceware.org/>
Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001142
--- Comment #14 from Ilija Kocho <ilijak@siva.com.mk> 2011-02-14 15:51:53 GMT ---
(In reply to comment #13)
> (In reply to comment #12)
> > (In reply to comment #11)
> >
> > > I introduced them because of properties of CPP concatenation ## with respect to
> > > argument prescan.
> > > http://gcc.gnu.org/onlinedocs/cpp/Argument-Prescan.html#Argument-Prescan
> > > They are needed if "_name_" is a macro:
> > >
> > > #define FOO "foo"
> > > USER_SECTION(FOO, reg, vma, lma)
> > >
> > > Example use case is when the section name is provided via CDL.
> > > I would keep them but we may consider more suitable names.
> >
> > Ilija, thank you for the clarification. I now agree that we should keep them.
> > Perhaps they could be renamed to CYG_USER_SECTION_START() and
> > CYG_USER_SECTION_END() to reduce the possibility of a naming clash?
>
> John, I take that you are more qualified than me for avoidance of naming clash
> so I would accept your choice.
>
> Just one note: The products of these macros can also be useful for application
> (zeroing the section or so). Is it possible (and desirable) to place them
> somewhere else where they will be available to both cortexm.ld and user?
I owe you some further explanation. If used from application,
CYG_USER_SECTION_START() and CYG_USER_SECTION_END() shall be subject to
argument prescan too, so they can't be called directly if _name_ is a macro.
Their usage should be through a proxy, something like:
#define APP_USER_SECTION_START(_name_) CYG_USER_SECTION_START(_name_)
then
#define FOO foo
APP_USER_SECTION_START(FOO)
should expand to __foo_start
Is this becoming too complex?
I am going to make some use case and put it to test.
--
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.