Вопрос специалистам по binutils.
кросс-компилирую библиотеку на хосте убунту 16.04 x86_64 (jpeg-8c), таргет i686.
./configure --enable-static --build=i686-unknown-linux-gnu
CFLAGS="-m32"
LDFLAGS="-m32"
на выходе получаю libjpeg.a
затем я эту библиотеку линкую в проект, и все работает. проект запускается, библиотека используется корректно, и т.п.
если я пытаюсь точно так же линковать библиотеку в этот же проект на убунте 14.04 — получаю болт, ld ругается:
/usr/bin/ld: ../../static-deps/lib-x86-32/lib/libjpeg.a(jcapimin.o): unrecognized relocation (0x2b) in section `.text'
/usr/bin/ld: final link failed: Bad value
ранее эта библиотека собиралась на более старой убунте, и видимо, проблема в том, что ld от 14.04 не может сожрать библиотеку собранную на 16.04.
кто-нибудь может подсказать, что на самом деле происходит?
переключить сборочное окружение на 16.04 вполне реально, но хотелось бы разобраться в чем дело.
(edit: точнее, наверное, проще будет даунгрейдить свое локальное сборочное окружение на 14.04)