bugTiny C Compiler - Bugs: bug #65602, tcc should support compiling...


bug #65602: tcc should support compiling programs without depending on glibc (or other libc) (Example: use the nolibc library)

Submitter:  Detlef Riekenberg <wine_dev>
Submitted:  Tue 16 Apr 2024 01:07:57 PM UTC
Category:  None Severity:  3 - Normal
Item Group:  None Status:  None
Privacy:  Public Assigned to:  None
Open/Closed:  Open
* Mandatory Fields

Add a New Comment Rich Markup

Tue 16 Apr 2024 01:07:57 PM UTC, original submission:  

A complete C compiler toolchain includes also the C runtime library.
The C runtime library (libc) includes various header files and also the startup code.


tcc has startup code and c runtime headers for Windows, but nothing for Linux.

An nice implementation is "nolibc" (by Willy Tarreau),
which can be added to a fixed tcc.

nolibc has startup code for the relevant linux targets supported by tinycc
(i386, x86_64, arm, aarch64, riscv64)
and a libc implementation based on syscalls.
That would make it easy for tcc to create nice static programs on linux,
which are independant of the installed C runtime library on the target system
and the availability of the related development tools on the development machine.
(glibc, musl, uclibc[_ng], diet libc, ...)

nolibc is dual licensed (MIT and LGPL-2.1)
and is now developed as part of the linux kernel.

nolibc source as a single header version (last change: 2021):

nolibc source as a multi-header-version (last change: 2018):

newest nolibc source (multi-header) in the linux kernel:
mirror: https://github.com/torvalds/linux/tree/master/tools/include/nolibc

nolibc was already mentioned in the tinycc mailing list:

Detlef Riekenberg <wine_dev>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

Attached Files
file #55945:  nolibc.h added by wine_dev (89KiB - text/x-chdr - nolibc.h (single header version) from 2021)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by wine_dev (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.


    Follows 1 latest change.

    Date Changed by Updated Field Previous Value => Replaced by
    2024-04-16 wine_dev Attached File- Added nolibc.h, #55945

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code