This is the mail archive of the
ecos-patches@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: ecos-patches at ecos dot sourceware dot org
- Date: Tue, 15 Feb 2011 09:50:48 +0000
- Subject: [Bug 1001142] User defined linker sections.
- Auto-submitted: auto-generated
- References: <bug-1001142-104@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 #20 from Ilija Kocho <ilijak@siva.com.mk> 2011-02-15 09:50:42 GMT ---
(In reply to comment #18)
> (In reply to comment #16 and comment #17)
>
> Ilija, thank you for clarifications and snippets. I get it. However I
> would rename the undescored macros (__CYG_USER_SECTION_*), e.g.
>
> #define CYG_LINK_SECTION_START(_name_) __ ## _name_ ## _start
> #define CYG_LINK_SECTION_END(_name_) __ ## _name_ ## _end
>
> Variants of prefixes to discuss CYG_LINK, CYG_LOAD, and CYG_LD. That
> will mean, - Use them in a linker scripts.
>
> #define CYG_USER_SECTION_START(_name_) CYG_LINK_SECTION_START(_name_)
> #define CYG_USER_SECTION_END(_name_) CYG_LINK_SECTION_END(_name_)
>
> The USER means, - Use in a userspace code.
I'm not quite convinced about this notation, I consider USER_SECTION a stem for
all related macro names. I decided to prefix concatenation with __ because they
are supposed to be kind of "hidden", but it may be just my view.
However if some of "linker" variants is opted I would prefer LD as this acronym
is associated with linker staff through the code (target.ld, mlt*.ldi, etc).
>
> About duplication the declarations. As target.ld scripts ends with
>
> #include <pkgconf/hal_arch.h>
> #include CYGHWR_MEMORY_LAYOUT_LDI
>
> We would declare USER_SECTION after that inclusion the arch's header
> and that can be a place for standalone declaration:
>
> #include <pkgconf/hal_arch.h>
> #if defined(CYG_LINK_SECTION_START) && defined(CYG_LINK_SECTION_END)
> #define USER_SECTION(_name_, _region_, _vma_, _lma_) \
> ._name_ _vma_ : _lma_ \
> { CYG_LINK_SECTION_START(_name_) = ABSOLUTE (.); \
> *(._name_*) \
> CYG_LINK_SECTION_END(_name_) = ABSOLUTE (.); } \
> > _region_
> #endif
>
> #include CYGHWR_MEMORY_LAYOUT_LDI
>
> So, the place to define CYG_{USER,LINK} macros would be hal_cortexm.h.
> I hope that I did not "break" something again :-)
I'm not sure if it is proper to place such stuff in a file generated from CDL.
--
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.