From: NIIBE Y. <gn...@m1...> - 2002-02-26 08:26:11
|
Jeremy Siegel wrote: > 1. Not long ago I had a problem with optimization around save_flags(). > Don't recall the exact details... I think it was a save/cli/restore > sequence with a nested (in an inline function?) save/cli/restore after the > first cli; the compiler assumed the initial SR value was usable for the > second save as well, causing the first restore to re-enable interrupts too > early. Making save_flags volatile (like cli and sti) fixed it. Also, some > symbols are missing for certain modules (e.g. ext3). The attached patch > addresses both items, let me know if there's any reason not to commit it. Nothing. Please commit. > 2. I've noticed that when we build the new gcc (3.0.3) the resulting specs > file no longer includes stuff to propogate endian and cpu arguments along > -- e.g. to cpp. If it's built for sh3le, for example, I can pass -m4 or > -mb and I still get __SH3__ rather than __SH4__ define, or > __LITTLE_ENDIAN__ rather than __BIG_ENDIAN__; what am I missing? (As far > as I know, our compiler includes all the latest patches referenced on this > list, maybe it's specific to the config?) You mean, configured as sh3-unknown-linux-gnu and use it for sh4-unknown-linux-gnu? I don't think it works. sh-unknown-linux-gnu supports sh3, sh3 big endian, sh4, sh4 big endian, and possibly sh64. sh3-unknown-linux-gnu is single specific target. -- |