                                               XVt: 2003 N 3  28 

 Sun[tm] ONE Studio 8:CN^J[ Readme

     ڎ

       A. ͂߂
       B. Sun ONE Studio 8 CN^J[ɂ
       C. VKѕύXꂽ@\
       D. \tgEFȀC
       E. _Ɖ
       F. ƌ̖݊
       G. Lq̌̒



     ------------------------------------------------------------------

     A. ͂߂

     ̕ł́ASun Open Net Environment (Sun ONE) Studio 8,
     Compiler Collection CN^J[ (ILD) Ɋւ
     񋟂܂B ܂A̕ł͍̃[XŒ񋟂V@\
     \tgEFȀCɂĉƂƂɁAm̖␧
     Aь̖݊ɂĐĂ܂B̋̕Lړe
     ̃[X̃}jA̋LړeɗD悵܂B

     i}jA

        * [Xm[g: http://docs.sun.com/ œł܂B [
          Xm[g̏́AeíuReadmevt@C̏ɗD悵
          B
        * Compiler Collection ̃}jA: ĩ}jAy[WA
          HTML ł ReadmeAу}jÁA
          /opt/SUNWspro/docs/ja/index.html ANZXł܂B
        * Compiler Collection JҌ\[X|[^: ZpA
          Compiler Collection ֘ÃhLgAmx[XȂǂɂ
          ẮA Compiler Collection Developer Resources Portal (p)
          QƂĂB

      - Compiler Collection \tgEFAftHg /opt ȊÕf
     BNgɃCXg[Ăꍇ́AVXȇΉpX
     VXeǗ҂ɊmFĂB

     ̃̕eLXgł\ɂ́AR}hvvgŎ̃R}
     h͂܂B

        more /opt/SUNWspro/READMEs/ja/ild

     ̕ HTML ł\ɂ́Ãt@CɃANZX܂B

     file:/opt/SUNWspro/docs/ja/index.html

      -  ̕ł́APentiumAPentium ProAPentium IIAPentium II
     XeonACeleronAPentium IIIAPentium III Xeon vZbTсA
     ƌ݊̂ AMD  Cyrix ̃}CNvZbT`bv
     ܂ށAIntel 32 rbgvZbTA[LeN`𑍏̂ Intel A[
     LeN` (IA) ƌĂł܂B



     ------------------------------------------------------------------

     B. Sun ONE Studio 8 CN^J[ɂ

     ̃[X ILD ́ASolaris[tm] Iy[eBO (SPARC
     (R); vbgtH[)  Solaris Iy[eBO (x86 v
     bgtH[) ̃o[W 7A8A 9 œ삵܂B



     ------------------------------------------------------------------

     C. VKѕύXꂽ@\

     ł́Ã[X ILD ŐVɒǉꂽ@\ƕύXꂽ@
     \Ă܂BSun ONE Studio ̂̑̃R|[lgɂ
     ẮAwSun ONE Studio 8 ̐V@\xQƂĂB [JV
     Xe܂̓lbg[Nł̃}jAANZXɂ́A
     file:/opt/SUNWspro/docs/ja/index.htmlJĂB
     http://docs.sun.com ɂ}jAfڂĂ܂B

        * ILD ́AJ[XR[vT|[g܂B̃T|[ǵAwC
          [U[YKChxƁwC++ [U[YKChxŐĂ
          ɓȐ錾wqgp邩A邢 -xldscope RpC
          IvVŗLɂ܂B

        * ILD ́A\[XuEU DWARF `ŃT|[g܂B
          T|[ǵA.stab.sbfocus ZNV .stab.sbfocusstr ZN
          Vo͎s\t@CɃN邱ƂɂėLɂ
          ܂B
          DWARF `̏ڍׂ́AwC [U[YKChx܂ cc(1) 
          -xdebugformat QƂĂB

        * ILD ́ASPARC vbgtH[pɉǂꂽ ILD ϐʂ
          Xbh[JXg[WT|[g܂B
          Xbh[JXg[W̏ڍׂ́AwC [U[YKChx
          сwC++ [U[YKChx̐錾wqɊւA
          -xthreadvar RpCIvV̐ȂǂQƂĂ
          B



     ------------------------------------------------------------------

     D. \tgEFȀC

     ł́Ã\tgEFȀCɂĐ܂B

        * 4783169
          ILD ́A̓t@C̍XVANA 2 xڂ̍XV
          ēɋNƂ󋵂悤ɍXV܂B̂
          ȏ󋵂NƁAst_mtime ύXȂ܂܂ƂȂAILD 
          ̓t@C 2 xڂ̍XV̌oɎs܂B

        * 4754134
          ILD ́A.stab.index%* ZNV N_OBJ X^u̐ɂĕs
          ȑO (s comdat X^uN) Ȃ悤
          XV܂B

        * 4695562
          ILD ́A蓖ĕs\ȃZNVV{̍Ĕzumɍs
          悤ɍXV܂B



     ------------------------------------------------------------------

     E. _Ɖ

     ł́Am̃\tgEFA̖_ƁẢɂĐ
     ܂BXVɂẮAAbvf[g̃y[W
     http://sun.co.jp/software/sundev/suncc/hotnews.html QƂĂ
     B

        * ILD ͌݁AWX^V{`ɑ΂Ēǉ݂̂̃|V[
          T|[gĂ܂B̃|V[́A̓t@CɃWX^V
          {gpĂāÃt@CύXꂽꍇ́AILD
          tNs邱ƂӖ܂B

        * -g ȊO̍œKxŃRpCƁAWX^V{g
          p邱Ƃ܂B̂߁A-g ŃRpCȂv
          OŃJ[gpꂽꍇAILD ̃bgׂē
          悤ӂKvłB

        * ILD ́AA[JCuCu̓̓t@C̃^CX^v
          ÂāAXVꂽt@C肵܂BV{ɂ
          ĕ̒`Cuɑ݂ȂꍇAILD ͐삵
          ܂BA1 ܂͕̃CuɓV{̕
          ̒`݂ꍇAILD ɍ邱Ƃ܂B
          悤ȏꍇAILD ́AbZ[WoɁAsȃvO
          𐶐邱Ƃ܂B

        * -m IvV͕Wo͂Ƀ[}bv𐶐܂AvI
          G[ɂ͂ȂȂd`ĂV{̃Xg
          ܂B

        * A[JCut@C̓t@C𒊏oāACN^
          s\t@CɃNƁA̓̓t@Cւ̎QƂ
          ׂč폜ĂAɏNs܂ŁA̓t@C
          s\t@CɎc܂܂ɂȂ܂B̗ł́A1
          xڂ̃Nł myfunc1  myfunc2 QƂĂ܂Bone.o
           two.o ̓A[JCu琳o܂B̃ZNV
          ̃R[hQƂĂB

          % cc -c main1.c main2.c one.c two.c
          % ar cr libfoo.a one.o two.o
          % rm -f a.out
          % cp main2.o main.o # references myfunc1 and myfunc2
          % cc -xildon main.o libfoo.a # first link (initial link)
          % ./a.out
          Calling myfunc1!
          myfunc1 called!
          Calling myfunc2!
          myfunc2 called!
          % nm a.out | grep myfunc
          [59]    |    68912|      32|FUNC |GLOB|0    |8     |myfunc1
          [60]    |    68960|      32|FUNC |GLOB|0    |8     |myfunc2

          2 ڂ̃Nł́Amyfunc2 ͎QƂꂸAs\t@C
          ( two.o Œ`Ă邻ׂ̑̂ẴV{) Ɏc
          Ă܂Ba.out 폜ƁAIɏN
          sA3 ڂ̃NɎĂ悤ɁAmyfunc2 Ȃ
          ܂B

          % cp main1.o main.o          # myfunc2 ͎QƂĂȂ
          % cc -xildon main.o libfoo.a # 2 Ԗڂ̃N (N)
          % ./a.out
          Calling myfunc1
          myfunc1 called!
           % nm a.out | grep myfunc
          [59]    |    68912|      32|FUNC |GLOB|0    |8     |myfunc1
          [60]    |    68960|      32|FUNC |GLOB|0    |8     |myfunc2

          # a.out 폜Ɩ肪

           % rm a.out                     # VNsݒ
          % cc -xildon main.o libfoo.a   # 3 Ԗڂ̃N (N)
          % nm a.out | grep myfunc
          [58]    |    68832|      32|FUNC |GLOB|0    |8     |myfunc1

          ̂悤Ȗ肪\P[X܂B

          two.o Œ`Ă邢̃V{AvO̕ʂ
          ꏊł`ĂԂ two.o 荞ނƁAsȒ`
          ͏d`V{G[ɂȂ܂B

          a.out  dbx Ȃǂ̃c[́Atwo.o ܂܂Ă邱
          o܂BƂ΁A2 ڂ̃NŐꂽt@C
          ΂ dbx sƁAmyfunc2 ł̒~v邱Ƃ
          ܂B͏dȖł͂܂񂪁A\
          ܂B

          Kw̃G[邱Ƃ܂BȂ킿AA[JCu
          Cû̑̓̓t@CɂV{ւ̗B̎Q
          ƂAtwo.o Ɋ܂܂Ă邱Ƃ܂B̏ꍇ́AsKv
          ɑ̓̓t@Co邱ƂɂȂ܂BV
          A[JCuCułAL̂ꂩ̖肪
          \܂B

          vOR[h:

          % cat main1.c
          #include <stdio.h>
          extern void myfunc1(void);

          int main(void)
          {
                 (void)printf("Calling myfunc1\n"); myfunc1();
                 return 0;
          }

          % cat main2.c
          #include <stdio.h>

          extern void myfunc1(void), myfunc2(void);

          int main(void)
          {

                 (void)printf("Calling myfunc1!\n"); myfunc1();
                 (void)printf("Calling myfunc2!\n"); myfunc2();
                 return 0;
          }

          % cat one.c
          #include <stdio.h>

          void myfunc1(void)
          {
                 (void)printf("myfunc1 called!\n");
          }

          % cat two.c
          #include <stdio.h>

          void myfunc2(void)
          {
                 (void)printf("myfunc2 called!\n");
          }



     ------------------------------------------------------------------

     F. ƌ̖݊

     _ł͐V͂܂B



     ------------------------------------------------------------------

     G. Lq̌̒

     _ł͐V͂܂B



     ------------------------------------------------------------------

     Copyright xA?2003 Sun Microsystems, Inc. All rights reserved. Use
     is subject to license terms.
