From owner-FreeBSD-users-jp@jp.freebsd.org  Fri Dec 31 20:05:42 1999
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id UAA69515;
	Fri, 31 Dec 1999 20:05:42 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from tortoise.jp.freebsd.org (root@tortoise.jp.FreeBSD.ORG [210.157.158.41])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id UAA69510
	for <FreeBSD-users-jp@jp.freebsd.org>; Fri, 31 Dec 1999 20:05:42 +0900 (JST)
	(envelope-from issei@issei.org)
Received: from mx1.issei.org (valkirie.issei.org [3ffe:505:a:1:290:ccff:fea1:1ff2])
	by tortoise.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP/IPv6 id UAA23068
	for <FreeBSD-users-jp@jp.freebsd.org>; Fri, 31 Dec 1999 20:05:09 +0900 (JST)
	(envelope-from issei@issei.org)
Received: from localhost (mx1.issei.org [210.254.221.66])
	by mx1.issei.org (8.9.3+3.2W/3.7W-v6) with ESMTP/IPv4 id UAA92855
	for <FreeBSD-users-jp@jp.freebsd.org>; Fri, 31 Dec 1999 20:05:38 +0900 (JST)
	(envelope-from issei@issei.org)
To: FreeBSD-users-jp@jp.freebsd.org
In-Reply-To: <19991231164928D.wizard@paddock.freebsd.org>
References: <199912291854.DAA20919@tasogare.imasy.or.jp>
	<19991231164928D.wizard@paddock.freebsd.org>
X-Mailer: Mew version 1.94.2pre7 on XEmacs 21.1 (Biscayne)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Message-Id: <19991231190359N.issei@issei.org>
Date: Fri, 31 Dec 1999 19:03:59 +0900
From: Issei Suzuki <issei@issei.org>
X-Dispatcher: imput version 991025(IM133)
Lines: 89
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990727
X-Sequence: FreeBSD-users-jp 48716
Subject: [FreeBSD-users-jp 48716] Re: data32 in asm.h
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: issei@issei.org

In mail "[FreeBSD-users-jp 48714] Re: data32 in asm.h"
wizard <wizard@paddock.freebsd.org> wrote:

> ELF $B$b$$$:$l2?$,0c$&$N$+$H$+JY6/$7$J$$$H$J$!!#(B

  $B%7%s%\%kL>$K4X$7$F$N$_!"JdB-$7$F$*$-$^$9!#(B


  C $B8@8l$G30ItJQ?t(B ($B4X?t(B) $B$r;H$&>l9g!"%3%s%Q%$%i$d%j%s%+$NFbIt$G$O!"<!$N(B
$B$h$&$J=hM}$,9T$o$l$F$$$^$9!#(B

1. $B30ItJQ?t(B ($B4X?t(B) foo $B$r!VDs6!$9$k!W%=!<%9%U%!%$%k$r%3%s%Q%$%k$7$F%*%V(B
   $B%8%'%/%H%U%!%$%k(B (*.o) $B$r:n@.$9$k$H!"(Bfoo $B$H$$$&JQ?t(B ($B4X?t(B) $B$rDs6!$9$k(B
   $B$3$H$r<($9>pJs$r!"%*%V%8%'%/%H%U%!%$%kCf$N%7%s%\%k%F!<%V%kNN0h$K=q$-(B
   $B=P$9!#(B

2. $B30ItJQ?t(B ($B4X?t(B) foo $B$r!VMxMQ$9$k!W%=!<%9%U%!%$%k$r%3%s%Q%$%k$7$F%*%V(B
   $B%8%'%/%H%U%!%$%k$r:n@.$9$k$H!"30It$N(B foo $B$H$$$&JQ?t(B ($B4X?t(B) $B$rMxMQ$9$k(B
   $B$3$H$r<($9>pJs$r!"%*%V%8%'%/%H%U%!%$%kCf$N%7%s%\%k%F!<%V%kNN0h$K=q$-(B
   $B=P$9!#(B

3. $B%*%V%8%'%/%H%U%!%$%k$r%j%s%/$7$F<B9T%U%!%$%k$r:n@.$9$k:]$K!"L$Dj5A%7(B
   $B%s%\%k$KBP1~$9$k%7%s%\%k>pJs$r!"%j%s%/$9$k%*%V%8%'%/%H%U%!%$%k$b$7$/(B
   $B$O%i%$%V%i%j$+$iC5$7$@$7!":G=*E*$K$O$9$Y$F%"%I%l%9CM$K=q$-D>$9!#L$Dj(B
   $B5A$N$^$^2r7h$5$l$J$$%7%s%\%k$,$"$k>l9g$K$O!"%j%s%/%(%i!<$K$J$k!#(B

   # $B6&M-%i%$%V%i%j$r;H$&>l9g$K$O!"$A$g$C$HOC$,0c$&$s$G$9$,!">JN,!#(B


  $B$3$3$G%7%s%\%k%F!<%V%k$K=q$-=P$9%7%s%\%kL>$,!"(Ba.out $B$H(B ELF $B$G$O0[$J$C(B
$B$F$-$^$9!#(Ba.out $B$G$OJQ?t(B ($B4X?t(B) $BL>$N@hF,$K(B _ $B$r$D$1$?$b$N$rMQ$$$^$9$,!"(B
ELF $B$G$OJQ?t(B ($B4X?t(B) $BL>$=$N$b$N$H$J$j$^$9!#(B

  $B$?$H$($P!"%"%;%s%V%i$G=q$$$?FCDj$N=hM}$r!"(BC $B$N%3!<%I$+$i4X?t(B foo $B$H$7(B
$B$F8F$S=P$7$?$$>l9g!"(Ba.out $B$G$O(B

  .global _foo

$B$H$7$F%7%s%\%kL>(B _foo $B$r%7%s%\%k%F!<%V%k$K:n@.$9$kI,MW$,$"$j$^$9$,!"(B
ELF $B$G$O!"$3$3$r(B

  .global foo

$B$H$9$kI,MW$,$"$j$^$9!#(B


  $B$A$J$_$K!"%V!<%H%m!<%@$OL54X78$G$9$,!"(BFreeBSD $B$N%+!<%M%k$N%=!<%9%3!<%I(B
$B$G$O!"(Ba.out, ELF $B$G%7%s%\%kL>$rJQ99$9$k=hM}$O$9$Y$F(B C $B%W%j%W%m%;%C%5$N%^(B
$B%/%m$G>l9gJ,$1$7$F$$$^$9!#(B

/sys/i386/include/asmacros.h $B$+$iH4?h(B
----------------------------------------------------------------------
/*
 * CNAME and HIDENAME manage the relationship between symbol names in C
 * and the equivalent assembly language names.  CNAME is given a name as
 * it would be used in a C program.  It expands to the equivalent assembly
 * language name.  HIDENAME is given an assembly-language name, and expands
 * to a possibly-modified form that will be invisible to C programs.
 */
#if defined(__ELF__)
#define CNAME(csym)             csym
#define HIDENAME(asmsym)        __CONCAT(.,asmsym)
#else
#define CNAME(csym)             __CONCAT(_,csym)
#define HIDENAME(asmsym)        asmsym
#endif
----------------------------------------------------------------------



$B%7%s%\%kL>$K4XO"$7$F!"CN$C$F$*$/$HJXMx$J%3%^%s%I$r$$$/$D$+(B

nm (1) - $B%*%V%8%'%/%H%U%!%$%k$+$i%7%s%\%k$r%j%9%H$9$k(B

  $B5-9f(B $B0UL#(B                            C $B8@8l$N%3!<%I$K$*$1$kBP1~(B
  -----------------------------------------------------------------
  U    $BL$Dj5A%7%s%\%k(B                  $B30It4X?t(B ($BJQ?t(B) $B$N;2>H(B
  T    $B30It;2>H2DG=$J%F%-%9%H(B ($B4X?t(B)   $BHs(B static $B$J4X?t(B
  D    $B30It;2>H2DG=$J%G!<%?(B ($BJQ?t(B)     $BHs(B static $B$JJQ?t(B
  t    $B30It;2>HIT2DG=$J%F%-%9%H(B        static $B4X?t(B
  d    $B30It;2>HIT2DG=$J%G!<%?(B          static $BJQ?t(B


objdump (1) - $B%*%V%8%'%/%H%U%!%$%k$+$i>pJs$rI=<($9$k(B

strip (1) - $B%*%V%8%'%/%H%U%!%$%k$+$i%7%s%\%k$N:o=|(B


Issei.-
