Что заставляет компоновщика только выдавать сообщение «ld return 1 exit status»? - PullRequest
2 голосов
/ 28 мая 2009

Я использую «--verbose» для ld, пытаясь найти что-то полезное для поиска проблемы, но выводит сообщение об ошибке при выводе нормального вывода «--verbose»:

[...blah - dump of linker script...]
attempt to open blah1.o succeeded
blah1.o
attempt to open blah2.o succeeded
blah2.o
[...blah - more opens that succeeded...]
attempt to open blah9.o succeeded
blah9.o
attemcollect2: ld returned 1 exit status

Вызывается:

gcc blah1.o [...blah...] blah9.o blahLib1.a blahLib2.a -g -lc -nostdlib -Wl,--warn-constructors -fpic -fno-pic -Wl,-q -Wl,-gc-sections -Wl,--verbose -T blahScript.ld -lm -o blahProgram.elf

Ответы [ 2 ]

1 голос
/ 28 мая 2009

Это общая ошибка. Обычно вызывается неопределенной ссылкой на символ.

Я не думаю, что вам нужно --verbose, чтобы увидеть ошибку. В любом случае ld должен распечатать причину ошибки. Попробуйте запустить его без --verbose и внимательно изучить каждую строку вывода.

0 голосов
/ 05 апреля 2019

Fwiw, у меня сегодня такая же проблема. Причиной было нехватка места на диске. В этой ситуации «ld», похоже, просто возвращает код выхода 1, а сообщение не печатается вообще. Увеличение доступного дискового пространства устранило проблему.

...