Return to BSD News archive
Newsgroups: comp.unix.bsd Path: sserve!manuel.anu.edu.au!munnari.oz.au!spool.mu.edu!agate!ames!think.com!paperboy.osf.org!paperboy.osf.org!boot From: boot@donald.osf.org (Bruce Bauman) Subject: Re: GCC 2.2.2 with 386BSD? In-Reply-To: tholo@amanda.bbb.no's message of 9 Oct 1992 17:07:40 +0100 Message-ID: <BOOT.92Oct19082732@donald.osf.org> Sender: news@osf.org (USENET News System) Reply-To: boot@osf.org Organization: Open Software Foundation References: <tholo.718646778@amanda> Date: 19 Oct 92 08:27:32 Lines: 159 I finally got around to building a kernel with gcc2, and it's running fine on my machine. There were a few minor problems. The files npx.c and pccons.c in i386/isa needed minor patches; these are included below. Also, gcc2 generates slightly larger code, and the code becomes much larger if you turn on 486 code generation with -m486. This is partly because some longer code sequences are faster than the equivalent shorter sequence, and also because the compiler aligns more strictly with -m486. Note that -m486 still generates code that will run on a 386; it's just not optimal code for that processor. The Makefile.i386 in i386/conf should probably have the CC line changed to: CC = gcc2 -fno-builtin Finally, I compiled machdep.c with the old (1.39) compiler. There are problems with the alignments of structures with bitfields; here's an old article on the subject which may help. If anyone fixes machdep.c, I'd like to obtain a copy. >>Path: sserve!manuel!munnari.oz.au!spool.mu.edu!uunet!mcsun!Germany.EU.net!lemis!grog >>From: grog@lemis.uucp (Greg Lehey) >>Newsgroups: comp.unix.bsd >>Subject: Re: gcc 2.2.2 - work for kernel compiles? >>Keywords: kernel gcc >>Message-ID: <2386@adagio.lemis.uucp> >>Date: 19 Sep 92 12:04:31 GMT >>References: <78r4028n22ZR01@JUTS.ccc.amdahl.com> >>Organization: LEMIS, W-6324 Feldatal, Germany >>Lines: 39 >> >>In article <78r4028n22ZR01@JUTS.ccc.amdahl.com> gab10@cd.amdahl.com (Gary A Browning) writes: >>>A while back there was a thread about compiling gcc-2.2.2. The last I heard, >>>there was problems trying to compile the kernel with it. Anybody know what >>>the current status is? >> >>I don't use 386BSD, but I believe the problems are probably the same >>as in BSD/386: Jon Block recently recompiled that kernel with gcc >>2.2.2. Here's his last message: >> >>> From: unido!gmf.eds.com!block (W. Jon Block) >>> Subject: Kernel Build w/GCC-2.2.2 (SUCCESS!!) >>> Date: Thu, 17 Sep 92 7:11:00 EDT >>> >>> I finally had some time to look into the problems with using >>> gcc-2.2.2 to compile the kernel (actually only machdep.c). The >>> problem is the way that bitfields are aligned. Because the sd_lobase >>> field of the struct segment_descriptor (segments.h) is 24 bits, it >>> is aligned at the next longword boundary, instead of packing half >>> in the current, half in the next as in gcc-1.40. This causes problems >>> when calling lgdt in locore. >>> >>> After making some changes, I was able to completely rebuild my >>> kernel using gcc-2.2.2. I am still looking at was is the best way >>> to resolve this, and will post more info as it is available. >> >>Other problems to look out for: >> >>- use -fnobuiltin when compiling >>- a lot of warnings get generated for the args structure of system >> calls. So far I haven't found a way to fix this. >>- A number of the i386/isa files won't compile with the -traditional >> option - they do fine without. >>- i386/isa/npx.s dies with asm commands referring to constraint "=g" >> (just about any address, but not non-general registers). Changing >> this to "=m" allows it to compile. >>-- >>Greg Lehey | Tel: +49-6637-1488 >>LEMIS | Fax: +49-6637-1489 >>Schellnhausen 2, W-6324 Feldatal, Germany begin 664 kernel_patches.gcc2.uue M*BHJ(&YP>"YC"5-U;B!/8W0@,3@@,34Z,S@Z,SD@,3DY,@HM+2T@;G!X+F,N M;W)I9PE3=6X@3V-T(#$X(#$U.C,T.C0S(#$Y.3(**BHJ*BHJ*BHJ*BHJ*BHJ M"BHJ*B`Q,C8L,3,R("HJ*BH*("`)87-M("@B"69N:6YI="(I.PH@(`EA<VTH M(@EF;&1C=R`E,"(@.B`Z(")G(B`H=V0I*3L*("`):68@*&-U<G!C8BD@>PHA M(`D)87-M*"()9FYS879E("4P("(@.B`Z(")M(B`H8W5R<&-B+3YP8V)?<V%V M969P=2D@*3L*("`)"6-U<G!C8BT^<&-B7V9L86=S('P]($907TY%14134D53 M5$]213L*("`)?0H@(`EL;V%D7V-R,"AR8W(P*"D@?"!#4C!?14TI.PDO*B!S M=&%R="!E;75L871I;F<@*B\*+2TM(#$R-BPQ,S(@+2TM+0H@(`EA<VT@*"() M9FYI;FET(BD["B`@"6%S;2@B"69L9&-W("4P(B`Z(#H@(F<B("AW9"DI.PH@ M(`EI9B`H8W5R<&-B*2!["B$@"0EA<VTH(@EF;G-A=F4@)3`@(B`Z(#H@(F<B M("AC=7)P8V(M/G!C8E]S879E9G!U*2`I.PH@(`D)8W5R<&-B+3YP8V)?9FQA M9W,@?#T@1E!?3D5%1%-215-43U)%.PH@(`E]"B`@"6QO861?8W(P*')C<C`H M*2!\($-2,%]%32D["2\J('-T87)T(&5M=6QA=&EN9R`J+PHJ*BHJ*BHJ*BHJ M*BHJ*BH**BHJ(#$T,2PQ-#<@*BHJ*@H@(`EI9B`H;G!X<')O8RD@<&%N:6,@ M*")N<'AL;V%D(BD["B`@"6YP>'!R;V,@/2!C=7)P<F]C.PH@(`EN<'AP8V(@ M/2!C=7)P8V(["B$@"6%S;2@B"69R<W1O<B`E,"`B(#H@.B`B;2(@*&-U<G!C M8BT^<&-B7W-A=F5F<'4I("D["B`@?0H@(`H@("\J"BTM+2`Q-#$L,30W("TM M+2T*("`):68@*&YP>'!R;V,I('!A;FEC("@B;G!X;&]A9"(I.PH@(`EN<'AP M<F]C(#T@8W5R<')O8SL*("`);G!X<&-B(#T@8W5R<&-B.PHA(`EA<VTH(@EF M<G-T;W(@)3`@(B`Z(#H@(F<B("AC=7)P8V(M/G!C8E]S879E9G!U*2`I.PH@ M('T*("`*("`O*@HJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ(#$U,"PQ-38@*BHJ*@H@ M(&YP>'5N;&]A9"@I('L*("`*("`):68@*&YP>'!R;V,@/3T@,"D@<&%N:6,@ M*")N<'AU;FQO860B*3L*(2`)87-M*"()9G-A=F4@)3`@(B`Z(#H@(FTB("AN M<'AP8V(M/G!C8E]S879E9G!U*2`I.PH@(`EN<'AP<F]C(#T@,"`["B`@?0H@ M(`HM+2T@,34P+#$U-B`M+2TM"B`@;G!X=6YL;V%D*"D@>PH@(`H@(`EI9B`H M;G!X<')O8R`]/2`P*2!P86YI8R`H(FYP>'5N;&]A9"(I.PHA(`EA<VTH(@EF M<V%V92`E,"`B(#H@.B`B9R(@*&YP>'!C8BT^<&-B7W-A=F5F<'4I("D["B`@ M"6YP>'!R;V,@/2`P(#L*("!]"B`@"BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@,38W M+#$W,R`J*BHJ"B`@"6%S;2`H(@EF;G-T<W<))3`@(B`Z("(];2(@*'-T871U M<RD@.B`B;2(@*'-T871U<RD@*3L*("`)+RH@<WEN8R!S=&%T92!I;B!P<F]C M97-S(&-O;G1E>'0@<W1R=6-T=7)E+"!I;B!A9'9A;F-E(&]F(&1E8G5G9V5R M+W!R;V-E<W,@;&]O:VEN9R!F;W(@:70@*B\*("`):68@*&YP>'!R;V,@/3T@ M,"!\?"!N<'AE>&ES=',@/3T@,"D@<&%N:6,@*")N<'AI;G1R(BD["B$@"6%S M;2`H(@EF;G-A=F4@)3`@(B`Z(#H@(FTB("AN<'AP8V(M/G!C8E]S879E9G!U M*2`I.PH@(`H@("-I9F1E9B!N;W1Y970*("`)+RH@96YC;V1E('1H92!A<'!R M;W!R:6%T92!C;V1E(&9O<B!D971A:6QE9"!I;F9O<FUA=&EO;B!O;B!T:&ES M(&5X8V5P=&EO;B`J+PHM+2T@,38W+#$W,R`M+2TM"B`@"6%S;2`H(@EF;G-T M<W<))3`@(B`Z("(];2(@*'-T871U<RD@.B`B;2(@*'-T871U<RD@*3L*("`) M+RH@<WEN8R!S=&%T92!I;B!P<F]C97-S(&-O;G1E>'0@<W1R=6-T=7)E+"!I M;B!A9'9A;F-E(&]F(&1E8G5G9V5R+W!R;V-E<W,@;&]O:VEN9R!F;W(@:70@ M*B\*("`):68@*&YP>'!R;V,@/3T@,"!\?"!N<'AE>&ES=',@/3T@,"D@<&%N M:6,@*")N<'AI;G1R(BD["B$@"6%S;2`H(@EF;G-A=F4@)3`@(B`Z(#H@(F<B M("AN<'AP8V(M/G!C8E]S879E9G!U*2`I.PH@(`H@("-I9F1E9B!N;W1Y970* M("`)+RH@96YC;V1E('1H92!A<'!R;W!R:6%T92!C;V1E(&9O<B!D971A:6QE M9"!I;F9O<FUA=&EO;B!O;B!T:&ES(&5X8V5P=&EO;B`J+PHJ*BHJ*BHJ*BHJ M*BHJ*BH**BHJ(#(P-BPR,3(@*BHJ*@H@(`EI9B`H;G!X97AI<W1S(#T](#`I M(')E='5R;B@P*3L*("`);&]A9%]C<C`H<F-R,"@I("8@?D-2,%]%32D["2\J M('-T;W`@96UU;&%T:6YG("HO"B`@("`@(`EI9B`H8W5R<&-B+3YP8V)?9FQA M9W,@)B!&4%].145$4U)%4U1/4D4I"B$@"0EA<VTH(@EF<G-T;W(@)3`@(B`Z M(#H@(FTB("AC=7)P8V(M/G!C8E]S879E9G!U*2D["B`@"6-U<G!C8BT^<&-B M7V9L86=S('P]($907U=!4U53140@?"!&4%].145$4U-!5D4["B`@"6-U<G!C M8BT^<&-B7V9L86=S("8]('Y&4%].145$4U)%4U1/4D4["B`@"6YP>'!R;V,@ M/2!C=7)P<F]C.PHM+2T@,C`V+#(Q,B`M+2TM"B`@"6EF("AN<'AE>&ES=',@ M/3T@,"D@<F5T=7)N*#`I.PH@(`EL;V%D7V-R,"AR8W(P*"D@)B!^0U(P7T5- M*3L)+RH@<W1O<"!E;75L871I;F<@*B\*("`@("`@"6EF("AC=7)P8V(M/G!C M8E]F;&%G<R`F($907TY%14134D535$]212D*(2`)"6%S;2@B"69R<W1O<B`E M,"`B(#H@.B`B9R(@*&-U<G!C8BT^<&-B7W-A=F5F<'4I*3L*("`)8W5R<&-B M+3YP8V)?9FQA9W,@?#T@1E!?5T%355-%1"!\($907TY%14134T%613L*("`) M8W5R<&-B+3YP8V)?9FQA9W,@)CT@?D907TY%14134D535$]213L*("`);G!X M<')O8R`](&-U<G!R;V,["BHJ*B!P8V-O;G,N8RYO<FEG"5=E9"!/8W0@,30@ M,38Z-#@Z-#(@,3DY,@HM+2T@<&-C;VYS+F,)5V5D($]C="`Q-"`Q-CHU,#HU M-R`Q.3DR"BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@.#8P+#@V-B`J*BHJ"B`@"B`@ M"B`@=6YS:6=N960)7U]D96)U9R`](#`[("\J,'AF9F4@*B\["B$@<W1A=&EC M(&-H87(@<V-A;G1O:V5Y6UT@>PH@(#`L"B`@,3(P+`DO*B!&.2`J+PH@(#`L M"BTM+2`X-C`L.#8V("TM+2T*("`*("`*("!U;G-I9VYE9`E?7V1E8G5G(#T@ M,#L@+RHP>&9F92`J+SL*(2!S=&%T:6,@8VAA<B!S8V%N=&]K97E;72`]('L* M("`P+`H@(#$R,"P)+RH@1CD@*B\*("`P+`HJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ M(#DU."PY-C0@*BHJ*@H@(#`L"B`@,"P*("`P+`HA(#0U+`D_*B!N82HO"B`@ M,"P*("`P+`H@(#`L"BTM+2`Y-3@L.38T("TM+2T*("`P+`H@(#`L"B`@,"P* M(2`T-2P)+RH@;F$J+PH@(#`L"B`@,"P*("`P+`HJ*BHJ*BHJ*BHJ*BHJ*BH* M*BHJ(#DY-"PQ,#`P("HJ*BH*("`P+`H@(#$Q."P)+RH@1C<@*B\*("!].PHA M('-T871I8R!C:&%R(&5X='-C86YT;VME>5M=('L*("`P+`H@(#$R,"P)+RH@ M1CD@*B\*("`P+`HM+2T@.3DT+#$P,#`@+2TM+0H@(#`L"B`@,3$X+`DO*B!& M-R`J+PH@('T["B$@<W1A=&EC(&-H87(@97AT<V-A;G1O:V5Y6UT@/2!["B`@ M,"P*("`Q,C`L"2\J($8Y("HO"B`@,"P**BHJ*BHJ*BHJ*BHJ*BHJ"BHJ*B`Q M,#DR+#$P.3@@*BHJ*@H@(#`L"B`@,"P*("`P+`HA(#0U+`D_*B!N82HO"B`@ M,"P*("`P+`H@(#`L"BTM+2`Q,#DR+#$P.3@@+2TM+0H@(#`L"B`@,"P*("`P ?+`HA(#0U+`DO*B!N82HO"B`@,"P*("`P+`H@(#`L"@H@ ` end -- Bruce Bauman email: boot@osf.org phone: 617-621-7205 Open Software Foundation, 11 Cambridge Center, Cambridge, MA, 02142