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 13:03:09 +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 #11 from Ilija Kocho <ilijak@siva.com.mk> 2011-02-14 13:03:08 GMT ---
(In reply to comment #9)
> (In reply to comment #8)
> > (In reply to comment #7)
> > > (In reply to comment #6)
> [snip]
> > > > I do agree that the name "SECTION_user()" could lead to some confusion
> > > > with the existing SECTION_*() macros which have a different number of
> > > > parameters. I would be happy to use a macro name such as
> > > > "USER_SECTION()" instead.
> > >
> > > John, then I "found" such a name too :-), and I like this name and now I
> > > would argee with your points about macro placement (cortexm.ld).
> >
> > Me too, do you need me to produce a new patch?
>
> So, we are happy with USER_SECTION(). What's about those SECTION_START,
> SECTION_END definitions in the Attachment 1116 [details] ? Will be they ever
> used then? IMO, the names are too generic and seem like the "reserved"
> words ...
>
> If you need those defs, what is about USER_LABEL() instead?
>
> #define USER_LABEL(_label_) \
> ...
>
> If we do not need those defs at all, I would be happy with (not tested)
>
> --- a/packages/hal/cortexm/arch/current/src/cortexm.ld
> +++ b/packages/hal/cortexm/arch/current/src/cortexm.ld
> @@ -268,5 +268,11 @@ OUTPUT_FORMAT(elf32-bigarm)
>
> #define SECTIONS_END . = ALIGN(4); _end = .; PROVIDE (end = .);
>
> +#define USER_SECTION(_name_, _region_, _vma_, _lma_) \
> + . ## _name_ _vma_ : _lma_ \
> + { __ ## _name_ ## _start = ABSOLUTE (.); \
> + *(. ## _name_)* \
> + __ ## _name_ ## _end = ABSOLUTE (.); }
> +
> #include <pkgconf/hal_cortexm.h>
> #include CYGHWR_MEMORY_LAYOUT_LDI
>
> Comments?
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.
--
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.