This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Stack access violations in eCos
- From: Jonathan Larmour <jifl at eCosCentric dot com>
- To: Larice Robert <larice at vidisys dot de>
- Cc: ecos-discuss at sources dot redhat dot com
- Date: Thu, 20 Mar 2003 11:02:52 +0000
- Subject: Re: [ECOS] Stack access violations in eCos
- References: <200303201054.h2KAsSg23540@doms.vidisys.com>
Larice Robert wrote:
Renaming CYGBLD_ANNOTATE_ALIGNED is just a search and replace. And I've
done what I can to help with the ChangeLog!
i've done so, will send it a bit later.
CYGBLD_ATTRIB_ALIGN should stay as it is, accepting an argument. We're
adding a new CYGBLD_ATTRIB_ALIGNED macro that takes the maximum alignment
required for a thread stack. Perhaps the best thing to do is in fact to
rename your CYGBLD_ANNOTATE_ALIGNED to CYGBLD_ATTRIB_ALIGNED_MAX to make
this intention clearer.
meanwhile i've learned a possibility how to change the definition of
CYGBLD_ATTRIB_ALIGN in such a way as to allow no argument.
-#define CYGBLD_ATTRIB_ALIGN(__align__) __attribute__((aligned(__align__)))
+#define CYGBLD_ATTRIB_ALIGN(__align__...) __attribute__((aligned(__align__)))
I don't want to introduce a dependency on vararg macros. That completely
ties us to GCC removing a lot of the point of cyg_type.h in the first place!
or would you prefer something like
char stack[200] CYGBLD_ATTRIB_ALIGN(CYGARC_ALIGNMENT);
not so beautiful i think
I think I must have written unclearly, sorry. I would prefer:
char stack[200] CYGBLD_ATTRIB_ALIGNED_MAX;
i.e. a separate macro.
Jifl
--
eCosCentric http://www.eCosCentric.com/ The eCos and RedBoot experts
--[ "You can complain because roses have thorns, or you ]--
--[ can rejoice because thorns have roses." -Lincoln ]-- Opinions==mine
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss