From: uml <um...@do...> - 2004-06-17 15:28:21
|
Oops, I tried this the other day at the beginning of this thread -- i= t worked great for me. I'm afraid I just don't know enough about lower level compiling optio= ns or gcc have ever diagnosed this myself; however, I don't mind recompilin= g a kernel 100 times to see what works -- or doesn't. (=3D Thanks! ----- Original Message -----=20 =46rom: "BlaisorBlade" <bla...@ya...> To: "Nix" <ni...@es...> Cc: "uml" <um...@do...>; "roland" <for...@gm...>; "uml-user" <use...@li...>; <use...@li...> Sent: Wednesday, June 16, 2004 3.09 PM Subject: Re: [uml-devel] Re: [uml-user] SuSE 9.1 host + 2.4.26 Kernel= + GCC 3.3.3 similarities to 2.6.6!? Alle 08:20, marted=EC 15 giugno 2004, Nix ha scritto: > On Mon, 14 Jun 2004, BlaisorBlade mused: > > Well, ok, more hints, the first possible answer to this one seems= to be > > that SuSE enables -funit-at-a-time: > > (unsurprising, given that -funit-at-a-time's primary author is jh@s= use ;} ) Well, someone following gcc development! Compliments! Do you think, t= oo that SuSE gcc is a pre-release or heavily patched? > Yep, -funit-at-a-time will definitely break kernels that aren't > expecting it, both because of elision of unused statics and because= some > arches depend on emission of asm's at the top level to emit stuff i= n the > same order in generated code, and with -funit-at-a-time this just > doesn't happen anymore. (I don't think i386 is such an architecture= , > though.) However, I would like to see a successful test-case with -fno-unit-at-a-time, plus understanding what are the faulting declaration (i.e. adding attribute_used where needed), before saying this bug is over. > -funit-at-a-time is enabled by default for C and C++ in GCC 3.4. > > > This is the trick: > The sort of thing you want to stash away in a header file and never= lay > eyes on again. :) Well, this is already done, in the kernel: see the definition of attribute_used in linux/compiler-gcc*.h. > > static const int hello ATTRIBUTE_USED =3D 56; > > > > int main() > > { > > asm( > > "mov hello, %eax\n" > > ); > > Well, in this *specific* case, hello should be marked as clobbered, If you mean should be marked by the coder, ok (gcc is not smart). > which will also stop the compiler eliding it. But this *was* a cont= rived > testcase... Bye! --=20 Paolo Giarrusso, aka Blaisorblade Linux registered user n. 292729 ------------------------------------------------------- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, = CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGY= KND _______________________________________________ User-mode-linux-user mailing list Use...@li... https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user |