Почему символы отладки не добавляются в мой выходной файл? - PullRequest
3 голосов
/ 16 апреля 2010

Я пытаюсь скомпилировать проект для запуска на моей плате ARM. Чтобы использовать отладчик, я должен поместить символы отладки в итоговый файл .elf.

Я все настроил и запустил мой make-файл, который дал следующие результаты:

arm-elf-gcc -x assembler-with-cpp -c -mcpu=arm7tdmi-s -g -gdwarf-2 -Wa,-amhls=src/crt.lst   src/crt.S -o src/crt.o
arm-elf-gcc -c -mcpu=arm7tdmi-s -O0 -g -gdwarf-2 -mthumb-interwork -fomit-frame-pointer -Wall -Wstrict-prototypes -fverbose-asm -Wa,-ahlms=src/main.lst    -MD -MP -MF     .dep/main.o.d -I . -I./inc src/main.c -o src/main.o
arm-elf-gcc -c -mcpu=arm7tdmi-s -O0 -g -gdwarf-2 -mthumb-interwork -fomit-frame-pointer -Wall -Wstrict-prototypes -fverbose-asm -Wa,-ahlms=library/md5.lst    -MD -MP -MF .dep/md5.o.d -I . -I./inc library/md5.c -o library/md5.o
arm-elf-gcc -c -mcpu=arm7tdmi-s -O0 -g -gdwarf-2 -mthumb-interwork -fomit-frame-pointer -Wall -Wstrict-prototypes -fverbose-asm -Wa,-ahlms=library/bignum.lst    -MD -MP -MF .dep/bignum.o.d -I . -I./inc library/bignum.c -o library/bignum.o

arm-elf-gcc ./src/crt.o ./src/main.o ./library/md5.o ./library/bignum.o -mcpu=arm7tdmi-s -g -nostartfiles -T./prj/LPC2138_flash.ld -Wl,-Map=testFLASH.map,--cref,--no-warn-mismatch -nostdlib -L. -Wl,-static -ffunction-sections -Wl,--gc-sections -Wl,-s -fdata-sections  -lc -lg -lnosys -o testFLASH.elf

Я вставил флаги -g, но когда я пытаюсь найти символы отладки, я получаю только:

C:\Users\stkerr\Code\EclipseWorkspace\LibraryWork>objdump -g testFLASH.elf

testFLASH.elf:     file format elf32-little

Это также подтверждается, когда я пытаюсь открыть файл .elf в моем отладчике, я получаю сообщение об ошибке, что у файла нет символов отладки.

Может ли кто-нибудь указать на ошибку в моих вызовах arm-elf-gcc или на флаг, который я пропускаю?

1 Ответ

2 голосов
/ 17 апреля 2010

После того, как вы немного покопались в документации, проблема -Wl, -s является проблемой.

Он удаляет все символы из результирующего исполняемого файла, включая информацию об отладке.

...