Xref: news2.mv.net comp.os.msdos.djgpp:6759 From: alaric AT abwillms DOT demon DOT co DOT uk (Alaric B. Williams) Newsgroups: comp.os.msdos.djgpp Subject: GAS - register preservations and the like Date: Wed, 31 Jul 1996 19:14:00 GMT Lines: 32 Message-ID: <838840328.11194.6@abwillms.demon.co.uk> NNTP-Posting-Host: abwillms.demon.co.uk To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Hi there... I just had the most awful bughunt of my life; I noticed I'd turned optimisation off in my makefile, and stuck it back at -O2, and thought no more... until my code started to SIGSEGV horribly. Eventually, I found out why. I had a function that called an inline assembly function; it seemed that, when optimised, this C++ function stored a pointer in ESI that it expected preserved accross my inline function. Well, I only preserve the segregs, ESP, EIP, and EBP... exactly which functions /do/ need to be preserved? It's a time-critical function, so I want to do the absolute minimum of pushing and popping. While we're at it, I'd like to try and make gas a bit less dependent on phases of the moon. Which source should I get - the one that should be gettable from some DJGPP site somewhere, or the GNU .tar.gz version - and if I produce patches to fix GAS, who should I tell? Am I allowed to add snazzy features (should I think of any)? Regards, ABW -- I have become... Comfortably numb... Alaric B. Williams Internet : alaric AT abwillms DOT demon DOT co DOT uk http://www.hardcafe.co.uk/Alaric/