On 6/2/19 5:26 AM, Yoshinori Sato wrote: > On Fri, 31 May 2019 09:16:18 +0900, > Jeff Law wrote: >> >> On 5/29/19 12:27 PM, Jeff Law wrote: >>> On 5/23/19 6:05 AM, Yoshinori Sato wrote: >>>> I ported linux kernel to Renesas RX. >>>> >>>> rx-*-elf target output a binary different from the standard ELF. >>>> It has the same format as the Renesas compiler. >>>> >>>> But the linux kernel requires the standard ELF format. >>>> I want to define a rx-*-linux target so that I can generate >>>> a standard ELF binary. >>> Presumably you're resubmitting after your assignment got recorded (I >>> think I saw that fly by recently). >>> >>> I'll construct a ChangeLog and install this on the trunk. >> So this is causing libgcc to fail to build for rx-elf. The problem is >> the DF=SF #define. I think you need so split that out so that it's only >> used for rx-linux. >> >> Jeff > > OK. fix it. > I tried build rx-elf target. it success. What parts did you build? For me it fails building libgcc:
> /home/tmp/rx/./gcc/xgcc -B/home/tmp/rx/./gcc/ -B/tmp/rx/rx-elf/bin/ > -B/tmp/rx/rx-elf/lib/ -isystem /tmp/rx/rx-elf/include -isystem > /tmp/rx/rx-elf/sys-include -g -O2 -m64bit-doubles -O2 -g -O2 -DIN_GCC > -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wno-narrowing -Wwrite-strings > -Wcast-qual -Wstrict-prototypes -Wold-style-definition -isystem ./include > -DDF=SF -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -Dinhibit_libc > -DDF=SF -I. -I. -I../../.././gcc -I/home/gcc/GIT-3/gcc/libgcc > -I/home/gcc/GIT-3/gcc/libgcc/. -I/home/gcc/GIT-3/gcc/libgcc/../gcc > -I/home/gcc/GIT-3/gcc/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -o > _muldc3.o -MT _muldc3.o -MD -MP -MF _muldc3.dep -DL_muldc3 -c > /home/gcc/GIT-3/gcc/libgcc/libgcc2.c -fvisibility=hidden -DHIDE_EXPORTS > In file included from /home/gcc/GIT-3/gcc/libgcc/libgcc2.c:56: > /home/gcc/GIT-3/gcc/libgcc/libgcc2.h:256:16: warning: conflicting types for > built-in function ‘__divdc3’; expected ‘_Complex double(double, double, > double, double)’ [-Wbuiltin-declaration-mismatch] > 256 | #define __N(a) __ ## a > | ^~ > /home/gcc/GIT-3/gcc/libgcc/libgcc2.h:366:19: note: in expansion of macro ‘__N’ > 366 | #define __divdc3 __N(divdc3) > | ^~~ > /home/gcc/GIT-3/gcc/libgcc/libgcc2.h:461:15: note: in expansion of macro > ‘__divdc3’ > 461 | extern DCtype __divdc3 (DFtype, DFtype, DFtype, DFtype); > | ^~~~~~~~ [ ... and so on ... ] Jeff