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

Bug#823778: gcc-6: please make -mmusl return an error instead of doing the wrong thing



Package: gcc-6
Version: 6.1.1-1
Severity: wishlist

Hi!
Upstream added a new option, -mmusl that's supposed to use musl instead of glibc.
However, our current build in Debian instead silently almost ignores it ("almost"
as it has a small but unsufficient effect):

[/tmp]$ gcc-6 -Wall -mmusl hello.c
[/tmp]$ ldd a.out
	linux-vdso.so.1 (0x00007ffe34997000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff387f4c000)
	/lib/ld-musl-x86_64.so.1 => /lib64/ld-linux-x86-64.so.2 (0x0000555ba16a0000)
[/tmp]$ gcc-6 -Wall -mmusl -static -s hello.c
[/tmp]$ ls -al a.out 
-rwxr-xr-x 1 kilobyte kilobyte 738648 May  8 21:59 a.out

As discussed on IRC:

22:21 < helmut> kilobyte: I think -mmusl is a road to sadness. Please use
                x86_64-linux-musl-gcc-6 instead.
22:21 < waldi> "mmusl"?
22:22 < helmut> waldi: #823769
22:22 < kilobyte> helmut: hmm right, for the same reason multilib sucks, I
                  guess
22:22 -zwiebelbot:#debian-devel- Debian#823769: please support the musl c
          library for cross compiler builds - https://bugs.debian.org/823769
22:22 < helmut> kilobyte: exactly
22:23 < helmut> kilobyte: precisely for that reason, I will put zero effort
                into supporting -mmusl. It's just wrong.
22:25 < kilobyte> I guess it should then return an error message instead of
                  silently using glibc

Thus, if you're not going to support it, please make it fail noisily.

Of course, exec("x86_64-linux-musl-gcc-6") or complaining if it's not installed
is an option, too.


-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (150, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.6.0-rc6-debug2+ (SMP w/6 CPU cores)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages gcc-6 depends on:
ii  binutils      2.26-8
ii  cpp-6         6.1.1-1
ii  gcc-6-base    6.1.1-1
ii  libc6         2.22-7
ii  libcc1-0      6.1.1-1
ii  libgcc-6-dev  6.1.1-1
ii  libgcc1       1:6.1.1-1
ii  libgmp10      2:6.1.0+dfsg-2
ii  libisl15      0.16.1-1
ii  libmpc3       1.0.3-1
ii  libmpfr4      3.1.4-1
ii  libstdc++6    6.1.1-1
ii  zlib1g        1:1.2.8.dfsg-2+b1

Versions of packages gcc-6 recommends:
ii  libc6-dev  2.22-7

Versions of packages gcc-6 suggests:
ii  gcc-6-doc         6.1.0-1
pn  gcc-6-locales     <none>
pn  gcc-6-multilib    <none>
pn  libasan3-dbg      <none>
pn  libatomic1-dbg    <none>
pn  libcilkrts5-dbg   <none>
pn  libgcc1-dbg       <none>
pn  libgomp1-dbg      <none>
pn  libitm1-dbg       <none>
pn  liblsan0-dbg      <none>
pn  libmpx2-dbg       <none>
pn  libquadmath0-dbg  <none>
pn  libtsan0-dbg      <none>
pn  libubsan0-dbg     <none>

-- no debconf information


Reply to: