                                                    XVt: 2004 N 5  25  

Sun Studio 9: CN^J[ Readme 

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



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

    A. ͂߂ 

    ̕ɂ́ASun[tm] Studio 9 CN^J[ (ILD) Ɋւ
    񂪋LڂĂ܂B̃[XœꂽV@\A\tgEFA
    CAm̖_AA̖݊ɂĐ܂B
    ̋̕LړéÃ[X̃}jA̋LړeɗD悵܂B


    i}jA 

      * [Xm[g: http://docs.sun.com \łB[Xm[g
        ́Aei Readme t@C̏ɗD悵܂B
      * Sun Studio 9 ̃hLg :
        /installation_directory/docs/ja/index.html ́Aĩ}
        jAy[WAREADME  HTML o[WAу}jA
        ɃANZXł܂BftHg installation_directory  
        /opt łBindex.html y[Wȉ̃}jAɃANZXł܂B
            C RpC Readme 
            C++ RpC Readme 
            C [U[YKCh 
            C++ [U[YKCh 
            wCu Readme 
            lvZKCh 
            Sun Performance Library Readme 
            Sun Performance Library Reference Manual 
            Sun Performance Library User's Guide 

      * IDE ̃hLg : IDE ́uwvvj[́ASun
        Studio 9 IDE ׂ̂ẴR|[lgɊւICwv
        ɃANZXł܂B
      * JҌ\[X̃|[^ : ZpATvR[hAh
        LgAibWx[XɂẮAJҌ|[^
        http://developers.sun.com/prodtech/cc QƂĂB

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

            more /opt/SUNWspro/READMEs/ild

    ̕ HTML ł\ɂ́AftHg̃CXg[fBN
    gɂ鎟̃t@CɃANZX܂B

       file:file:/opt/SUNWspro/docs/ja/index.html
     
     - Sun Studio 9 \tgEFA /opt ȊÕfBNgɃCXg[
    Ăꍇ́Agp̃VXeɂۂ̃pXAVXeǗ҂
    mFĂB


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

    B. Sun Studio 9: CN^J[ɂ 

    ̃[X ILD ́ASolaris[tm] Iy[eBOVXe 
    SPARC(R) vbgtH[ł̃o[W 8A9A10 Beta ƁA
    Solaris Iy[eBOVXe x86 vbgtH[ł̃o[W
    8A9A10 Beta ŗpł܂B 

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


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

    C. VKѕύXꂽ@\

    ł́Ã[X ILD ŐVɒǉꂽ@\ƕύXꂽ@
    \Ă܂B 

    ŏЉ}jÁAhttp://docs.sun.com \ł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) Ȃ悤ɍX
        V܂B 

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


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

    E. _Ɖ

    ł́A܂łɔĂ\tgEFA̖_ƁA
    ɂĐ܂BŐV񂨂уpb`ɂẮA
    JҌ|[^ http://developers.sun.com/prodtech/cc 
    QƂĂB

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

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

      * ILD ́AA[JCuCu̓̓t@C̃^CX^vɊ
        ÂāAXVꂽt@C肵܂B V{ɂ
        ̒`Cuɑ݂ȂꍇAILD ͐삵܂
        A1 ܂͕̃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ƂĂ܂B one.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 # myfunc1  myfunc2 ̃N
        % cc -xildon main.o libfoo.a # ŏ̃N (N)
        % ./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
        Ă܂B a.out 폜ƁAIɏNs
        A3 ڂ̃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ƁA myfunc2 ł̒~v邱Ƃ
        ܂B ͏dȖł͂܂񂪁A\
        ܂B 

        Kw̃G[邱Ƃ܂B Ȃ킿AA[JCu
        Cû̑̓̓t@CɂV{ւ̗B̎Q
        Atwo.o Ɋ܂܂Ă邱Ƃ܂B ̏ꍇ́AsKv
        ̓̓t@Co邱ƂɂȂ܂B V
        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. ƌ̖݊

    ł́AуVXe܂͂̑̃\tgEFAƂ̌݊
    ̖ɂĐ܂BŐVɂẮAhttp://docs.sun.com 
    \ȃ[Xm[gQƂĂB[Xm[g̏́A
    ei Readme t@C̏ɗD悵܂B 



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

    G. Lq̌̒

    _ł͐V͂܂B



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

    Copyright (C) 2004 Sun Microsystems, Inc. All rights reserved. Use
    is subject to license terms.

