From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <3F0532A6.7090407@mtu-net.ru> Date: Fri, 04 Jul 2003 11:54:14 +0400 From: "Oleg N. Kayunov" User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.2.1) Gecko/20030210 X-Accept-Language: ru-ru, en MIME-Version: 1.0 To: community@altlinux.ru References: <3F04937C.2040705@mtu-net.ru> <20030704051342.GA18686@altlinux.ru> In-Reply-To: <20030704051342.GA18686@altlinux.ru> X-Enigmail-Version: 0.70.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Subject: [Comm] Re: gcc =?koi8-r?b?zsHewcwg1NLFws/XwdTYIHBlcnNvbmFsaXR5?= X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.1 Precedence: list Reply-To: community@altlinux.ru List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jul 2003 07:54:17 -0000 Archived-At: List-Archive: List-Post: 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 #include #include 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.