🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.os.beos
Article #3

Re: Gcc 2 and Gcc 3 in Zeta OS

#3
From: Masamichi Takatsu
Date: Thu, 26 Feb 2004 01:35
32 lines
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!taka2
References: <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)