From owner-FreeBSD-users-jp@jp.freebsd.org  Fri Feb  6 00:51:54 1998
Received: by jaz.jp.freebsd.org (8.8.8+3.0Wbeta7/8.7.3) id AAA00754
	Fri, 6 Feb 1998 00:51:54 +0900 (JST)
Received: by jaz.jp.freebsd.org (8.8.8+3.0Wbeta7/8.7.3) with ESMTP id AAA00744
	for <FreeBSD-users-jp@jp.freebsd.org>; Fri, 6 Feb 1998 00:51:47 +0900 (JST)
Received: (from shimizu@localhost)
	by psun0.phys.kyushu-u.ac.jp (8.8.7/3.6Wbeta7) id AAA24978;
	Fri, 6 Feb 1998 00:51:44 +0900 (JST)
Date: Fri, 6 Feb 1998 00:51:44 +0900 (JST)
Message-Id: <199802051551.AAA24978@psun0.phys.kyushu-u.ac.jp>
To: FreeBSD-users-jp@jp.freebsd.org
Cc: shimizu@phys.kyushu-u.ac.jp
In-Reply-To: Your message of "Thu, 5 Feb 1998 13:09:53 +0900 (JST)".
	<19980205040953.3353.qmail@i386.honkan3.tmca.ac.jp>
From: shimizu@phys.kyushu-u.ac.jp (Yoshifumi R. Shimizu)
X-Mailer: mnews [version 1.20] 1996-12/08(Sun)
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=24]
X-Sequence: FreeBSD-users-jp 24258
Subject: [FreeBSD-users-jp 24258] Re: Mystery of __main.o in libgcc.a
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org

$@@6?e!w6eBgM}J*M}$G$9!#(J

Shiba $@$5$s!"(J

>	$@B?J,!"(Jblockdata?$@$b$7$/$O!"(Jcommon $@$G<h$C$?(Jarea$@$K0lIt(J
>	data$@J8$G%G!<%?$r=q$$$F$$$k$H$+!#(J

$@$=$&$G$9$M!#(JFortran $@$G0lIt$N(J program $@$G$O(J blockdata $@J8$r(J common $@$N=i4|2=(J
$@$K;H$C$F$$$^$9$M!#(J

>	2^2$@$G(J4byte boundary$@$G$O(J?
>	.align x$@$O(J 2^x boundary
>	.lcomm a,x$@$O(J x boundary

$@$&!"A4$/$*CQ$:$+$7$$!#$=$NDL$j$G$9$M!#$G$b!"$I$&$7$F(J 2^4 = 16byte =128bit
$@$J$s$G$7$g$&!#(JGcc $@$N(J info $@$G$b(J -m486 option $@$r$D$1$k$H(J -malign-***=4 $@$,(J
default $@$K$J$k$H=q$$$F$"$j$^$9$M!#(J

>	/etc/make.conf$@$N(JCFALGS,COPTFLAGS$@$K(Jalign-double$@$rF~$l$J$1(J
>	$@$l$P$J$j$^$;$s!#$G$J$$$H(Jlibkvm$@$,0c$C$FMh$^$9!#(J($@9=B$BN(J
>	$@$NBg$-$5$,0c$C$FMh$k$N$G(J)

$@$($(!"$"$l$+$i$$$m$$$m$N(J program $@$r(J g77 $@$G(J compile $@$7$?>l9g(J link $@$5$l$k(J
$@$N$O$I$N(J library $@$+$rD4$Y$F$_$k$H(J

  crt0.o, libgcc.a, libf2c.so.*.*, libm.so.*.*, libc.so.*.*

$@$@$1$N$h$&$J$N$G$3$l$i$K$D$$$F(J

>>-malign-double -malign-functions=4 -malign-loops=4
>>-malign-jumps=4

$@$N(J options $@$G:F9=C[$7$F$_$^$7$?!#$G!"7k2L$O!"$&!<$s!"$"$k(J program $@$G(J
$@$3$l$^$G$N$I$NAH9g$;$h$j$bCY$$$H=P$F$7$^$$$^$7$?(J(9.7 sec --> 33.9 sec).
alignment $@$,$=$m$C$F$$$k$O$:$J$N$G$I$N(J program $@$G$d$C$F$b:GB.$K$J$k(J
$@$H4|BT$7$F$$$?$N$G$9$,!#$d$C$Q$j!"$=$&C1=c$J$b$N$G$O$J$$$G$9$M!#(J
g77 -Xlinker -M $@$G8+$?8B$j$G;H$o$l$F$$$k$9$Y$F$N(J routines $@$r>e$N$h$&$K(J
16 byte boundary $@$KB7$($?$D$b$j$@$C$?$N$G$9$,!#$=$l$H$b$3$l$@$1$G$O(J
$@$o$+$i$J$$2?$+$N(J library $@$bJQ99$9$kI,MW$,$"$k$N$G$7$g$&$+!J(Jlibkvm ?$@!K!#(J

$@!!$J$s$+!"$=$&C1=c$K$$$D$b:GB.$N(J binary $@$r$O$/$h$&$K$O$G$-$J$$$h$&$G$9$M!#(J
$@$b$&$A$g$C$H$\$A$\$AMM;R$r$_$F$_$^$9!#$7$+$7!"0lC6$3$l$@$1B.$/7W;;$G$-$k(J
$@$H$$$&$3$H$,$o$+$k$H>/$7(J program $@$rJQ99$7$F(J compile $@$7D>$7$F!"5^$KB.$5$,(J
2,3 $@G\$bCY$/$J$k$H$A$g$C$H%7%g%C%/$G$9!#(J
$@!!?7$7$/:n$k(J program $@$O$I$l$0$i$$$NB.$5$,=P$k$N$+$o$+$i$J$$$N$G!"$[$s$H$O(J
3$@G\B.$/7W;;$G$-$?$H$+$K$J$k$N$OHa7`$G$9$M!#$J$s$H$+4JC1$K%A%'%C%/$G$-$k(J
$@J}K!$,$"$l$P$$$$$N$G$9$,!#(J

>	__main.o $@$r(J strip$@$9$k$H!"(Jlink$@$G$-$k$s$G$9$+(J?
>	ld __main.o -x -r __main.o
>	$@$@$H(JOK$@$G$9$,!#(J

$@$($(!"IaDL$K(J compile $@$7$?(J __main.o $@$r(J strip __main.o $@$H$7$F$=$l$r$b$H$N(J
__main.o $@$NBe$o$j$K(J link $@$7$?$N$G$9$,!#(J

>R. S> $@$7$^$7$?$,!"$3$l$O$I$&$7$F$J$s$G$7$g$&!#(Jstrip $@$H$$$&$N$O(J debug $@>pJs(J
>R. S> $@$J$I$r<h$j5n$k$@$1$G(J linkage $@$KI,MW$J>pJs$O;D$C$F$$$k$b$s$@$H;W$C$F(J
>R. S> $@$$$^$7$?$,!"0c$&$N$G$7$g$&$+!#;d$O$$$D$b(J dynamic-link library $@$r(J
>R. S> $@:n$k;~(J strip $@$b$7$F$7$^$&$N$G$9$,!"$3$l$r$9$k$+$I$&$+$G(J alignment
>R. S> $@$N>u67$,JQ$o$j$&$k$H$$$&$3$H$G$7$g$&$+!#(J
>
>-00000010: a401 0000 2010 0000 0000 0000 0000 0000  .... ...........
>+00000010: 0000 0000 2010 0000 0000 0000 0000 0000  .... ...........
>
>	$@$H!"(Jsymbol table$@0J30$OF1$8$+$H!">e$N(Ja4010000$@$,(Jsymbol 
>	table$@$N(Jbyte$@?t$G$9(J(420)$@!#(J20100000$@$O(Jentry point
>
>	$@$G!"JQ$o$kH&$OL5$$$H$*$b$$$^$9$,!#(J

$@$=$&$G$9$h$M!#2?$+$^$?$*$+$J$3$H$r$7$F$$$k$N$G$7$g$&$+!#$&!<$s!#(J


Murakami Hiroshi $@$5$s!"(J

>$@$7$+$?$,L5$$$N$G(J $@%f!<%6!<%"%W%j%1!<%7%g%sB&$G!"%"%/%;%9IQEY$N9b$$(J
>$@%G!<%?$dG[NsEy$O(J 8$@%P%$%H$NG\?t$N%*%V%8%'%/%H$O6/@)E*$K(J 8$@%P%$%H6-3&(J
>$@$K$J$k$h$&$K$9$k$7$+$J$$$G$7$g$&!#(J

$@$d$C$Q$j(J 64bit boundary $@$G$9$h$M!#$=$l$,;d$NJ9$$$F$$$?$3$H$G$9$M!J(JP5,P6
$@$O(J 32bit $@1i;;(J 64bit data bus$@!K!#(J

>$@$=$NJ}K!$O!"%3%s%Q%$%i%*%W%7%g%s$G:Q$`$J$i$h$$$N$G$9$,!"$=$&$G$J$1$l$P(J,
>$@%@%_!<$NJQ?t$rDj5A$7$?$j!"%a%b%j!<$r%"%m%1!<%7%g%s$7$FG\8l6-3&(J
>$@$K$"$C$?>l=j$r;H$&(J, $@$J$I$H$$$&$3$H$r$7$J$1$l$P$J$i$J$/$J$j$^$9!#(J

$@$($(!"$G$b(J g77 $@$r;H$C$F(J fortran $@$N%3!<%I$r(J compile $@$7$F$$$k$H!"$I$&(J
$@$7$h$&$b$J$$$s$G$9$h$M!#$G!"$=$s$J(J program $@$3$=$^$5$KB.EY$,MW5a$5$l$k(J
$@!J0l=54V$0$i$$Av$jB3$1$k$N$O%6%i$G$9!#$=$l$,(J 3$@F|$G=*$C$?$i!"!"!"!K!#(J

$@!!6e=#Bg3XM}3XItJ*M}(J  $@@6?eNIJ8(J
