gcc 2.95.3 bug

Do you have a question? Post it now! No Registration Necessary

Привет All!

    Обнаружил забавный баг в gcc. Собранный для arm-elf он генерит неправильный
код смены секции. Он генерит директиву типа

        .section name,"flags",@progbits

    но в arm-elf-as символ "@" - это начало комментария. :) Соответственно,
ассемблер ругает и игнорирует такую строку.

    Вот патч, устраняющий этот баг:
================================================================
-+- gcc/config/arm/unknown-elf.h.orig   Fri Apr  9 19:07:56 1999
+++ gcc/config/arm/unknown-elf.h        Tue Sep 30 22:55:44 2003
@@ -100,7 +100,7 @@
 #define ASM_OUTPUT_SECTION_NAME(STREAM, DECL, NAME, RELOC) \
 do {                                                           \
   if ((DECL) && TREE_CODE (DECL) == FUNCTION_DECL)             \
-    fprintf (STREAM, "\t.section %s,\"ax\",@progbits\n", (NAME)); \
+    fprintf (STREAM, "\t.section %s,\"ax\",%%progbits\n", (NAME)); \
   else if ((DECL) && DECL_READONLY_SECTION (DECL, RELOC))      \
     fprintf (STREAM, "\t.section %s,\"a\"\n", (NAME));         \
   else                                                         \
================================================================

Всего наилучшего,                                 [Team PCAD 2000]
Алексей М.
... Пирожок сырой с сыром.

Site Timeline