Как предотвратить динамическое перемещение (rela.dyn)? - PullRequest
2 голосов
/ 01 сентября 2009

Я пытаюсь запустить простую программу на встроенной системе powerpc без какой-либо операционной системы. Я использую GNU компилятор-компоновщик инструментов и PSIM в качестве симулятора. Я написал свой собственный очень простой файл директивы Linker.

Я использовал глобальную переменную в моей статической библиотеке и хочу использовать эту переменную в моем примере программы. Но при связывании примера программы GNU ld выдает ошибку и останавливается. Он говорит, что не может найти rel.dyn в файле директивы компоновщика. На самом деле я не хочу использовать динамически перемещаемую библиотеку, потому что у меня нет динамического загрузчика. Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 02 сентября 2009

Трудно сказать без дополнительной информации. Если у вас нет базовой ОС, вы использовали -ffreestanding, чтобы избежать ссылок во время выполнения платформы?

Редактировать: -свободно требует - поделился? «автономное» означает компиляцию в неавтоматизированную среду. Как такая среда может поддерживать разделяемые библиотеки?

0 голосов
/ 04 сентября 2009

- особняк, как говорит Солар. Если это не удастся, запустите ld с параметром --verbose, чтобы увидеть, что именно он пытается связать: это позволит вам продолжить отладку.

...