[Comm] Re: gcc начал требовать personality

Oleg N. Kayunov =?iso-8859-1?q?okayunov_=CE=C1_mtu-net=2Eru?=
Пт Июл 4 14:01:51 MSD 2003


Alexey Voinov пишет:

>Oleg N. Kayunov wrote
>  
>
>>>> Вздумал перетранслировать программки на C, кои вполне нормально 
>>>>транслировались ещё в начале сего года (до установкиMaster 2.2).
>>>> Вдруг на НЕКОТОРЫХ (что совсем озадачивает) C-шных файлах начал 
>>>>получать сообщения вида:
>>>>======================================
>>>>Accerman.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
>>>> либо:
>>>>info.o(.gnu.linkonce.d.DW.ref.__gxx_personality_v0+0x0): undefined 
>>>>reference to `__gxx_personality_v0'
>>>>======================================
>>>>        
>>>>
>>>Может Вы используете g++ для компиляции этих программ?
>>>
>>>      
>>>
>>   Фактически я думаю - да.
>>Учитывая расширения и принимаемую транслятором форму комментариев.
>>    
>>
>Судя по приведённому СС --- нет. :)
>Комметариии вида // в C --- gcc'изм и не является признаком C++
>
    Ладно... Надо же...
    А расширение (cpp)?
    У меня. всякий раз когда я их (*.cpp) использовал одновременно с 
файлами поименованными как *.c начинались вопли насчёт нестыкуемости 
имён - т.е. *.cpp явно транслировались в C++ манере.
    Бывало это, правда, до переустановки системы - ALM2.2. Может тут 
что-то и изменилось, не знаю.

>  
>
>>>__gxx_personality это вообще-то атрибут C++.
>>>Если будет больше исходной информации (например исходник проблемной 
>>>программы),
>>>то можно будет сказать больше.
>>>      
>>>
>>   Не хотелось грузить рассылку, но что поделаешь...
>>Программка (та, что Accerman, ну сугубо игрушечная, зато полная - с main):
>>    
>>
>
><skip>
>  
>
>>В Makefile установлены:
>>CC=gcc
>>CFLAGS := -pipe -c -O3 -MD
>>LDFLAGS := -pipe
>>    
>>
>У меня скомпилировалось и запустилось без сообщений.
>
    Именно с gcc?? (См. ниже)

>$ gcc --version | grep GCC
>i586-alt-linux-gcc (GCC) 3.2.3 (ALT Linux, build 3.2.3-alt1)
>  
>
    Откель дровишки-то? Не из Сизифа, часом?
    Я-то всё ставил из дистрибутива и у меня:
$ gcc --version | grep GCC
gcc (GCC) 3.2.1 (ALT Linux, build 3.2.1-alt2)
    Есть разница...


        НО!
Поставив CC := g++ я без проблем оттранслировал и Accerman-а и пакет 
включающий info.cpp!
Однако!
Шаманизм на марше, понимаешь.... (См. выше)

-- 
== В действительности все обстоит совершенно иначе чем на самом деле. ==
	BR, Oleg N. Kayunov.





Подробная информация о списке рассылки community