This is the mail archive of the ecos-discuss@sources.redhat.com 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]

Re: Stack access violations in eCos


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


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