Re: Configure Option to Disable libc

Jonathan Wakely via Gcc-help <[email protected]>
Newsgroups gmane.comp.gcc.help
Message-ID <CAH6eHdRLD5wTpEfuaJpHktTpBiqojijhC=8xqAcJqshxDY6bCw@mail.gmail.com>
On Fri, 21 Nov 2025, 18:57 Shivam Patel via Gcc-help, <[email protected]>
wrote:

> Hi,
>
> For context, I'm working on a GCC backend for an extensible ISA.
> Here is a link to a previous thread I had made "Help Emitting Proper
> Immediates":
> https://gcc.gnu.org/pipermail/gcc-help/2025-November/144575.html.
> I've gotten further in the build process, but I am encountering the
> following error when running make all-target-libgcc:
>
> In file included from ../../../etca-gcc/libgcc/gthr.h:157,
>                  from ../../../etca-gcc/libgcc/unwind-dw2.c:37:
> ./gthr-default.h:35:10: fatal error: pthread.h: No such file or directory
>
>    35 | #include <pthread.h>
>       |          ^~~~~~~~~~~
> compilation terminated.
> make[1]: *** [unwind-dw2.o] Error 1
> make: *** [all-target-libgcc] Error 2
>
> I was wondering if there was a way to disable libc at configuration time as
> there isn't a libc for the target yet. Here is the exact configure line
> I've used:
>
> ../etca-gcc/configure \
> --target=etca-elf \
> --enable-languages=c \
> --without-headers \
> --prefix="$HOME/etca-compiler/out"
>
> I've tried a few fixes:
>
>
>   *
> Configuring with --disable-threads or --enable-threads=single
>

gthr-default.h will not try to include pthread.h if you use those options,
so my guess is that you didn't remove the whole build directory and start
again in a clean directory.


  *
> Adding tmakefile="${tmakefile} t-slibgcc-nolc-override" to config/gcc for
> the target
>   *
> Also tried configuring with --without-headers
>
> All of these have had no effect.


So I'm left with the following questions:
>
> 1. Is there a configure-time option (or some recommended approach) to
> prevent libgcc from requiring target libc headers
> like pthread.h when the target has no libc?
>
> 2. If not, what is the recommended minimal approach to build libgcc for a
> target
> without a libc? Should I be using --with-newlib
> or a different combination of options/overrides?
>


--without-headers --with-newlib should work


> Is there somewhere I can read documentation about the configure process,
> options, and/or makefile fragments that are available? I have not been able
> to find it but I am hopeful that it would answer other questions that may
> arise from my project.
>
> Thank you for any guidance!
>
> Best,
> Shivam
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.