Article View: fj.os.beos
Article #3Re: Gcc 2 and Gcc 3 in Zeta OS
From: Masamichi Takatsu
Date: Thu, 26 Feb 2004 01:35
Date: Thu, 26 Feb 2004 01:35
32 lines
2896 bytes
2896 bytes
高津@ドーガです。
さらに fj.comp.lang.c++ にもふります。
記事 <c1h6q9$qd5$1@aribaba.minolta.co.jp> で
Kawabata Kazuyukiさんは書きました
> > Zeta では gcc-3 系が載っているそうですが、3 と 2 ではバイ
> > ナリ互換がないという話を聞きます。いったいどうやっているの
> > でしょうか?
うろ覚えですが、Zeta の API って C++ で書かれてましたよね。
gcc の 2 と 3 では、関数名の mangling 規則が変わってます。ですから、
C++ なコードをコンパイルした場合、シンボル名に互換性が無いので
そのままでは混在させて link できないですね。
(C++でコンパイルした場合、オブジェクトレベル(.o)で互換性が無い。
ダイナミックリンクの場合には、実行ファイルレベルでも互換性が無くなる)
以下は想像ですが、対策としては
・gcc3 の方では、mangling 規則をgcc2に合わせる
(-fname-mangling-version-0 をつける)
・API のライブラリの方に wrapper を用意していて、gcc2 と gcc3 の
どちらの mangling 規則でも link 出来るようにしている
のどちらかだと思います。
PROJECT TEAM DoGA 高津正道 taka2@doga.jp
TBD00456@nifty.ne.jp
PROJECT TEAM DoGAのホームページ → http://doga.jp/
2月26日(木) 今日のマーフィーの法則 [コリンズの学会の原理]
もっとも単調な声の持ち主が食事のあとにスピーチをする。
Technical Details
Message-ID:
<040226103545.M1100468@XP.doga.jp>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.media.kyoto-u.ac.jp!newsfeed.mesh.ad.jp!news-gw1.ocn.ad.jp!news-gw2.ocn.ad.jp!nn2.news.ocn.ad.jp!news.doga.jp!taka2References:
<c1h6q9$qd5$1@aribaba.minolta.co.jp> <YAS.04Feb25211339@kirk.is.tsukuba.ac.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 10df01,85fa4dd28acc576a X-Google-Attributes: gid10df01,public X-Google-Thread: 114a87,ae3b334be5ca7e4d X-Google-Attributes: gid114a87,public X-Google-Thread: f71b3,d7c63381c36376fe,start X-Google-Attributes: gidf71b3,public X-Google-ArrivalTime: 2004-02-25 17:36:05 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.media.kyoto-u.ac.jp!newsfeed.mesh.ad.jp!news-gw1.ocn.ad.jp!news-gw2.ocn.ad.jp!nn2.news.ocn.ad.jp!news.doga.jp!taka2 From: Masamichi Takatsu <taka2@doga.jp> Newsgroups: fj.os.beos,fj.comp.lang.c,fj.comp.lang.c++ Subject: Re: Gcc 2 and Gcc 3 in Zeta OS Date: Thu, 26 Feb 2004 01:35:45 GMT Organization: PROJECT TEAM DoGA Lines: 32 Message-ID: <040226103545.M1100468@XP.doga.jp> References: <c1h6q9$qd5$1@aribaba.minolta.co.jp> <YAS.04Feb25211339@kirk.is.tsukuba.ac.jp> NNTP-Posting-Host: ns.doga.co.jp Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP X-Trace: nn-os106.ocn.ad.jp 1077759346 15596 61.199.249.82 (26 Feb 2004 01:35:46 GMT) X-Complaints-To: usenet@ocn.ad.jp NNTP-Posting-Date: 26 Feb 2004 01:35:46 GMT X-Newsreader: mnews [version 1.22PL6T1(IMAP4,UNICODE)] 2003-12/12(Fri)