This is the mail archive of the ecos-patches@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug 1001142] User defined linker sections.


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 on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]