Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37567657
en ru br
Репозитории ALT

Группа :: Система/Основа
Пакет: extlinux

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: 0019-GCC-10-compatibility.patch
Скачать


From 5603e89ed85314362b667b1a4ba89461dee3455a Mon Sep 17 00:00:00 2001
From: Alexey Gladkov <legion@altlinux.org>
Date: Tue, 15 Dec 2020 20:49:33 +0300
Subject: [PATCH] GCC-10 compatibility
Signed-off-by: Alexey Gladkov <legion@altlinux.org>
---
 dos/string.h   | 11 ++++++++++-
 mk/efi.mk      |  1 +
 mk/elf.mk      |  1 +
 mk/embedded.mk |  1 +
 mk/lib.mk      |  1 +
 5 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/dos/string.h b/dos/string.h
index f648de2d..b46cc61d 100644
--- a/dos/string.h
+++ b/dos/string.h
@@ -5,12 +5,21 @@
 #ifndef _STRING_H
 #define _STRING_H
 
+#include <stddef.h>
+
 /* Standard routines */
 #define memcpy(a,b,c)	__builtin_memcpy(a,b,c)
 #define memmove(a,b,c)	__builtin_memmove(a,b,c)
 #define memset(a,b,c)	__builtin_memset(a,b,c)
 #define strcpy(a,b)	__builtin_strcpy(a,b)
-#define strlen(a)	__builtin_strlen(a)
+
+static inline size_t strlen(const char *s)
+{
+	const char *ss = s;
+	while (*ss)
+		ss++;
+	return ss - s;
+}
 
 /* This only returns true or false */
 static inline int memcmp(const void *__m1, const void *__m2, unsigned int __n)
diff --git a/mk/efi.mk b/mk/efi.mk
index f097ad22..2dce19a4 100644
--- a/mk/efi.mk
+++ b/mk/efi.mk
@@ -8,6 +8,7 @@ core = $(topdir)/core
 # gnuefi sets up architecture specifics in ia32 or x86_64 sub directories
 # set up the LIBDIR and EFIINC for building for the appropriate architecture
 GCCOPT := $(call gcc_ok,-fno-stack-protector,)
+GCCOPT += $(call gcc_ok,-fcommon,)
 EFIINC = $(objdir)/include/efi
 LIBDIR  = $(objdir)/lib
 
diff --git a/mk/elf.mk b/mk/elf.mk
index b46dbd06..a7951ea1 100644
--- a/mk/elf.mk
+++ b/mk/elf.mk
@@ -31,6 +31,7 @@ ifeq ($(ARCH),x86_64)
 endif
 GCCOPT += -Os -fomit-frame-pointer
 GCCOPT += $(call gcc_ok,-fno-stack-protector,)
+GCCOPT += $(call gcc_ok,-fcommon,)
 GCCOPT += $(call gcc_ok,-fwrapv,)
 GCCOPT += $(call gcc_ok,-freg-struct-return,)
 GCCOPT += $(call gcc_ok,-fno-exceptions,)
diff --git a/mk/embedded.mk b/mk/embedded.mk
index 488dc0fc..4c18d716 100644
--- a/mk/embedded.mk
+++ b/mk/embedded.mk
@@ -36,6 +36,7 @@ ifeq ($(ARCH),x86_64)
 endif
 GCCOPT    += $(call gcc_ok,-ffreestanding,)
 GCCOPT	  += $(call gcc_ok,-fno-stack-protector,)
+GCCOPT    += $(call gcc_ok,-fcommon,)
 GCCOPT	  += $(call gcc_ok,-fwrapv,)
 GCCOPT	  += $(call gcc_ok,-freg-struct-return,)
 ifeq ($(FWCLASS),EFI)
diff --git a/mk/lib.mk b/mk/lib.mk
index f8591e56..5dd2330f 100644
--- a/mk/lib.mk
+++ b/mk/lib.mk
@@ -16,6 +16,7 @@ ifeq ($(ARCH),x86_64)
 	MARCH = x86-64
 endif
 GCCOPT += $(call gcc_ok,-fno-stack-protector,)
+GCCOPT += $(call gcc_ok,-fcommon,)
 GCCOPT += $(call gcc_ok,-fwrapv,)
 GCCOPT += $(call gcc_ok,-freg-struct-return,)
 # Note -fPIE does not work with ld on x86_64, try -fPIC instead
-- 
2.25.4
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin