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したときやLinuxやMinGWでの挙動はそんな感じっぽいので,そんな感じのパッチを作ってbinutils MLに投げておこう.あとで.