Starting from the Disco build env that I had I changed the packages
Step #1 binutils: Unpacking binutils-x86-64-linux-gnu (2.33-2ubuntu1.2) over (2.32-7ubuntu4) ... Unpacking libbinutils:amd64 (2.33-2ubuntu1.2) over (2.32-7ubuntu4) ... Unpacking binutils (2.33-2ubuntu1.2) over (2.32-7ubuntu4) ... Unpacking binutils-common:amd64 (2.33-2ubuntu1.2) over (2.32-7ubuntu4) ...
=> Still working
Step #2 gcc: Unpacking libubsan1:amd64 (9.2.1-9ubuntu2) over (9.1.0-2ubuntu2~19.04) ... Unpacking libtsan0:amd64 (9.2.1-9ubuntu2) over (9.1.0-2ubuntu2~19.04) ... Unpacking gcc-9-base:amd64 (9.2.1-9ubuntu2) over (9.1.0-2ubuntu2~19.04) ... Unpacking libstdc++6:amd64 (9.2.1-9ubuntu2) over (9.1.0-2ubuntu2~19.04) ... Unpacking libquadmath0:amd64 (9.2.1-9ubuntu2) over (9.1.0-2ubuntu2~19.04) ... Unpacking liblsan0:amd64 (9.2.1-9ubuntu2) over (9.1.0-2ubuntu2~19.04) ... Unpacking libitm1:amd64 (9.2.1-9ubuntu2) over (9.1.0-2ubuntu2~19.04) ... Unpacking libgomp1:amd64 (9.2.1-9ubuntu2) over (9.1.0-2ubuntu2~19.04) ... Unpacking libcc1-0:amd64 (9.2.1-9ubuntu2) over (9.1.0-2ubuntu2~19.04) ... Unpacking libatomic1:amd64 (9.2.1-9ubuntu2) over (9.1.0-2ubuntu2~19.04) ... Unpacking libasan5:amd64 (9.2.1-9ubuntu2) over (9.1.0-2ubuntu2~19.04) ... Unpacking libgcc1:amd64 (1:9.2.1-9ubuntu2) over (1:9.1.0-2ubuntu2~19.04) ... Unpacking libisl21:amd64 (0.21-2) ... Unpacking cpp-9 (9.2.1-9ubuntu2) ... Unpacking libgcc-9-dev:amd64 (9.2.1-9ubuntu2) ... Unpacking gcc-9 (9.2.1-9ubuntu2) ... Unpacking libstdc++-9-dev:amd64 (9.2.1-9ubuntu2) ... Unpacking g++-9 (9.2.1-9ubuntu2) ... Unpacking g++ (4:9.2.1-3.1ubuntu1) over (4:8.3.0-1ubuntu3) ... Unpacking gcc (4:9.2.1-3.1ubuntu1) over (4:8.3.0-1ubuntu3) ... Unpacking cpp (4:9.2.1-3.1ubuntu1) over (4:8.3.0-1ubuntu3) ...
=> now it is breaking
One thing that we have seen to cause breakage in other cases was the new default to enable: -fcf-protection
The code already carries quite a bunch of similar "no" rules: COMMONCFLAGS += $(call cc-option,$(CC),-nopie,) COMMONCFLAGS += $(call cc-option,$(CC),-fno-pie,) COMMONCFLAGS += $(call cc-option,$(CC),-fno-stack-protector,) COMMONCFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,) COMMONCFLAGS += $(call cc-option,$(CC),-fstack-check=no,) COMMONCFLAGS += $(call cc-option,$(CC),-Wno-address-of-packed-member,)
Lets add to that: COMMONCFLAGS += $(call cc-option,$(CC),-fcf-protection=none,)
=> That made it work \o/ !
Starting from the Disco build env that I had I changed the packages
Step #1 binutils: x86-64- linux-gnu (2.33-2ubuntu1.2) over (2.32-7ubuntu4) ... common: amd64 (2.33-2ubuntu1.2) over (2.32-7ubuntu4) ...
Unpacking binutils-
Unpacking libbinutils:amd64 (2.33-2ubuntu1.2) over (2.32-7ubuntu4) ...
Unpacking binutils (2.33-2ubuntu1.2) over (2.32-7ubuntu4) ...
Unpacking binutils-
=> Still working
Step #2 gcc: 2ubuntu2~ 19.04) ... 2ubuntu2~ 19.04) ... 2ubuntu2~ 19.04) ... 2ubuntu2~ 19.04) ... 2ubuntu2~ 19.04) ... 2ubuntu2~ 19.04) ... 2ubuntu2~ 19.04) ... 2ubuntu2~ 19.04) ... 2ubuntu2~ 19.04) ... 2ubuntu2~ 19.04) ... 2ubuntu2~ 19.04) ... 0-2ubuntu2~ 19.04) ... +-9-dev: amd64 (9.2.1-9ubuntu2) ... 1-3.1ubuntu1) over (4:8.3.0-1ubuntu3) ... 1-3.1ubuntu1) over (4:8.3.0-1ubuntu3) ... 1-3.1ubuntu1) over (4:8.3.0-1ubuntu3) ...
Unpacking libubsan1:amd64 (9.2.1-9ubuntu2) over (9.1.0-
Unpacking libtsan0:amd64 (9.2.1-9ubuntu2) over (9.1.0-
Unpacking gcc-9-base:amd64 (9.2.1-9ubuntu2) over (9.1.0-
Unpacking libstdc++6:amd64 (9.2.1-9ubuntu2) over (9.1.0-
Unpacking libquadmath0:amd64 (9.2.1-9ubuntu2) over (9.1.0-
Unpacking liblsan0:amd64 (9.2.1-9ubuntu2) over (9.1.0-
Unpacking libitm1:amd64 (9.2.1-9ubuntu2) over (9.1.0-
Unpacking libgomp1:amd64 (9.2.1-9ubuntu2) over (9.1.0-
Unpacking libcc1-0:amd64 (9.2.1-9ubuntu2) over (9.1.0-
Unpacking libatomic1:amd64 (9.2.1-9ubuntu2) over (9.1.0-
Unpacking libasan5:amd64 (9.2.1-9ubuntu2) over (9.1.0-
Unpacking libgcc1:amd64 (1:9.2.1-9ubuntu2) over (1:9.1.
Unpacking libisl21:amd64 (0.21-2) ...
Unpacking cpp-9 (9.2.1-9ubuntu2) ...
Unpacking libgcc-9-dev:amd64 (9.2.1-9ubuntu2) ...
Unpacking gcc-9 (9.2.1-9ubuntu2) ...
Unpacking libstdc+
Unpacking g++-9 (9.2.1-9ubuntu2) ...
Unpacking g++ (4:9.2.
Unpacking gcc (4:9.2.
Unpacking cpp (4:9.2.
=> now it is breaking
One thing that we have seen to cause breakage in other cases was the new default to enable:
-fcf-protection
The code already carries quite a bunch of similar "no" rules: $(CC),- nopie,) $(CC),- fno-pie, ) $(CC),- fno-stack- protector, ) $(CC),- fno-stack- protector- all,) $(CC),- fstack- check=no, ) $(CC),- Wno-address- of-packed- member, )
COMMONCFLAGS += $(call cc-option,
COMMONCFLAGS += $(call cc-option,
COMMONCFLAGS += $(call cc-option,
COMMONCFLAGS += $(call cc-option,
COMMONCFLAGS += $(call cc-option,
COMMONCFLAGS += $(call cc-option,
Lets add to that: $(CC),- fcf-protection= none,)
COMMONCFLAGS += $(call cc-option,
=> That made it work \o/ !