From owner-FreeBSD-users-jp@jp.FreeBSD.org Mon Feb 18 17:14:21 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g1I8ELO03206;
	Mon, 18 Feb 2002 17:14:21 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from quanta.synchem.kyoto-u.ac.jp (quanta.synchem.kyoto-u.ac.jp [130.54.33.30])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g1I8EKW03201
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Mon, 18 Feb 2002 17:14:20 +0900 (JST)
	(envelope-from chat95@mbox.kyoto-inet.or.jp)
Received: from localhost (quanth.synchem.kyoto-u.ac.jp [130.54.33.130])
	by quanta.synchem.kyoto-u.ac.jp (8.11.6/3.7W/00091819) with ESMTP id g1I8BMG11515;
	Mon, 18 Feb 2002 17:11:22 +0900 (JST)
Date: Mon, 18 Feb 2002 17:12:16 +0900 (JST)
Message-Id: <20020218.171216.730549465.maho@scarlatti.synchem.kyoto-u.ac.jp>
To: FreeBSD-users-jp@jp.FreeBSD.org
Cc: chat95@mbox.kyoto-inet.or.jp
From: chat95@mbox.kyoto-inet.or.jp (Nakata Maho)
In-Reply-To: <200202131134.UAA07040@atlas.rc.m-kagaku.co.jp>
References: <200202131134.UAA07040@atlas.rc.m-kagaku.co.jp>,<20020213.182144.576082740.maho@scarlatti.synchem.kyoto-u.ac.jp>
X-Mailer: Mew version 2.0 on XEmacs 21.1.14 (Cuyahoga Valley)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+011218
X-Sequence: FreeBSD-users-jp 66979
Subject: [FreeBSD-users-jp 66979] Re: Fortran
 =?ISO-2022-JP?B?GyRCJCxCZyQtJEolVSUhJSQlayRyOm5ALiRHJC0bKEI=?=
 =?ISO-2022-JP?B?GyRCJEokJBsoQg==?=
 + =?ISO-2022-JP?B?GyRCJTklPyVDJS8lIiVpJSQlcyVhJXMlSBsoQg==?= 
Errors-To: owner-FreeBSD-users-jp@jp.FreeBSD.org
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: chat95@mbox.kyoto-inet.or.jp

$B$J$+$?$G$9!#$A$g$C$HD9$$$G$9$,$I$&$+$*5v$7$r!#(B

A.$B$O$8$a$K(B
FreeBSD $B$N(B $BIUB0$N(B Fortran $B$,(B 2G $B0J>e$N%U%!%$%k$r@8@.$G$-$J$$E@$K$D$$$F!"(B
$B;0I)2=3X$Nk]ED$5$s$N$+$i;XE&(B
http://home.jp.FreeBSD.ORG/cgi-bin/showmail/FreeBSD-users-jp/66905
$B$5$l$^$7$?(B(ref. $B$+$i$?$I$l$^$9$,0l1~(B)$B!#(B
$BB>$K$b(B gcc $B$N%9%?%C%/%"%i%$%s$NLdBj$,$"$C$?$N$G$9$,!"(B
$B$3$l$i$b$U$/$a!"(Bg77, gcc $B$r?tCM1i;;$K;H$&$?$a$NLdBjE@$*$h$S(B
$B2r7hK!$K$D$$$F@0M}$7$F$*$-$^$7$?!#(B

B. $BLdBjE@(B
1. 4.5-STABLE $B0JA0$N(B FreeBSD $BIUB0$N(B f77 $B$O(B rewind $B;~$K(B trancate $B$rMQ$$$J$$(B
    -> $B%Q%U%)!<%^%s%9E*$KITMx$J$N$H(B /tmp $B$,I,MW(B
2. 4.5-STABLE $B0JA0$N(B FreeBSD $BIUB0$N(B f77 $B$O(B fseek $B$J$I$N;~$K(B off_t $B$rMQ$$$J$$(B
    -> 2G$B0J>e$N%U%!%$%k$rFI$_=q$-$G$-$J$$(B
       $B%F%9%H%W%m%0%i%`$O!"(B
       http://home.jp.FreeBSD.ORG/cgi-bin/showmail/FreeBSD-users-jp/66904
3. $B%9%?%C%/$N%"%i%$%s$NLdBj$G!"%Q%U%)!<%^%s%9$,!"$?$H$($P<B9T7A<0$N(B
   $B%U%!%$%kL>$ND9$5$N0c$$$K$h$C$FJQ2=$9$k!#(B
   cf. http://quanta.synchem.kyoto-u.ac.jp/~maho/FreeBSD/FreeBSD_compiler.html

C. $B2r7hK!$H%G%#%9%+%C%7%g%s(B
0. $B%3%s%Q%$%i$N%$%s%9%H!<%k(B
   /usr/ports/lang/gcc30     -> gcc-3.0.3 
   /usr/ports/lang/gcc-devel -> gcc-3.1
   $BI8=`(B                      -> gcc-2.95.3
1. $B%A%'%C%/$7$F$^$;$s$,!"%=!<%9$r8+$k$+$.$j!"(B
   gcc-2.95.3   $B$O(B ng
   gcc-3.0.3    $B$O(B ok
   gcc-3.1-snap $B$O(B ok
2. gcc-2.95.3   $B$O(B ng
   gcc-3.0.3    $B$O(B ng
   gcc-3.1-snap $B$O(B ok
3-i. Fortran$B$N>l9g(B 
 Fortran$B$N%W%m%0%i%`$N>l9g$O%"%i%$%s%a%s%H$O$=$b$=$bLdBj$"$j$^$;$s!#(B
 $B%=!<%9$r8+$k$H!"(B
 gcc2_compiled.:
        .local  rx.0
        .comm   rx.0,125000,32
        .section        .rodata
 $B$H!"$J$C$F$*$j!"(Bgas $B$N%^%K%e%"%k$K$h$k$H(B
 >   When using ELF, the `.comm' directive takes an optional third
 > argument.  This is the desired alignment of the symbol, specified as a
 > byte boundary (for example, an alignment of 16 means that the least
 > significant 4 bits of the address should be zero). 
 $B$G$"$j!"(B,32$B$O(B 32bit = 8bytes (log_2 32=8)
 $B$N%P%&%s%@%j$K$J$C$F$$$^$9$+$i(B ok$B$G$9!#(B
3-ii. C$B$N>l9g(B 
   -mpreferred-stack-boundary=3 (8bytes) $B$,M-8z$+$I$&$+$K$+$+$j$^$9!#(B
   $B7k2L$+$i$$$&$H!"(B
   gcc-2.95.3   ng
   gcc-3.0.3    ok
   gcc-3.1-snap ok
   $B$G$7$?!#=PNO$9$k%=!<%9$r8+$k$H!"(Bgcc-3.0.3, gcc-3.1-snap $B$N>l9g$O(B 
        subl    $125044, %esp <--- stack $B$r$H$C$F$/$k(B 
        andl    $-8, %esp     <--- FFFFFFF8 $B$G(B and $B$r$H$k(B
$B$7$?$,$C$F!"(B8bytes $B$G%9%?%C%/$,%"%i%$%s$5$l$k!"(B
$B$h$&$J%3!<%I$,A^F~$5$l$^$9$,(B gcc-2.95.3 $B$G$O0JA0$K$b=R$Y$?$h$&$K(B
$BA^F~$5$l$^$;$s$G$7$?!#(B

D. $B%9%T!<%I$O$I$&$+!#(B
PentiumIII@1G $B$G3NG'$7$^$7$?$,(B
FreeBSD with f77-2.95.3
        3.99 real         3.93 user         0.00 sys
FreeBSD with g77-3.1
        4.09 real         3.95 user         0.00 sys
FreeBSD with g77-3.0
        3.50 real         3.46 user         0.00 sys
$B$H$J$j!"(B g77-3.0 $B$,:GB.$@$C$?$G$9$,!"(Bg77-3.1 $B$H(B g77-3.0 $B$N%"%;%s%V%i$N=PNO(B
$B$KK\<AE*$K0c$$$O$"$j$^$;$s$G$7$?(B(?)$B!#(B2.95.3$B$H$OBg$-$/0c$$$^$7$?!#(B

FreeBSD -mpreferred-stack-boundary=3 with gcc-3.1
        3.98 real         3.94 user         0.00 sys
FreeBSD -mpreferred-stack-boundary=3 with gcc-3.0.3
        3.48 real         3.47 user         0.00 sys
FreeBSD -mpreferred-stack-boundary=3 with gcc-2.95.3 native
        6.06 real         5.78 user         0.00 sys
        4.46 real         3.96 user         0.00 sys
FreeBSD gcc-2.95.3 native
        6.12 real         5.85 user         0.00 sys
        4.08 real         3.95 user         0.00 sys
$B%"%;%s%V%i$N=PNO$O(B gcc-3.1 $B$H(B 3.0.3 $B$G$O<g$K%"%i%$%s%a%s%H$NF~$lJ}$,HyL/$K0c$$$^$7$?!#(B

E. $B7kO@(B
 1. Fortran $B$G(B2G$B0J>e$N%U%!%$%k$r07$$$?$1$l$P!"(Bgcc-devel $B$r;H$$$^$7$g$&!#(B
 2. C $B$G$O(B stack $B$rBgNL$K>CHq$9$k%W%m%0%i%`$J$i$P(B gcc-3.0 $B0J9_$r;H$$$^$7$g$&!#(B
 3. $B$I$N%3%s%Q%$%i$,0lHV9bB.$J%3!<%I$rEG$/$+$I$&$+$NH=CG$O$3$l$@$1$G$O$G$-$^$;$s!#(B
    $B<B:]!"(Bhttp://www.cs.utk.edu/~rwhaley/ATLAS/gcc30.html $B$d!"(B
    http://gcc.gnu.org/benchmarks/ $B$N$h$&$J%Z!<%8$b$"$k$N$G(B
    $B$=$l$i$r;2>H$7$F$/$@$5$$!#(B

begin 644 stack_align.tar.gz
M'XL(`+FV<#P``^U:S6[;1A#6-7R*:7R(I5C4+KE+RE%]*8(<TP(]&D9`4Y1$
M62(-KIS4"/(P+HS<"A0%BCY"#TW[`GV$O$27^C/%E;0B0<D&.I\MF_LSG-W9
M;X:[0XF)YU^]\T9A/VK5]@1@Q.4<:@#4Y53^MVQFD;2\``%PF<VH;5O<D=VH
MPYT:\'T-*(L;,?$2@-K8&\3;^P6).,2`#@N16?]1W-^+#DJ(P]BF]:>$$W>^
M_I9+K'3]+4Y(#<A>1I/#_WS]WR1!\-V/K^%#.!E`SW6;EGG*3=MHW8BD-0HO
MTT_?\DT1OX(/7A*%4?\53(+Q=>2-C^MP'0L17HYN09JG"S>1\'K!Z+8#?AR)
ML!LDLEY*P/A*I#+'=6/A\;9Y>@I)X(T@4V.GMTD>HH))"(A;L11B)FDK0E01
MHBM"L@LKK&G:)2]D'4QHA^&I<](9@IF,5#,\55,%AF!IQ:Z&6*%M7]+6-FGV
M3BJWN'[,3C5"3#M19I71I*[X#HM7BOJJD&Y.TQGH-2F>J5IOA^&YBI!31FB3
MR==PBV3NQ!66,KUZIL2MO0DI$V5Z;G%5J)0FM\R<VF6$2FEZ_.$MN-4<7R=!
M+TB2H-N<;L&:E_%-U/62VS-[3CS?3XDG'\5/Q`Y/2J@47XMKDD\2):R5FU,I
M=ZIT3D6I1[/14]UV5?1$R-N;JGL`O;U+/!%8&A:+:F*F114A?7Q0K=?6A^2V
M\FALJR;/;_"(LNUJG^I-KFR6U@POK\E5=UB;3%Z,>+/S!T3>)'P?+!4Z9CLW
M-6ZZ.LL[)G$*"['4[8JSB:C$T%N^A%"I'2<WVZYB"-V<9!=52*\I?ZSCZ<II
MA=1U4GTQ3T&J>KVZN'2%@ML(EC\S\-0%=02CEB*D<^VUA]A20COL>E4OU9].
M\G:=\E1K"%+">OEP)86(7J@XP=8%@K8^$!#UF+9)Z+'3.*61S?_U8U,,]J!#
MD_^CU%GF_VSY-\W_N;:+^;]#X.B;UF48M<3`.*H$QI$\,5=UK\`?Q/!\0XKR
MN9&,08`0#4-60O-["YHQ9/C\;A*(B5)A]HQ1!&9+Z2BK8'/3UK;MC9I6L;U5
MUZQMUW?8H<<N780Q"<<!S`RYO%RY7BWD2F*UE"\J9;5B3<VZ*F&L8]8\BYBA
M5;^/O$)>5<,KDN556D.06<BL`LRJZ)%Z)(]`^WD\%TAI9GW!]Q>NL$U^G9\T
M7[\]L[CJ+CZZ"[I+.6ZN/OU]7Q+31F(B,1^9F"LIJ]7@B:$3&5HQ0W,4W8F`
MR#'D6!&./7;:"S%'-O^K'CRKT;$]_PM@.\XB_\M=GN9_.;,IYG\/@=D*_)#$
M_<0;9X/U_#W(M2?K@TF0P'$DPWEC^KOX&F?Z=J31AN2GXVA1U8TA/*,G$#V4
MA]DRI+W#.IP!77ZK*HBZLM^ZPNYW:\J+8?V9]HZR8#S#\+/$5O_WJ]&A\W_&
ME^]_'&K-_)_B^Y^#X*@;],(H@`C>-N2/8831!,9>&!VG%U[2]T_`'T@+-1JR
M\+YN?#12-[RY'`72]\ZCBXXLIUW#$QB>P%7'D.5>+,-%*+V2=""$;R&2_UZ^
MK,/'J1-.6X>SUN&L=?C0.G/J\_!B%B(ZT\I/1OJI\,XR7)P/+SK0:L"+Y@NX
M_^?O7[[\?O_GW<^__GO_]8^OOWVY_^ON\]UG:+0R^C_AO@6!0"`0"`0"@4`@
9$`@$`H%`(!`(!`*!0#QA_`?LE^&E`%``````
`
end

$B0J>e$G$9!#(B
-- 
 $B$J$+$?$^$[(B / $BCfED??=((B
