Skip site navigation (1)Skip section navigation (2)
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>