From owner-man-jp@jp.freebsd.org  Mon May 26 12:48:46 1997
Received: by jaz.jp.freebsd.org (8.8.5+2.7Wbeta5/8.7.3) id MAA24976
	Mon, 26 May 1997 12:48:46 +0900 (JST)
Received: by jaz.jp.freebsd.org (8.8.5+2.7Wbeta5/8.7.3) with SMTP id MAA24970
	for <man-jp@jp.freebsd.org>; Mon, 26 May 1997 12:48:45 +0900 (JST)
Received: (from uucp@localhost) by ns1.sharp.co.jp (8.6.12/3.4W-95091612) id MAA11754 for <man-jp@jp.freebsd.org>; Mon, 26 May 1997 12:48:42 +0900
Received: from marinfw.sharp.co.jp(202.32.86.11) by ns1.sharp.co.jp via smap (V1.3mjr)
	id sma011694; Mon May 26 12:48:34 1997
Received: from td1.tnr.sharp.co.jp (root@td1.tnr.sharp.co.jp [133.159.52.20]) by ns.sharp.co.jp (8.8.5/3.5W-97031013) with SMTP id MAA12208 for <man-jp@jp.freebsd.org>; Mon, 26 May 1997 12:48:34 +0900 (JST)
Received: from mailfwd.slab.tnr.sharp.co.jp ([10.32.30.11]) by td1.tnr.sharp.co.jp (8.6.12/3.5W-97032813) with ESMTP id MAA04133 for <man-jp@jp.freebsd.org>; Mon, 26 May 1997 12:48:33 +0900
Received: from tansu.slab.tnr.sharp.co.jp ([10.32.50.1]) by mailfwd.slab.tnr.sharp.co.jp (8.8.4+2.7Wbeta4/3.5Wpl1) with SMTP id MAA16988 for <man-jp@jp.freebsd.org>; Mon, 26 May 1997 12:47:52 +0900 (JST)
Received: from slabd.slab.tnr.sharp.co.jp by tansu.slab.tnr.sharp.co.jp (4.1/3.5Wpl1)
	id AA27802; Mon, 26 May 97 12:48:32 JST
Received: from localhost.slab.tnr.sharp.co.jp by slabd.slab.tnr.sharp.co.jp (4.1/3.5Wpl1)
	id AA29265; Mon, 26 May 97 12:48:29 JST
Message-Id: <9705260348.AA29265@slabd.slab.tnr.sharp.co.jp>
To: man-jp@jp.freebsd.org
In-Reply-To: Your message of "Mon, 26 May 1997 01:06:53 JST."
             <199705251607.BAA11654@mail.yk.rim.or.jp> 
Date: Mon, 26 May 1997 12:48:28 +0900
From: Norihiro Kumagai <kuma@slab.tnr.sharp.co.jp>
Reply-To: man-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=19]
X-Sequence: man-jp 67
Subject: [man-jp 67] Re: What is `static constrictor' in rtld.1? 
Errors-To: owner-man-jp@jp.freebsd.org
Sender: owner-man-jp@jp.freebsd.org

$@2u$l$F$$$k7'C+$G$9!#(J

C++$@4XO"$NK]Lu$J$iG$$;$J$5$$(J($@13(J)

In Message <199705251607.BAA11654@mail.yk.rim.or.jp>,
  k-horik@yk.rim.or.jp writes:
>  $@KY@n$G$9!#(J rtld.1 $@$K4X$7$F$4AjCL$G$9!#(J
> 
>    After all shared libraries have been succesfully loaded, ld.so proceeds
>    to resolve external references from both the main program and all objects
>    loaded. A mechanism is provided for initialisation routines to be called,
>    on a per-object basis, giving a shared object an opportunity to perfrom
>    any extra set-up, before execution of the program proper begins.  This is
>    useful for C++ libraries that contain static constrictors.
> 
>  `static constrictor' $@$H$O$J$s$G$7$g$&!)F|K\8lLu$K$O(J `$@@EE*%3%s%9%H%i%/(J
> $@%?(J' $@$H=q$$$F$"$j(J `static constructor' $@$NLu$N$h$&$J$N$G$9$,!"1Q8l%^%K%e(J
> $@%"%k$,(J typo $@$H$$$&$3$H$G$7$g$&$+!)(J

static object $@$N%3%s%9%H%i%/%?$N$3$H$G$7$g$&!#(J

$@%3%s%9%H%i%/%?$H$O!"!V%*%V%8%'%/%H$,B8:_$r;O$a$k;~E@!W$G<+F0E*$K8F$S=P(J
$@$5$l$k%a%s%P4X?t(J($@E*4X?t(J)$@$N$3$H$G$9!#0lHL$K$O!"%*%V%8%'%/%HFbIt$N%a%s%P(J
$@$K=i4|CM$r@_Dj$7$?$j$7$^$9!#EvA3$G$9$,!"%3%s%9%H%i%/%?$O%W%m%0%i%^$,%/(J
$@%i%9$rDj5A$9$k:]$K0l=o$KDj5A$7$?$j$7$^$9!#(J

$@$G!"!V%*%V%8%'%/%H$,B8:_$r;O$a$k;~E@!W$H$$$&$N$,%]%$%s%H$G!"$?$H$($P!"(J
auto $@JQ?t$N>l9g$G$7$?$i!"(J($@4X?t@hF,$J$I(J)$@%V%m%C%/<B9T$r3+;O$7$?;~E@$K$J(J
$@$j$^$9!#$G!"(Jextern $@$H$$$$$^$9$+!"(Jstatic $@$H8@$$$^$9$+!"(Jglobal $@$K3d$jEv(J
$@$F$i$l$?%*%V%8%'%/%H$N>l9g!"!V%W%m%0%i%`$N<B9T3+;O;~E@!W$H$J$j$^$9!#$6$C(J
$@$/$j8@$($P!"(Jmain $@4X?t$N<B9T$,;O$^$k$h$j0JA0!"$*$=$i$/(J _startup?! $@%k!<(J
$@%A%s$N<B9TCf$G$9!#$3$N;~E@$G!"A4$F$N(J global object $@$=$l$>$l$K$D$$$F!"(J
$@$=$l$>$l$N%/%i%9$GDj5A$5$l$?%3%s%9%H%i%/%?$,8F$S=P$5$l$^$9!#(J

$@%W%m%0%i%^$,Dj5A$9$k4X?t$r(J main $@$,;O$^$k$h$jA0$K<+F0E*$K<B9T$5$l$k$h$&(J
$@$K$7$J$1$l$P$J$i$J$$$N$G$9$+$i!"%j%s%+$N;E;v$?$k$d7k9=BgJQ$G$9$M!#>e5-(J
$@$N%Q%i%0%i%U$O$=$NJU$N$3$H$r8@5Z$7$F$$$k$H;W$o$l$^$9!#(J

> # perfrom $@$O(J typo $@$G$9$M(J

($@;d$b$=$&;W$&(J) $@7'C+(J $@E5Bg(J
