tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: libgcc not built?



I was able to "complete" step 9 by doing:

nbmake-milkymist libc/obj/libc.a install MKGCC=no HAVE_GCC=45
LDSTATIC=-static MKCRYPTO=no MKLINT=no MKPROFILE=no MKSHARE=no MKRUMP=no
MKDYNAMICROOT=no MKPAM=no

I specified "libc/obj/libc.a" target instead of "dependall".

Then, for the next step I had to patch the lua/Makefile to add an " &&
${MKSHARED} != no" so that it does not try to build gpio.so.

But then all went fine.

I'm still stuck at step 10 though, config.log says it cannot find "libgcc".

So it seems I still don't have libgcc.

=> https://dpaste.de/G3UL

Le 01/04/2019 à 23:33, Yann Sionneau a écrit :
> I successfully followed the steps 1 to 8
>
> I had to add a few missing parts and to fix some perl issues in gettext
> but it worked pretty well!
>
> But I'm stuck at step 9 because libc wants to link as a shared library
> and my toolchain does not support shared libraries.
>
> Can I just generate a static libc.a?
>
> LDSTATIC=-static MKCRYPTO=no MKLINT=no MKPROFILE=no MKSHARE=no MKRUMP=no
> nbmake-milkymist dependall install MKGCC=no HAVE_GCC=45
> dependall ===> csu
> dependall ===> libc
> #     build  libc/libc.so.12.185
> rm -f libc.so.12.185
> /home/fallen/dev/NetBSD/obj/tooldir.Linux-4.18.0-16-generic-x86_64/bin/lm32--netbsd-gcc
> -nodefaultlibs -Wl,-x -shared -Wl,-soname,libc.so.12
> -Wl,--warn-shared-textrel -Wl,-z,initfirst  
> --sysroot=/home/fallen/dev/NetBSD/obj/destdir.milkymist  -o
> libc.so.12.185  -Wl,-rpath,/lib  -L=/lib  -Wl,--whole-archive
> libc_pic.a  -Wl,--no-whole-archive -lgcc
> /home/fallen/dev/NetBSD/obj/tooldir.Linux-4.18.0-16-generic-x86_64/lib/gcc/lm32--netbsd/4.5.4/../../../../lm32--netbsd/bin/ld:
> -shared not supported
> collect2: ld returned 1 exit status
>
> *** Failed target:  libc.so.12.185
>
> Le 01/04/2019 à 21:28, matthew green a écrit :
>>>>> Thanks for your answer :)
>>>>>
>>>>> Is src/tools/gcc/README.mknative relevant for my cross compilation
>>>>> toolchain?
>>>>> Or only for a *native* (host=lm32 target=lm32) toolchain?
>>>> you need libgcc from somewhere.  typically that comes from
>>>> base netbsd, but for brand new ports with no in-tree help
>>>> it may come from the $EXTERNAL_TOOLCHAIN.  for new ports
>>>> using base gcc, we typically use libgcc built normally,
>>>> but if you don't want a host compiler, MKGCCCMDS=no is
>>>> supported (and default, on eg sun2.)
>>>>
>>>> which compiler are you using?
>>> I am using the cross compiler built by ./build.sh -m milkymist -u -U tools
>>>
>>> It seems that when it builds the cross compiler, it does not build the 
>>> libgcc.
>>>
>>> How am I supposed to make the build system generate libgcc?
>>>
>>> I use MKGCCCMDS=no when I run the "build" target (./build.sh -m 
>>> milkymist -u -U build).
>>>
>>> Maybe I should use it also for the "tools" target?
>> see src/tools/gcc/README.mknative.  to get libgcc you'll need
>> to get this working at least minimally.  there is a special
>> bootstrap for just libgcc itself that may still work, but it
>> has been a while since a brand new platform was added.  the
>> readme seems to have most useful details, but let me know if
>> you aren't sure.
>>
>> you may want to set MKGCCCMDS=no always.  btw, this has no
>> effect on the tools build.  it only affects whether the gcc
>> commands (/usr/bin/gcc etc) are installed or not.
>>
>>
>> .mrg.



Home | Main Index | Thread Index | Old Index