From owner-FreeBSD-tech-jp@jp.freebsd.org  Fri Oct  2 19:05:20 1998
Received: (from daemon@localhost)
	by jaz.jp.freebsd.org (8.9.1+3.1W/8.7.3) id TAA09208;
	Fri, 2 Oct 1998 19:05:20 +0900 (JST)
	(envelope-from owner-FreeBSD-tech-jp@jp.FreeBSD.org)
Received: from TYO203.gate.nec.co.jp (TYO203.gate.nec.co.jp [202.32.8.211])
	by jaz.jp.freebsd.org (8.9.1+3.1W/8.7.3) with ESMTP id TAA09202;
	Fri, 2 Oct 1998 19:05:16 +0900 (JST)
	(envelope-from shiozaki@ased.mt.nec.co.jp)
Received: from mailsv.nec.co.jp (mailsv-le1 [192.168.1.90])
	by TYO203.gate.nec.co.jp (8.9.1a/3.7W98092815) with ESMTP id TAA03306;
	Fri, 2 Oct 1998 19:05:14 +0900 (JST)
Received: from asede1.ased.mt.nec.co.jp (asede1.ased.mt.nec.co.jp [133.201.62.3]) by mailsv.nec.co.jp (8.9.1a/3.7W-MAILSV-NEC) with ESMTP
	id TAA03872; Fri, 2 Oct 1998 19:05:13 +0900 (JST)
Received: from mtasedms.ased.mt.nec.co.jp (mtasedms [133.201.62.1]) by asede1.ased.mt.nec.co.jp (8.8.5+2.7Wbeta5/3.5Wbeta) with ESMTP id TAA18574; Fri, 2 Oct 1998 19:08:06 +0900 (JST)
Received: from localhost ([133.201.213.33]) by mtasedms.ased.mt.nec.co.jp
          (Netscape Messaging Server 3.5)  with ESMTP id 275;
          Fri, 2 Oct 1998 19:06:25 +0900
To: FreeBSD-tech-jp@jp.freebsd.org
Cc: FreeBSD-users-jp@jp.freebsd.org
From: Takuya SHIOZAKI <AoiMoe@isoternet.org>
In-Reply-To: Your message of "Fri, 02 Oct 1998 18:44:24 +0900"
	<19981002184424Y.kana@saijo.mke.mei.co.jp>
References: <19981002184424Y.kana@saijo.mke.mei.co.jp>
X-Mailer: Mew version 1.93 on Emacs 19.28 / Mule 2.3 (SUETSUMUHANA)
My-Status: haiboku-in="Aoi MATSUBARA"; bukatsudou="Marsh Mallow Club"
For-Your-Information: X-TrueType Server Ver1.0 is available now!!
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Message-Id: <19981002190635P.shiozaki@ased.mt.nec.co.jp>
Date: Fri, 02 Oct 1998 19:06:35 +0900 (JST)
X-Dispatcher: imput version 980905(IM100)
Lines: 97
Reply-To: FreeBSD-tech-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+980914
X-Sequence: FreeBSD-tech-jp 1748
Subject: [FreeBSD-tech-jp 1748] Re: What's ELF
Errors-To: owner-FreeBSD-tech-jp@jp.freebsd.org
Sender: owner-FreeBSD-tech-jp@jp.freebsd.org


$B1v:j!wF|K\EE5$$G$9!#2O4_$r(B tech-jp $B$K0\$7$^$9$M!#(B


$B%^%k%A%l%9$G<:Ni!#(B

From: Masanori Kanaoka <kana@saijo.mke.mei.co.jp>
Subject: [FreeBSD-users-jp 33491] Re: What's ELF
Date: Fri, 02 Oct 1998 18:44:24 +0900
Message-ID: <19981002184424Y.kana@saijo.mke.mei.co.jp>

> dlopen $B$r(B key word $B$K!"(B/usr/src/lib $B$N2<$rC5$7$F$_$k$H!"(B
> /usr/src/lib/libc/gen/dlfcn.c
>     $Id: dlfcn.c,v 1.2 1998/03/07 19:57:05 jdp Exp $
> $B$K$"$?$j$^$7$?!#$=$3$G!"(Bdlopen,dlsym,dlclose $B$J$I$r$_$k$H!"(B
> ELF $B$N>l9g$O!"2?$b$;$:$K(B NULL $B$rJV$7$F$$$k$h$&$G$9!#(B
>  static const char sorry[] = "Service unavailable";
> $B$H$$$&$N$b8+$i$l$^$9$N$G!"$^$@BP1~$5$l$F$$$J$$$N$G$O$J$$$G$7$g$&$+!)(B

$B%,%S!<%s(B(3$BE@(B)$B!"$=$&$$$&%*%A$G$9$+!#(B

$B$G$b!"99$J$k5?Ld$O;D$k$P$+$j!#$9$J$o$A!"(B


From: Masanori Kanaoka <kana@saijo.mke.mei.co.jp>
Subject: [FreeBSD-users-jp 33489] Re: What's ELF
Date: Fri, 02 Oct 1998 17:53:16 +0900
Message-ID: <19981002175316E.kana@saijo.mke.mei.co.jp>

> $B0J2<$N$h$&$J(B bar.c $B$G:FEY3NG'$7$^$7$?!#(B
> bar.c
> ---------
> #include <stdio.h>
> #include <dlfcn.h>
> 
> int
> main(void)
> {
>         void    *h = dlopen("./foo.so",RTLD_NOW);
> 
>         printf("foo = %d\n", dlsym(h, "foo") != NULL);
>         printf("%s\n",dlerror());
> 
>         printf("_foo = %d\n", dlsym(h, "_foo") != NULL);
>         printf("%s\n",dlerror());
> 
>         return 0;
> }
> ---------
> $ monster: {213} ./bar
> $ foo = 1                   <---- $B$J$s$8$c!$$3$j$c!*!)(B
> $ (null)
> $ _foo = 0
> $ Undefined symbol "_foo"
> $B7k2L$O!">e5-$HF1$8$K$J$j$^$7$?!#(B

$B;d$NAGKQ$J5?Ld!'(B
  1. $B$J$s$G(B -1 $B$8$c$J$/$F(B 1 $B$J$N!)(B
  2. $B$J$s$G(B foo $B$H(B _foo $B$GCM$,0c$&$N!)(B


$B$H$$$&$3$H$G!"$b$C$H9T57$NNI$$%W%m%0%i%`$G%F%9%H$7$F$_$F$/$@$5$$!'(B

bar.c
---------
#include <stdio.h>
#include <dlfcn.h>

int
main(void)
{
        void    *h = dlopen("./foo.so",RTLD_NOW);
        int result;

        result = dlsym(h, "foo") != NULL;
        printf("foo = %d\n", result);
        printf("%s\n",dlerror());

        result = dlsym(h, "_foo") != NULL;
        printf("_foo = %d\n", result);
        printf("%s\n",dlerror());

        return 0;
}
====

$B$G$b!"8D?ME*$K$O!"%3%s%Q%$%i$N%P%0$N$h$&$J5$$,$9$k!#(B


$B$G$O!#(B
---
  $B1v:j(B $BBsLi(B - shiozaki@ased.mt.nec.co.jp
              Shiozaki@p20-23330.star.nec.co.jp
              tshiozak@isoternet.org

  $BF|K\EE5$(B($B3t(B)$B%7%9%F%`;v6H%0%k!<%W(B $B%7%9%F%`%=%U%H%&%'%";v6HK\It(B
  $B%U%m%s%H%*%U%#%9%7%9%F%`;v6HIt(B $BBhFs5;=QIt(B
