Why does `libc6 ` depend on `libgcc1`

dependenciesgcclibraries

I was going through the dependencies of some packages with apt-cache depends and found, that the libc6 package depends on libgcc1, which in turn depends on gcc-4.9-base.

Shouldn't such a fundamental system library have little to none dependencies? Why does it need gcc-4.9-base? To compile itself?

If I don't want gcc on my system, would it be safe to remove afterwords?

Best Answer

Libgcc is even more fundamental than libc. Libgcc contains code that is used by the GCC compiler when generating code for fundamental language constructs, such as 64-bit arithmetic on 32-bit platforms, stack maintenance, integers and floating point operations that the hardware doesn't perform, etc.

Debian's gcc-base package contains only a couple of symbolic links and a few documentation files for libgcc.

You can't remove these packages, even if you never compile anything, because they aren't here to compile stuff. They are not for running GCC, they are for running software compiled with GCC.

Related Question