Messages in this thread | | | Date | Mon, 28 Apr 1997 17:47:34 -0400 (EDT) | From | "Richard B. Johnson" <> | Subject | GCC and Linux |
| |
Can anyone tell me why I can't define a macro that does:
pushfl cli
Then later execute a macro that does:
popfl
And get the flags restored!! Instead, the kernel uses save_flags(x) and restore_flags(x) macros with the contents of the flag register saved in a 32-bit variable.
If I push the damn flags onto the stack, they damn-well be there when I pop them off. Not so with the GCC Compiler. It looks as though it secretly "levels" the stack and I don't know why. If so, it is broken and should be fixed instead of work-arounds everywhere in the code.
Cheers, Dick Johnson -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Richard B. Johnson Project Engineer Analogic Corporation Voice : (508) 977-3000 ext. 3754 Fax : (508) 532-6097 Modem : (508) 977-6870 Ftp : ftp@boneserver.analogic.com Email : rjohnson@analogic.com, johnson@analogic.com Penguin : Linux version 2.1.35 on an i586 machine (66.15 BogoMips). Warning : I read unsolicited mail for $350.00 per hour. Supply billing address. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
| |