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

Oleg N. Kayunov =?iso-8859-1?q?okayunov_=CE=C1_mtu-net=2Eru?=
Пт Июл 4 11:54:14 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++ для компиляции этих программ?
>
    Фактически я думаю - да.
Учитывая расширения и принимаемую транслятором форму комментариев.

>__gxx_personality это вообще-то атрибут C++.
>Если будет больше исходной информации (например исходник проблемной программы),
>то можно будет сказать больше.
>
    Не хотелось грузить рассылку, но что поделаешь...
Программка (та, что Accerman, ну сугубо игрушечная, зато полная - с main):
================================================================
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>

typedef long int li;
li Cl=0;
li af(li z, li x, li y)
{Cl++;
 switch (z)
 {
  case 0: if (x<=0) return y;
      else return af(0, x-1, y)+1;
  case 1: if (x==0) return 0; else break;
 }
 if ((z>=2) && (x==0)) return 1;
 return af(z-1, af(z, x-1, y), y);
}

li a(li x) {return af(x, x, x);}

int main(int argc, char* argv[])
{int z, x, y; li r;
// for (int n=0; n<=4; n++) printf("%i -> %li\n",n,a(n));

 for (z=0; z<=3; z++)
 {printf("============ Z = %i\n",z);
  for (x=0; x<=4; x++)
    {printf("X=%i: ",x);
    for (y=0; y<=5; y++)
    {Cl=0; r=af(z,x,y); printf("%i->%4li(%6li),%s",y,r,Cl,((z>=3)&&(x>2) 
?"\n":" ") );}
     printf("\n");
    }
 }
 return 0;
}
================================================================

В Makefile установлены:
CC=gcc
CFLAGS := -pipe -c -O3 -MD
LDFLAGS := -pipe
(-O3 пробовал, с перепугу, отключать - без толку)

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




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