PowerPCなOSX上でv850-elfクロスGCCが作れない

あれれ?


探したら先達がいらっしゃった.曰く


追記:binutils-2.14では上記エラーは警告扱いになるのでgccコンパイルが通るかも。。

そうか,OSX上で作ったクロスコンパイラは,binutilsのバージョンを古いままにしていたので気づかなかったのか.

対策の提案も同ブログにエントリがあった.
筋は間違っていないと思うのだけれど,include/opcodes/v850.hによると

/* (bits >= 0):  How far the operand is left shifted in the instruction.  */
/* (bits == -1): Bit mask of the bits in the operand.  */

とのことなので,bits == -1 か否かだけを判定するほうがよいような気がする.

gas/config/tc-v850.c のコードの真意が今ひとつ掴めていないのだけれども……単に LONG_MAX をほしがっているだけ…なのかなぁ….
OSXで-arch i386したときやLinuxMinGWでの挙動はそんな感じっぽいので,そんな感じのパッチを作ってbinutils MLに投げておこう.あとで.