EDIT #2 - @john765, please read through to the end here, as I explain the mistakes made in this thread by myself and others. Also, I have started a discussion about fixes to the wiki in the "About the Wiki' sub-board.
I did some checking, and it seems that
-fwritable-strings has been deprecated since version 3.0, and was
removed in 4.0. This would certainly explain the error. I am somewhat embarrassed that it took so long for me to go and look this up. There are so many obscure switches that it isn't surprising on one here knew about it being removed, but that doesn't excuse this on my part.
I am still puzzled by one more thing though, as I can't figure out why VirtualBox would say that in the first place. The error message makes no sense at all, and even if it would have when GCC supported that switch, GCC 4.0 was released in 2005, two years before VirtualBox was even developed. That message should never have existed in the first place, even as a holdover from early development.
Can you post the message VirtualBox gives? Something really odd is going on here.
EDIT: Wholly Carp, the wiki mentions it too! I'm going to go fix that. Oh, wait... I suppose that you were talking about that, not a VirtualBox message, in which case we really have egg on our faces.
I sincerely apologize for this. This is a genuine failure on the part of this group, and points to a real need to review
all of the older material in the wiki,
especially in the parts aimed at new OS-Devvers.
In this case, the solution - which is the solution that the wiki should have emphasized more in the first place - is to add an
.rodata section to your linker script.