"Itanium C++ ABI atexit function" Page

All about the OSDev Wiki. Discussions about the organization and general structure of articles and how to use the wiki. Request changes here if you don't know how to use the wiki.
Post Reply
User avatar
gravaera
Member
Member
Posts: 737
Joined: Tue Jun 02, 2009 4:35 pm
Location: Supporting the cause: Use \tabs to indent code. NOT \x20 spaces.

"Itanium C++ ABI atexit function" Page

Post by gravaera »

<ThreadExtract Title="Home page">
http://forum.osdev.org/viewtopic.php?f= ... 4&start=15
</ThreadExtract>


Yo: I'm passing by to notify of a change in the wiki. It's slightly more convenient to simply post it here than go and create a whole new topic, and since mods have been on this topic a lot recently, they'll all see for sure.

I edited http://wiki.osdev.org/C%2B%2B to better explain the Itanium C++ ABI atexit function implementation, and included a pair of source files that are slightly improved over the last bit of example source:

Improvements:

1. The previous source example for __cxa_finalize(void *) did not cater for the function's general purpose: to remove a destructor/atexit routine from the atexit function list during runtime. It only implemented the call for __cxa_atexit(0) which is set to destroy all global objects at kernel shutdown.

2. I gave example NASM source for how to call __cxa_finalize(0) after the kernel's _main. Although anyone who has read up on the C stack frame should already know how to call ASM functions, I'm no longer assuming that only well-read individuals would be using the site and/or wiki :? . I apologise for my earlier misconceptions.

3. The new source follows the general workings of the previous source example, but expands the Destructor table from 32 entries to 128. Not only this, but it is fully commented, and also explains where the user can improve it. Note well that it DOES implement EVERY functionality of the previous source, so it is not in any way a downgrade. I simply made the shortcomings a bit more obvious with the comments, so that people wouldn't just go copy and paste. If they did that with the previous example, then there are one or two assumptions the source made that they weren't aware of. :|

BACK ON TOPIC:

About the removal of the Forum for the Main page: Good idea. =P~ . Although this should be obvious, i'll just say it, since no-one else did: We should, from now on, when explaining something to a newcomer, or discussing something, emphasize on coming to a CONCLUSION, such that the derived conclusion can be added to the Wiki. If we are to phase out emphasis on the forums, we should then stress the Wiki on the forums in our general posting, so that people will be inclined to remember to put information on the Wiki.

We need to have a flurry of Wiki development.
17:56 < sortie> Paging is called paging because you need to draw it on pages in your notebook to succeed at it.
User avatar
AndrewAPrice
Member
Member
Posts: 2300
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: Home page

Post by AndrewAPrice »

gravaera wrote:We need to have a flurry of Wiki development.
Might I re-stress the Wish List and Wanted pages if you want to contribute but don't know where to start!
My OS is Perception.
Post Reply