Re: make on Debian 9.2 failing
Thorsten Glaser <[email protected]> Wed, 6 Dec 2017 14:40:56 +0100 (CET)
| Newsgroups | gmane.linux.lib.dietlibc |
|---|---|
| Message-ID | <[email protected]> |
Hi Lehner, > I could not find usage of -fno-pie in the Debian source package and addin= g it tglase@tglase:/tmp/dietlibc-0.34~cvs20160606 $ fgrep -r no-pie . =2E/diet.c: if (!strcmp(argv[i],"-fno-pie")) pie=3D0; =2E/diet.c: strcmp(argv[i],"-fpie") && strcmp(argv[i],"-fno-p= ie") && =2E/Makefile: $(CCC) $(INC) $(CCFLAGS) $(EXTRACFLAGS) $(SPECIFICCFLAGS)= -c $< $(ASM_CFLAGS) -fno-pie -o $@ =2E/Makefile:$(OBJDIR)/stackgap.o: SPECIFICCFLAGS:=3D-fno-stack-protector -= fno-pie =2E/.pc/debian/multiarch.diff/diet.c: if (!strcmp(argv[i],"-fno-pie"))= pie=3D0; =2E/.pc/debian/multiarch.diff/diet.c: strcmp(argv[i],"-fpie") &= & strcmp(argv[i],"-fno-pie") && =2E/.pc/debian/buildflags.diff/Makefile: $(CCC) $(INC) $(CCFLAGS) $(EXTRAC= FLAGS) -c $< $(ASM_CFLAGS) -fno-pie -o $@ =2E/.pc/debian/buildflags.diff/Makefile:$(OBJDIR)/stackgap.o: EXTRACFLAGS:= =3D-fno-stack-protector -fno-pie =2E/.pc/debian/native-x32.diff/diet.c: if (!strcmp(argv[i],"-fno-pie")= ) pie=3D0; =2E/.pc/debian/native-x32.diff/diet.c: strcmp(argv[i],"-fpie") &= & strcmp(argv[i],"-fno-pie") && =2E/.pc/debian/native-x32.diff/Makefile: $(CCC) $(INC) $(CCFLAGS) $(EXTRAC= FLAGS) -c $< $(ASM_CFLAGS) -fno-pie -o $@ =2E/.pc/debian/native-x32.diff/Makefile:$(OBJDIR)/stackgap.o: EXTRACFLAGS:= =3D-fno-stack-protector -fno-pie =2E/.pc/debian/sparc32-mcpu-v9.diff/diet.c: if (!strcmp(argv[i],"-fno-= pie")) pie=3D0; =2E/.pc/debian/sparc32-mcpu-v9.diff/diet.c: strcmp(argv[i],"-= fpie") && strcmp(argv[i],"-fno-pie") && =2E/debian/rules:export DEB_CFLAGS_MAINT_APPEND =3D -Wall -fno-pie =2E/debian/rules:export DEB_LDFLAGS_MAINT_APPEND =3D -no-pie =2E/debian/patches/debian/buildflags.diff:- $(CCC) $(INC) $(CCFLAGS) = $(EXTRACFLAGS) -c $< $(ASM_CFLAGS) -fno-pie -o $@ =2E/debian/patches/debian/buildflags.diff:+ $(CCC) $(INC) $(CCFLAGS) = $(EXTRACFLAGS) $(SPECIFICCFLAGS) -c $< $(ASM_CFLAGS) -fno-pie -o $@ =2E/debian/patches/debian/buildflags.diff:-$(OBJDIR)/stackgap.o: EXTRACFLAG= S:=3D-fno-stack-protector -fno-pie =2E/debian/patches/debian/buildflags.diff:+$(OBJDIR)/stackgap.o: SPECIFICCF= LAGS:=3D-fno-stack-protector -fno-pie =2E/debian/changelog: to dietlibc's build system. Also make sure that we= pass -fno-pie and =2E/debian/changelog: -no-pie to the build system so that the new defaul= t setting of gcc in Wasn=E2=80=99t that hard now, was it? > In fact, I succeeded by *removing* -fno-pie in the line where stackgap.o = is > compiled, see the patch below. >=20 > I was than able to compile dietlibc with or without the "PIE" line (line > number 98 in `Makefile`) This needs Felix to comment on, I don=E2=80=99t know if dietlibc nowadays works with static PIE. > If pie is default on x86_64, why does this break builds now?=C2=A0 Why wo= uld I want PIE is default on all architectures. Unfortunately, someone from Canonical chose to enable this in the *compiler*, after someone else chose to enable this in dpkg-buildflags, while upstream GCC chose to do other unfortunate things, so the PIE situation is an utter mess. bye, //mirabilos --=20 =C2=ABMyISAM tables -will- get corrupted eventually. This is a fact of life= =2E =C2=BB =E2=80=9Cmysql is about as much database as ms access=E2=80=9D =E2=80=93 = =E2=80=9CMSSQL at least descends from a database=E2=80=9D =E2=80=9Cit's a rebranded SyBase=E2=80=9D =E2=80= =9CMySQL however was born from a flatfile and went downhill from there=E2=80=9D =E2=80=93 =E2=80=9Cat least = jetDB doesn=E2=80=99t claim to be a database=E2=80=9D=09=E2=80=A3=E2=80=A3=E2=80=A3 Please, http://deb.li/= mysql and MariaDB, finally die!