Date: Tue, 13 Aug 2019 15:49:22 -0500 From: Pedro Giffuni <pfg@FreeBSD.org> To: Warner Losh <imp@bsdimp.com> Cc: "freebsd-arch@freebsd.org" <arch@freebsd.org> Subject: Re: Gcc 4.2.1 to be removed before FreeBSD 13, a firm timeline Message-ID: <542de336-f030-04f9-27d4-bebc96ab20fd@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
> Greetings, > > As promised for almost the past decade or so, gcc 4.2.1 will be removed > from the tree before FreeBSD 13 is branched. Yes !! > I propose the following timeline for its removal: > > 2019-08-31: disconnect gcc 4.2.1 from CI build > > Turn off -Werror on gcc 4.2.1 platforms > > Turn off all gcc 4.2.1 from universe by default (can be turned on) > > 2019-12-31: Turn off gcc 4.2.1 build by default (can be turned on) > > 2020-03-31: svn rm gcc 4.2.1 and friends > > 2020-05-31: svn rm all non-clang platforms not supported by in-tree LLVM or > converted to ext toolchain. > > 2020-07-31: svn rm all ext toolchain platforms not supported by re@ release > scripts > > The basic notion is that it=E2=80=99s long past time to have a firm plan fo= > r EOL > gcc 4.2.1 in the tree. There is ample external toolchain support today for > platforms that need it to build images, though that integration with > buildworld could use some more polish. It=E2=80=99s now completely sufficie= > nt to > move to the next phase of removing gcc 4.2.1 from the tree. > snip ... all fine stuff ... > > Comments? I/we have a problem with libssp (part of gcclibs). Short story: I have tried to get rid of libssp twice, but I failed and would appreciate someone with more compiler foo looking at it: https://reviews.freebsd.org/D15687 Also PR 229348 Longer story: libssp was brought along with the stack-protector after similar code from NetBSD, however the stack protector code lives in our libc already (libc/secure/stack_protector.c). libssp is used to support FORTIFY_SOURCE, a feature which we never ported to FreeBSD and remains unused. FWIW, I mentored the implementation of FORTIFY_SOURCE in GSoC2015 but we only got it working fully with GCC 4.2.1: it is largely unsupported by clang and obsoleted by stack-protector-strong. NetBSD doesn't use the libssp included with GCC, they have their own BSD licensed version, however, given that we don't use it at all it doesn't make sense to import it. We should just get rid of it but the libary seems to have grown roots in the compiler toolchain and even when I am able to build world without it, and exp-run thinks the compiler is broken. Pedro.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?542de336-f030-04f9-27d4-bebc96ab20fd>