タグ

gccに関するmas-higaのブックマーク (8)

  • MIR: A lightweight JIT compiler project | Red Hat Developer

    For the past three years, I've been participating in adding just-in-time compilation (JIT) to CRuby. Now, CRuby has the method-based just-in-time compiler (MJIT), which improves performance for non-input/output-bound programs. The most popular approach to implementing a JIT is to use LLVM or GCC JIT interfaces, like ORC or LibGCCJIT. GCC and LLVM developers spend huge effort to implement the optim

    MIR: A lightweight JIT compiler project | Red Hat Developer
  • SEGV探偵が往く - なるせにっき

    人は誰しも108つの夢を持つと言いますが、読者の皆さんにも探偵を夢見た人は多いことでしょう。実際問題として探偵業をやろうと思ったら地道な聞き込み&張り込みの日々でしょうし、逆に派手な探偵業は陰謀&殺人で恐ろしい。わたしも自分の命は大事ですからどうするか。そう、探偵ごっこをするわけですね。 というわけでSEGV探偵です。死ぬのはプロセスなので安心。Rubyを使っていればSEGVなんて見慣れたものですが、いざ捜査しようと思うと意外とその辺には転がっていないもの。(むかしはつかみ取り出来るくらいいたそうですよ)とはいえ今でもいわゆる「バグ鉱脈」みたいなものはありまして、その一つが「最新のコンパイラでビルドしてみる」です。 今日はGCCの開発版であるGCC8を試してみましょう。FreeBSDだとsudo pkg install lang/gcc8-develで簡単に入れられるのですが、他の環境だと

    SEGV探偵が往く - なるせにっき
    mas-higa
    mas-higa 2017/09/06
    gcc の bug まで追いたくないなぁ
  • Big Sky :: gcc は副作用のある関数呼び出しを含む式評価順序を最適化する。

    2013/04/30 タイトル修正 昨日、とある場所でこんな話で盛り上がった。 逆ポーランド計算機を作ろうと思ったんだけど、どうも結果が期待通りにならない。 ソースコードを見せて貰うと以下の様なコードだった。 #include<stdio.h> #include<stdlib.h> #define MAX_SIZE 100 int stack[MAX_SIZE]; int stack_pointer = 0; void push(int data){ stack[stack_pointer++] = data; } int pop(){ return stack[--stack_pointer]; } int pop1(int n){ printf("pop %d\n", n); return stack[--stack_pointer]; } int main(void){ char s

    Big Sky :: gcc は副作用のある関数呼び出しを含む式評価順序を最適化する。
    mas-higa
    mas-higa 2015/11/19
  • 自由ソフトウェア財団が技術的な指導力を失いつつある

    GNU sed 4.2.2 released, and a rant from the maintainer GNU sed 4.2.2のリリースに合わせて、メンテナーであるPaolo Bonziniが、GNU sedを含むGNUプロジェクトのメンテナーをやめると発言している。さらに、その理由について書き立てている。 私はGNU sed 4.2.2を喜ばしく発表する。 喜ばしからぬ発表として、私はGNU sed(8年間)とGNU grep(3年)のメンテナーから降りる。私はさらに、Autoconf, Automake, Libtool, gnulib, libsigsegv, Bsionのコミットアクセス権も放棄する。 GNUメンテナーと外部の者に告ぐ。この発表や、Nikos Mavrogiannopoulosの発表、gnutlsの移行は、驚くにあたらない。 gnutls is movin

    mas-higa
    mas-higa 2012/12/25
    apple の政治的決断もだいがいやけどな。
  • MacOSX10.8(Mountain Lion)付属のrubyでbignum(?)に問題 - きりかノート 3冊め

    (7/26 タイトルに"Mountain Lion"を入れました) 2**64 => 0 なんだよっ。そんなバカな!という話。 ruby-listに注意のお知らせを出したのでそれをコピペ。 [ruby-list:48855]MacOSX10.8付属のrubyでbignum(?)に問題 先日リリースされた、Mac OS X 10.8に付属のruby(1.8.7)でbignumまわりの計算で問題があるようです。 % /usr/bin/ruby -v ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0] % /usr/bin/ruby /usr/bin/irb >> 2**62 => 4611686018427387904 >> 2**63 => -9223372036854775808 # 負の数になるのはおかしい。正しくは

    MacOSX10.8(Mountain Lion)付属のrubyでbignum(?)に問題 - きりかノート 3冊め
    mas-higa
    mas-higa 2012/07/27
    apple が 1.9 系への移行を推進してくれてるんですね。
  • 独り言: OS X LionにしてGCCやGNU Makeが見つからなくなったら

    GNU Make 第3版 Mac OS X 10.6 Snow Leopard環境を使っていて、その後OS X Lionにアップグレードした時には問題が起きずに気付かなかったのですが、HDDをSSDに交換してMac OS X 10.6 Snow Leopardから直ぐにOS X LionにアップグレードしたらGCCとGNU Make等が行方不明になってしまいました。 原因は何かとネットで色々と調べ回ってみましたところ、どうもXcodeの4.2から4.3への変更が原因のようです。 Xcode 4.2以前のものと違いXcode 4.3からはアプリケーションとしてパッケージ化され纏められ、アプリケーションフォルダに置かれることになりました。それに伴いそれまでXcodeをインストールすれば一緒に/usr/bin/にGCCやGNU Make等色々とインストールされていたツール類が、/usr/bin/

    mas-higa
    mas-higa 2012/03/14
    ようやく理解した。
  • Xcode 4 でデフォルトになった LLVM って何?

    こんにちは。開発担当の金内です。 Xcode 4 は UI もすっかり変わりましたが、ビルドの要であるコンパイラもデフォルトが変更されています。その新しいコンパイラのキーワードが「LLVM」です。いまいち聞き慣れない方もいると思うので、今回はその LLVM について簡単にご紹介します。 ざっくりとした結論から言ってしまえば、Xcode における LLVM は従来のデフォルトコンパイラである GCC を置き換えるものです。LLVM には次のような特徴があります。 ・コンパイルが速い ・コンパイルされたコードが速い ・エラーメッセージがわかりやすい ・他のツールと連携しやすい いいことばかりですね。 しかし、コンパイラは要となる重要なコンポーネントなので、互換性などへの配慮から、Apple は GCC からの移行を少しずつ段階的に進めています。 実際、Xcode 4.0 でのデフォルトは完全に

    Xcode 4 でデフォルトになった LLVM って何?
  • gccに定義されているマクロ一覧表示 - とあるぼっちの生存報告

    $ echo | gcc -v -E -dM -

    gccに定義されているマクロ一覧表示 - とあるぼっちの生存報告
  • 1