Merge pull request #4436 from jernejsk/gcc10

gcc: update to 10.1.0
This commit is contained in:
CvH 2020-06-26 17:43:52 +02:00 committed by GitHub
commit d1e3bf7c75
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
51 changed files with 4351 additions and 121 deletions

View File

@ -3,8 +3,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="at-spi2-atk"
PKG_VERSION="2.26.2"
PKG_SHA256="61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e"
PKG_VERSION="2.34.2"
PKG_SHA256="901323cee0eef05c01ec4dee06c701aeeca81a314a7d60216fa363005e27f4f0"
PKG_LICENSE="OSS"
PKG_SITE="http://www.gnome.org/"
PKG_URL="https://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/${PKG_VERSION:0:4}/at-spi2-atk-$PKG_VERSION.tar.xz"

View File

@ -3,8 +3,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="at-spi2-core"
PKG_VERSION="2.28.0"
PKG_SHA256="42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87"
PKG_VERSION="2.36.0"
PKG_SHA256="88da57de0a7e3c60bc341a974a80fdba091612db3547c410d6deab039ca5c05a"
PKG_LICENSE="OSS"
PKG_SITE="http://www.gnome.org/"
PKG_URL="https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/${PKG_VERSION:0:4}/at-spi2-core-$PKG_VERSION.tar.xz"

View File

@ -3,8 +3,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="atk"
PKG_VERSION="2.29.1"
PKG_SHA256="1aa7707c6297c1797fe4d79a22a57ede4d5586b0f7a3b30e886d7ca9d75f20da"
PKG_VERSION="2.36.0"
PKG_SHA256="fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788"
PKG_LICENSE="GPL"
PKG_SITE="http://library.gnome.org/devel/atk/"
PKG_URL="https://ftp.gnome.org/pub/gnome/sources/atk/${PKG_VERSION:0:4}/atk-$PKG_VERSION.tar.xz"

View File

@ -0,0 +1,12 @@
diff --git a/mpeg2dec.c b/mpeg2dec.c
index 3013dc1..5b79227 100755
--- a/mpeg2dec.c
+++ b/mpeg2dec.c
@@ -161,7 +161,6 @@ int64_t pev_best_effort_timestamp = 0;
int video_stream_index = -1;
int audio_stream_index = -1;
-int width, height;
int have_frame_rate ;
int stream_index;

View File

@ -0,0 +1,34 @@
From edbabcc7df6cd9e282991bd550d125d7f75bd738 Mon Sep 17 00:00:00 2001
From: Jernej Skrabec <jernej.skrabec@siol.net>
Date: Mon, 22 Jun 2020 19:42:17 +0200
Subject: [PATCH] Fix building with gcc10
---
si_types.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/si_types.h b/si_types.h
index 5fc7835d80c7..41ce2e1e6603 100644
--- a/si_types.h
+++ b/si_types.h
@@ -113,7 +113,7 @@ struct service {
uint32_t logical_channel_number;
uint8_t running;
void * priv;
-} service_t, * p_service_t;
+};
/*******************************************************************************
/* transponder type.
@@ -204,7 +204,7 @@ struct transponder {
char * signal_strength_unit;
double signal_quality;
char * signal_quality_unit;
-} __attribute__((packed)) transponder_t, * p_transponder_t;
+} __attribute__((packed));
/*******************************************************************************
/* satellite channel routing type.
--
2.27.0

View File

@ -0,0 +1,34 @@
From edbabcc7df6cd9e282991bd550d125d7f75bd738 Mon Sep 17 00:00:00 2001
From: Jernej Skrabec <jernej.skrabec@siol.net>
Date: Mon, 22 Jun 2020 19:42:17 +0200
Subject: [PATCH] Fix building with gcc10
---
si_types.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/si_types.h b/si_types.h
index 5fc7835d80c7..41ce2e1e6603 100644
--- a/si_types.h
+++ b/si_types.h
@@ -114,7 +114,7 @@ struct service {
uint32_t logical_channel_number;
uint8_t running;
void * priv;
-} service_t, * p_service_t;
+};
/*******************************************************************************
/* transponder type.
@@ -201,7 +201,7 @@ struct transponder {
/*----------------------------*/
char * network_name;
network_change_t network_change;
-} __attribute__((packed)) transponder_t, * p_transponder_t;
+} __attribute__((packed));
/*******************************************************************************
/* satellite channel routing type.
--
2.27.0

View File

@ -0,0 +1,54 @@
From d9402e29486f60ea4a9b8da530c60e6c8404127b Mon Sep 17 00:00:00 2001
From: Jernej Skrabec <jernej.skrabec@siol.net>
Date: Mon, 22 Jun 2020 20:18:59 +0200
Subject: [PATCH] Fix building with gcc10
---
ui_common.c | 6 ++++++
ui_common.h | 12 +++++++-----
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/ui_common.c b/ui_common.c
index dcf66466fda4..b1027ec16da7 100644
--- a/ui_common.c
+++ b/ui_common.c
@@ -17,6 +17,12 @@
#include "ui_common.h"
+sorted_list_type screen_list;
+host_pair_line totals;
+int peaksent, peakrecv, peaktotal;
+hash_type* screen_hash;
+hash_type* service_hash;
+
/* 2, 10 and 40 seconds */
int history_divs[HISTORY_DIVISIONS] = {1, 5, 20};
diff --git a/ui_common.h b/ui_common.h
index 63ae5bb69886..1403d11c310c 100644
--- a/ui_common.h
+++ b/ui_common.h
@@ -33,12 +33,14 @@ typedef struct host_pair_line_tag {
extern options_t options;
-sorted_list_type screen_list;
-host_pair_line totals;
-int peaksent, peakrecv, peaktotal;
+extern sorted_list_type screen_list;
+extern host_pair_line totals;
+extern int peaksent;
+extern int peakrecv;
+extern int peaktotal;
extern history_type history_totals;
-hash_type* screen_hash;
-hash_type* service_hash;
+extern hash_type* screen_hash;
+extern hash_type* service_hash;
void analyse_data(void);
void screen_list_init(void);
--
2.27.0

View File

@ -0,0 +1,12 @@
diff -Nur a/sh_util/gpshare.c b/sh_util/gpshare.c
--- a/sh_util/gpshare.c 2016-11-13 00:53:39.000000000 +0100
+++ b/sh_util/gpshare.c 2020-06-22 20:24:08.160203885 +0200
@@ -28,7 +28,7 @@
static int gIsAtty1 = 1, gIsAtty2 = 1;
extern int gLoadedBm, gBookmarkMatchMode;
-Bookmark gBm;
+extern Bookmark gBm;
double
FileSize(double size, const char **uStr0, double *uMult0)

View File

@ -2,8 +2,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="shairport-sync"
PKG_VERSION="3.2"
PKG_SHA256="18e9343d4bd8ff70674ff3ecdaf7312dd90e716cac2826a4266c95e08ca305bc"
PKG_VERSION="3.3.6"
PKG_SHA256="a8382affd25c473fa38ead5690148c6c3902098f359f9c881eefe139e1f49f49"
PKG_LICENSE="OSS"
PKG_SITE="https://github.com/mikebrady/shairport-sync"
PKG_URL="https://github.com/mikebrady/shairport-sync/archive/$PKG_VERSION.tar.gz"

View File

@ -16,6 +16,10 @@ make_host() {
make -C src/ include/efivar/efivar-guids.h
}
pre_make_target() {
sed -e 's/-Werror//' -i gcc.specs
}
make_target() {
make -C src/ libefivar.a libefiboot.a efivar.h efivar
}

View File

@ -0,0 +1,52 @@
From ee711740d2809e7aa3ebd57d58bfc02b1e9b034b Mon Sep 17 00:00:00 2001
From: David Seifert <soap@gentoo.org>
Date: Thu, 23 Jan 2020 17:27:10 +0100
Subject: [PATCH] Fix GCC 10 switch to `-fno-common` default
---
CRT.h | 6 +++---
linux/LinuxProcess.h | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/CRT.h b/CRT.h
index 933fe068..65998ac6 100644
--- a/CRT.h
+++ b/CRT.h
@@ -140,7 +140,7 @@ extern const char **CRT_treeStr;
extern int CRT_delay;
-int* CRT_colors;
+extern int* CRT_colors;
extern int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT];
@@ -150,13 +150,13 @@ extern int CRT_scrollHAmount;
extern int CRT_scrollWheelVAmount;
-char* CRT_termType;
+extern char* CRT_termType;
// TODO move color scheme to Settings, perhaps?
extern int CRT_colorScheme;
-void *backtraceArray[128];
+extern void *backtraceArray[128];
#if HAVE_SETUID_ENABLED
diff --git a/linux/LinuxProcess.h b/linux/LinuxProcess.h
index 6ce3037d..cbd77be9 100644
--- a/linux/LinuxProcess.h
+++ b/linux/LinuxProcess.h
@@ -144,7 +144,7 @@ typedef struct LinuxProcess_ {
#endif
-long long btime; /* semi-global */
+extern long long btime; /* semi-global */
extern ProcessFieldData Process_fields[];

View File

@ -0,0 +1,13 @@
diff --git a/Makefile b/Makefile
index 15c9e6cc828c..3b68824ce727 100644
--- a/Makefile
+++ b/Makefile
@@ -376,7 +376,7 @@ stress-ng: $(OBJS)
makeconfig:
@if [ ! -e config ]; then \
- STATIC=$(STATIC) $(MAKE) -f Makefile.config; \
+ STATIC=$(STATIC) $(MAKE) -j1 -f Makefile.config; \
fi
#

View File

@ -0,0 +1,42 @@
From 084126b03f29b33ab3e657c66e8c6a439f27f8e1 Mon Sep 17 00:00:00 2001
From: Harald Geyer <harald@ccbib.org>
Date: Mon, 10 Feb 2020 13:15:10 +0100
Subject: [PATCH] Fix compilation with GCC >= 10.x
Starting with GCC >= 10.x, -fno-common is used as default
instead of -fcommon. This patch fixes the compilation.
Closes: #148
Suggested-by: Conrad Kostecki <conrad@kostecki.com>
Signed-off-by: Harald Geyer <harald@ccbib.org>
---
clients/lcdproc/iface.c | 1 +
clients/lcdproc/iface.h | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/clients/lcdproc/iface.c b/clients/lcdproc/iface.c
index 40e50cb7..1ac355bd 100644
--- a/clients/lcdproc/iface.c
+++ b/clients/lcdproc/iface.c
@@ -32,6 +32,7 @@
#define UNSET_INT -1
#define UNSET_STR "\01"
+IfaceInfo iface[MAX_INTERFACES];
static int iface_count = 0; /* number of interfaces */
static char unit_label[10] = "B"; /* default unit label is Bytes */
diff --git a/clients/lcdproc/iface.h b/clients/lcdproc/iface.h
index cc6dbaaf..c1bd6b5b 100644
--- a/clients/lcdproc/iface.h
+++ b/clients/lcdproc/iface.h
@@ -18,7 +18,7 @@
/** max number of interfaces in multi-interface mode */
#define MAX_INTERFACES 3
-IfaceInfo iface[MAX_INTERFACES]; /* interface info */
+extern IfaceInfo iface[MAX_INTERFACES]; /* interface info */
/** Update screen content */
int iface_screen(int rep, int display, int *flags_ptr);

View File

@ -0,0 +1,39 @@
From 55d5d57a1d5a10ee2d120fad0b4c23553054b586 Mon Sep 17 00:00:00 2001
From: Jernej Skrabec <jernej.skrabec@siol.net>
Date: Mon, 22 Jun 2020 20:12:13 +0200
Subject: [PATCH] Fix building with gcc10
---
image_utils.c | 2 +-
metadata.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/image_utils.c b/image_utils.c
index 24cfd0841954..e8d9635dc6e0 100644
--- a/image_utils.c
+++ b/image_utils.c
@@ -190,7 +190,7 @@ jpeg_memory_src(j_decompress_ptr cinfo, const unsigned char * buffer, size_t buf
src->pub.bytes_in_buffer = bufsize;
}
-jmp_buf setjmp_buffer;
+static jmp_buf setjmp_buffer;
/* Don't exit on error like libjpeg likes to do */
static void
libjpeg_error_handler(j_common_ptr cinfo)
diff --git a/metadata.c b/metadata.c
index 9cd86dc64779..4781db716d1a 100644
--- a/metadata.c
+++ b/metadata.c
@@ -502,7 +502,7 @@ GetAudioMetadata(const char *path, const char *name)
}
/* For libjpeg error handling */
-jmp_buf setjmp_buffer;
+static jmp_buf setjmp_buffer;
static void
libjpeg_error_handler(j_common_ptr cinfo)
{
--
2.27.0

View File

@ -0,0 +1,43 @@
From b7a9982022ea54d87d310a041c38c6c69b6e49da Mon Sep 17 00:00:00 2001
From: Klaas de Waal <klaas@kldo.nl>
Date: Sun, 17 May 2020 23:00:09 +0200
Subject: [PATCH] Fix declaration and definition of global variables
Definition of global variable httpc now in utils.c with declaration in utils.h.
Definition of global variable source_map now in adapter.c with declaration in adapter.h.
This fixes multiple defined symbol linking errors with linking issue with multiple defined symbols
in Fedora 32 with gcc version 10.1.1 20200507 (Red Hat 10.1.1-1) (GCC)
---
src/adapter.c | 1 +
src/adapter.h | 2 +-
src/utils.c | 2 ++
src/utils.h | 3 ++-
4 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/utils.c b/src/utils.c
index 8c27954..5be35fd 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -63,6 +63,8 @@
int MAX_SINFO;
char pn[256];
+Shttp_client *httpc[MAX_HTTPC];
+
typedef struct tmpinfo
{
unsigned char enabled;
diff --git a/src/utils.h b/src/utils.h
index 6ef1831..efcccfa 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -88,7 +88,8 @@ typedef struct struct_http_client
#define get_httpc(i) ((i >= 0 && i < MAX_HTTPC && httpc[i] && httpc[i]->enabled) ? httpc[i] : NULL)
-Shttp_client *httpc[MAX_HTTPC];
+extern Shttp_client *httpc[MAX_HTTPC];
+
int http_client(char *url, char *request, void *callback, void *opaque);
unsigned char *getItem(uint32_t key);

View File

@ -29,6 +29,10 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-default-tests \
export LIBGCRYPT_CONFIG="$SYSROOT_PREFIX/usr/bin/libgcrypt-config"
pre_configure_target() {
CFLAGS="$CFLAGS -fcommon"
}
addon() {
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin
cp $PKG_INSTALL/usr/sbin/rsyslogd \

View File

@ -0,0 +1,52 @@
From 8a2942a361e95ccdbd30c1edc7627df3862cdbbe Mon Sep 17 00:00:00 2001
From: James Le Cuirot <chewi@gentoo.org>
Date: Fri, 15 May 2020 17:45:30 +0100
Subject: [PATCH] Fix building with -fno-common (default from GCC 10)
---
src/input.h | 4 ++--
src/input/mpegts.c | 2 ++
src/input/mpegts.h | 2 +-
3 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/input.h b/src/input.h
index a9c96df048..3dce355c6a 100644
--- a/src/input.h
+++ b/src/input.h
@@ -133,8 +133,8 @@ void tvh_hardware_delete ( tvh_hardware_t *th );
extern const idclass_t tvh_input_class;
extern const idclass_t tvh_input_instance_class;
-tvh_input_list_t tvh_inputs;
-tvh_hardware_list_t tvh_hardware;
+extern tvh_input_list_t tvh_inputs;
+extern tvh_hardware_list_t tvh_hardware;
#define TVH_INPUT_FOREACH(x) LIST_FOREACH(x, &tvh_inputs, ti_link)
#define TVH_HARDWARE_FOREACH(x) LIST_FOREACH(x, &tvh_hardware, th_link)
diff --git a/src/input/mpegts.c b/src/input/mpegts.c
index e02d491f19..fca4f34296 100644
--- a/src/input/mpegts.c
+++ b/src/input/mpegts.c
@@ -20,6 +20,8 @@
#include "mpegts/fastscan.h"
#include "memoryinfo.h"
+struct mpegts_listeners mpegts_listeners;
+
extern memoryinfo_t mpegts_input_queue_memoryinfo;
extern memoryinfo_t mpegts_input_table_memoryinfo;
diff --git a/src/input/mpegts.h b/src/input/mpegts.h
index 9dda3bacaa..9c4c57b73b 100644
--- a/src/input/mpegts.h
+++ b/src/input/mpegts.h
@@ -1149,7 +1149,7 @@ typedef struct mpegts_listener
void (*ml_mux_delete) (mpegts_mux_t *mm, void *p);
} mpegts_listener_t;
-LIST_HEAD(,mpegts_listener) mpegts_listeners;
+extern LIST_HEAD(mpegts_listeners, mpegts_listener) mpegts_listeners;
#define mpegts_add_listener(ml)\
LIST_INSERT_HEAD(&mpegts_listeners, ml, ml_link)

View File

@ -2,8 +2,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libunwind"
PKG_VERSION="1.3.1"
PKG_SHA256="43997a3939b6ccdf2f669b50fdb8a4d3205374728c2923ddc2354c65260214f8"
PKG_VERSION="1.4.0"
PKG_SHA256="df59c931bd4d7ebfd83ee481c943edf015138089b8e50abed8d9c57ba9338435"
PKG_LICENSE="GPL"
PKG_SITE="http://www.nongnu.org/libunwind/"
PKG_URL="http://download.savannah.nongnu.org/releases/libunwind/libunwind-${PKG_VERSION}.tar.gz"

View File

@ -0,0 +1,445 @@
From 29e17d8d2ccbca07c423e3089a6d5ae8a1c9cb6e Mon Sep 17 00:00:00 2001
From: Yichao Yu <yyc1992@gmail.com>
Date: Tue, 31 Mar 2020 00:43:32 -0400
Subject: [PATCH] Fix compilation with -fno-common.
Making all other archs consistent with IA64 which should not have this problem.
Also move the FIXME to the correct place.
Also add some minimum comments about this...
---
src/aarch64/Ginit.c | 15 +++++++--------
src/arm/Ginit.c | 15 +++++++--------
src/coredump/_UPT_get_dyn_info_list_addr.c | 5 +++++
src/hppa/Ginit.c | 15 +++++++--------
src/ia64/Ginit.c | 1 +
src/mi/Gfind_dynamic_proc_info.c | 1 +
src/mips/Ginit.c | 15 +++++++--------
src/ppc32/Ginit.c | 11 +++++++----
src/ppc64/Ginit.c | 11 +++++++----
src/ptrace/_UPT_get_dyn_info_list_addr.c | 5 +++++
src/s390x/Ginit.c | 15 +++++++--------
src/sh/Ginit.c | 15 +++++++--------
src/tilegx/Ginit.c | 15 +++++++--------
src/x86/Ginit.c | 15 +++++++--------
src/x86_64/Ginit.c | 15 +++++++--------
15 files changed, 89 insertions(+), 80 deletions(-)
diff --git a/src/aarch64/Ginit.c b/src/aarch64/Ginit.c
index dec235c..3538976 100644
--- a/src/aarch64/Ginit.c
+++ b/src/aarch64/Ginit.c
@@ -61,13 +61,6 @@ tdep_uc_addr (unw_tdep_context_t *uc, int reg)
# endif /* UNW_LOCAL_ONLY */
-HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
-
-/* XXX fix me: there is currently no way to locate the dyn-info list
- by a remote unwinder. On ia64, this is done via a special
- unwind-table entry. Perhaps something similar can be done with
- DWARF2 unwind info. */
-
static void
put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
{
@@ -78,7 +71,13 @@ static int
get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
void *arg)
{
- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
+#ifndef UNW_LOCAL_ONLY
+# pragma weak _U_dyn_info_list_addr
+ if (!_U_dyn_info_list_addr)
+ return -UNW_ENOINFO;
+#endif
+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
return 0;
}
diff --git a/src/arm/Ginit.c b/src/arm/Ginit.c
index 2720d06..0bac0d7 100644
--- a/src/arm/Ginit.c
+++ b/src/arm/Ginit.c
@@ -57,18 +57,17 @@ tdep_uc_addr (unw_tdep_context_t *uc, int reg)
# endif /* UNW_LOCAL_ONLY */
-HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
-
-/* XXX fix me: there is currently no way to locate the dyn-info list
- by a remote unwinder. On ia64, this is done via a special
- unwind-table entry. Perhaps something similar can be done with
- DWARF2 unwind info. */
-
static int
get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
void *arg)
{
- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
+#ifndef UNW_LOCAL_ONLY
+# pragma weak _U_dyn_info_list_addr
+ if (!_U_dyn_info_list_addr)
+ return -UNW_ENOINFO;
+#endif
+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
return 0;
}
diff --git a/src/coredump/_UPT_get_dyn_info_list_addr.c b/src/coredump/_UPT_get_dyn_info_list_addr.c
index 0d11905..739ed05 100644
--- a/src/coredump/_UPT_get_dyn_info_list_addr.c
+++ b/src/coredump/_UPT_get_dyn_info_list_addr.c
@@ -74,6 +74,11 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg,
#else
+/* XXX fix me: there is currently no way to locate the dyn-info list
+ by a remote unwinder. On ia64, this is done via a special
+ unwind-table entry. Perhaps something similar can be done with
+ DWARF2 unwind info. */
+
static inline int
get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg,
int *countp)
diff --git a/src/hppa/Ginit.c b/src/hppa/Ginit.c
index 461e4b9..265455a 100644
--- a/src/hppa/Ginit.c
+++ b/src/hppa/Ginit.c
@@ -64,13 +64,6 @@ _Uhppa_uc_addr (ucontext_t *uc, int reg)
# endif /* UNW_LOCAL_ONLY */
-HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
-
-/* XXX fix me: there is currently no way to locate the dyn-info list
- by a remote unwinder. On ia64, this is done via a special
- unwind-table entry. Perhaps something similar can be done with
- DWARF2 unwind info. */
-
static void
put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
{
@@ -81,7 +74,13 @@ static int
get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
void *arg)
{
- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
+#ifndef UNW_LOCAL_ONLY
+# pragma weak _U_dyn_info_list_addr
+ if (!_U_dyn_info_list_addr)
+ return -UNW_ENOINFO;
+#endif
+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
return 0;
}
diff --git a/src/ia64/Ginit.c b/src/ia64/Ginit.c
index b09a2ad..8601bb3 100644
--- a/src/ia64/Ginit.c
+++ b/src/ia64/Ginit.c
@@ -68,6 +68,7 @@ get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
if (!_U_dyn_info_list_addr)
return -UNW_ENOINFO;
#endif
+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
*dyn_info_list_addr = _U_dyn_info_list_addr ();
return 0;
}
diff --git a/src/mi/Gfind_dynamic_proc_info.c b/src/mi/Gfind_dynamic_proc_info.c
index 98d3501..2e7c62e 100644
--- a/src/mi/Gfind_dynamic_proc_info.c
+++ b/src/mi/Gfind_dynamic_proc_info.c
@@ -49,6 +49,7 @@ local_find_proc_info (unw_addr_space_t as, unw_word_t ip, unw_proc_info_t *pi,
return -UNW_ENOINFO;
#endif
+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
list = (unw_dyn_info_list_t *) (uintptr_t) _U_dyn_info_list_addr ();
for (di = list->first; di; di = di->next)
if (ip >= di->start_ip && ip < di->end_ip)
diff --git a/src/mips/Ginit.c b/src/mips/Ginit.c
index 3df170c..bf7a8f5 100644
--- a/src/mips/Ginit.c
+++ b/src/mips/Ginit.c
@@ -69,13 +69,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
# endif /* UNW_LOCAL_ONLY */
-HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
-
-/* XXX fix me: there is currently no way to locate the dyn-info list
- by a remote unwinder. On ia64, this is done via a special
- unwind-table entry. Perhaps something similar can be done with
- DWARF2 unwind info. */
-
static void
put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
{
@@ -86,7 +79,13 @@ static int
get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
void *arg)
{
- *dyn_info_list_addr = (unw_word_t) (intptr_t) &_U_dyn_info_list;
+#ifndef UNW_LOCAL_ONLY
+# pragma weak _U_dyn_info_list_addr
+ if (!_U_dyn_info_list_addr)
+ return -UNW_ENOINFO;
+#endif
+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
return 0;
}
diff --git a/src/ppc32/Ginit.c b/src/ppc32/Ginit.c
index ba30244..7b45455 100644
--- a/src/ppc32/Ginit.c
+++ b/src/ppc32/Ginit.c
@@ -91,9 +91,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
# endif /* UNW_LOCAL_ONLY */
-HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
-
-
static void
put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
{
@@ -104,7 +101,13 @@ static int
get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
void *arg)
{
- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
+#ifndef UNW_LOCAL_ONLY
+# pragma weak _U_dyn_info_list_addr
+ if (!_U_dyn_info_list_addr)
+ return -UNW_ENOINFO;
+#endif
+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
return 0;
}
diff --git a/src/ppc64/Ginit.c b/src/ppc64/Ginit.c
index 4c88cd6..7bfb395 100644
--- a/src/ppc64/Ginit.c
+++ b/src/ppc64/Ginit.c
@@ -95,9 +95,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
# endif /* UNW_LOCAL_ONLY */
-HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
-
-
static void
put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
{
@@ -108,7 +105,13 @@ static int
get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
void *arg)
{
- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
+#ifndef UNW_LOCAL_ONLY
+# pragma weak _U_dyn_info_list_addr
+ if (!_U_dyn_info_list_addr)
+ return -UNW_ENOINFO;
+#endif
+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
return 0;
}
diff --git a/src/ptrace/_UPT_get_dyn_info_list_addr.c b/src/ptrace/_UPT_get_dyn_info_list_addr.c
index cc5ed04..16671d4 100644
--- a/src/ptrace/_UPT_get_dyn_info_list_addr.c
+++ b/src/ptrace/_UPT_get_dyn_info_list_addr.c
@@ -71,6 +71,11 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg,
#else
+/* XXX fix me: there is currently no way to locate the dyn-info list
+ by a remote unwinder. On ia64, this is done via a special
+ unwind-table entry. Perhaps something similar can be done with
+ DWARF2 unwind info. */
+
static inline int
get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg,
int *countp)
diff --git a/src/s390x/Ginit.c b/src/s390x/Ginit.c
index f0886ac..db01743 100644
--- a/src/s390x/Ginit.c
+++ b/src/s390x/Ginit.c
@@ -50,8 +50,6 @@ static struct unw_addr_space local_addr_space;
unw_addr_space_t unw_local_addr_space = &local_addr_space;
-HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
-
static inline void *
uc_addr (ucontext_t *uc, int reg)
{
@@ -75,11 +73,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
# endif /* UNW_LOCAL_ONLY */
-/* XXX fix me: there is currently no way to locate the dyn-info list
- by a remote unwinder. On ia64, this is done via a special
- unwind-table entry. Perhaps something similar can be done with
- DWARF2 unwind info. */
-
static void
put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
{
@@ -90,7 +83,13 @@ static int
get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
void *arg)
{
- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
+#ifndef UNW_LOCAL_ONLY
+# pragma weak _U_dyn_info_list_addr
+ if (!_U_dyn_info_list_addr)
+ return -UNW_ENOINFO;
+#endif
+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
return 0;
}
diff --git a/src/sh/Ginit.c b/src/sh/Ginit.c
index 52988a7..9fe96d2 100644
--- a/src/sh/Ginit.c
+++ b/src/sh/Ginit.c
@@ -58,13 +58,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
# endif /* UNW_LOCAL_ONLY */
-HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
-
-/* XXX fix me: there is currently no way to locate the dyn-info list
- by a remote unwinder. On ia64, this is done via a special
- unwind-table entry. Perhaps something similar can be done with
- DWARF2 unwind info. */
-
static void
put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
{
@@ -75,7 +68,13 @@ static int
get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
void *arg)
{
- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
+#ifndef UNW_LOCAL_ONLY
+# pragma weak _U_dyn_info_list_addr
+ if (!_U_dyn_info_list_addr)
+ return -UNW_ENOINFO;
+#endif
+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
return 0;
}
diff --git a/src/tilegx/Ginit.c b/src/tilegx/Ginit.c
index 7564a55..925e641 100644
--- a/src/tilegx/Ginit.c
+++ b/src/tilegx/Ginit.c
@@ -64,13 +64,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
# endif /* UNW_LOCAL_ONLY */
-HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
-
-/* XXX fix me: there is currently no way to locate the dyn-info list
- by a remote unwinder. On ia64, this is done via a special
- unwind-table entry. Perhaps something similar can be done with
- DWARF2 unwind info. */
-
static void
put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
{
@@ -81,7 +74,13 @@ static int
get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
void *arg)
{
- *dyn_info_list_addr = (unw_word_t) (intptr_t) &_U_dyn_info_list;
+#ifndef UNW_LOCAL_ONLY
+# pragma weak _U_dyn_info_list_addr
+ if (!_U_dyn_info_list_addr)
+ return -UNW_ENOINFO;
+#endif
+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
return 0;
}
diff --git a/src/x86/Ginit.c b/src/x86/Ginit.c
index f6b8dc2..3cec74a 100644
--- a/src/x86/Ginit.c
+++ b/src/x86/Ginit.c
@@ -54,13 +54,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
# endif /* UNW_LOCAL_ONLY */
-HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
-
-/* XXX fix me: there is currently no way to locate the dyn-info list
- by a remote unwinder. On ia64, this is done via a special
- unwind-table entry. Perhaps something similar can be done with
- DWARF2 unwind info. */
-
static void
put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
{
@@ -71,7 +64,13 @@ static int
get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
void *arg)
{
- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
+#ifndef UNW_LOCAL_ONLY
+# pragma weak _U_dyn_info_list_addr
+ if (!_U_dyn_info_list_addr)
+ return -UNW_ENOINFO;
+#endif
+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
return 0;
}
diff --git a/src/x86_64/Ginit.c b/src/x86_64/Ginit.c
index a865d33..fd8d418 100644
--- a/src/x86_64/Ginit.c
+++ b/src/x86_64/Ginit.c
@@ -49,13 +49,6 @@ static struct unw_addr_space local_addr_space;
unw_addr_space_t unw_local_addr_space = &local_addr_space;
-HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
-
-/* XXX fix me: there is currently no way to locate the dyn-info list
- by a remote unwinder. On ia64, this is done via a special
- unwind-table entry. Perhaps something similar can be done with
- DWARF2 unwind info. */
-
static void
put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
{
@@ -66,7 +59,13 @@ static int
get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
void *arg)
{
- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
+#ifndef UNW_LOCAL_ONLY
+# pragma weak _U_dyn_info_list_addr
+ if (!_U_dyn_info_list_addr)
+ return -UNW_ENOINFO;
+#endif
+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
return 0;
}
--
1.9.1

View File

@ -0,0 +1,39 @@
Description: reorganize variables to fix GCC 10 FTBFS
Define variables in source, make types in header.
Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
Bug-Debian: https://bugs.debian.org/957529
Last-Update: 2020-04-19
---
--- memtester-4.3.0.orig/tests.c
+++ memtester-4.3.0/tests.c
@@ -27,6 +27,9 @@ char progress[] = "-\\|/";
#define PROGRESSOFTEN 2500
#define ONE 0x00000001L
+mword8_t mword8;
+mword16_t mword16;
+
/* Function definitions. */
int compare_regions(ulv *bufa, ulv *bufb, size_t count) {
--- memtester-4.3.0.orig/types.h
+++ memtester-4.3.0/types.h
@@ -25,12 +25,12 @@ struct test {
int (*fp)();
};
-union {
+typedef union {
unsigned char bytes[UL_LEN/8];
ul val;
-} mword8;
+} mword8_t;
-union {
+typedef union {
unsigned short u16s[UL_LEN/16];
ul val;
-} mword16;
+} mword16_t;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,166 @@
From 49348beafe9ba150c9bd48595b3f372299bddbb0 Mon Sep 17 00:00:00 2001
From: Joseph Myers <joseph@codesourcery.com>
Date: Tue, 17 Mar 2020 22:57:42 +0000
Subject: [PATCH] Fix build with GCC 10 when long double = double.
On platforms where long double has the same ABI as double, glibc
defines long double functions as aliases for the corresponding double
functions. The declarations of those functions in <math.h> are
disabled to avoid problems with aliases having incompatible types, but
GCC 10 now gives errors for incompatible types when the long double
function is known to GCC as a built-in function, not just when there
is an incompatible header declaration.
This patch fixes those errors by using appropriate
-fno-builtin-<function> options to compile the double functions. The
list of CFLAGS-* settings is an appropriately adapted version of that
in sysdeps/ieee754/ldbl-opt/Makefile used there for building nldbl-*.c
files; in particular, the options are used even if GCC does not
currently have a built-in function of a given function, so that adding
such a built-in function in future will not break the glibc build.
Thus, various of the CFLAGS-* settings are only for future-proofing
and may not currently be needed (and it's possible some could be
irrelevant for other reasons).
Tested with build-many-glibcs.py for arm-linux-gnueabi (compilers and
glibcs builds), where it fixes the build that previously failed.
---
math/Makefile | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 122 insertions(+)
diff --git a/math/Makefile b/math/Makefile
index 84a8b94c74..0a5a40430e 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -650,6 +650,128 @@ ifneq ($(long-double-fcts),yes)
# We won't compile the `long double' code at all. Tell the `double' code
# to define aliases for the `FUNCl' names.
math-CPPFLAGS += -DNO_LONG_DOUBLE
+# GCC 10 diagnoses aliases with types conflicting with built-in
+# functions.
+CFLAGS-w_acos.c += -fno-builtin-acosl
+CFLAGS-w_acosh.c += -fno-builtin-acoshl
+CFLAGS-w_asin.c += -fno-builtin-asinl
+CFLAGS-s_asinh.c += -fno-builtin-asinhl
+CFLAGS-s_atan.c += -fno-builtin-atanl
+CFLAGS-w_atan2.c += -fno-builtin-atan2l
+CFLAGS-w_atanh.c += -fno-builtin-atanhl
+CFLAGS-s_cabs.c += -fno-builtin-cabsl
+CFLAGS-s_cacos.c += -fno-builtin-cacosl
+CFLAGS-s_cacosh.c += -fno-builtin-cacoshl
+CFLAGS-s_canonicalize.c += -fno-builtin-canonicalizel
+CFLAGS-s_carg.c += -fno-builtin-cargl
+CFLAGS-s_casin.c += -fno-builtin-casinl
+CFLAGS-s_casinh.c += -fno-builtin-casinhl
+CFLAGS-s_catan.c += -fno-builtin-catanl
+CFLAGS-s_catanh.c += -fno-builtin-catanhl
+CFLAGS-s_cbrt.c += -fno-builtin-cbrtl
+CFLAGS-s_ccos.c += -fno-builtin-ccosl
+CFLAGS-s_ccosh.c += -fno-builtin-ccoshl
+CFLAGS-s_ceil.c += -fno-builtin-ceill
+CFLAGS-s_cexp.c += -fno-builtin-cexpl
+CFLAGS-s_cimag.c += -fno-builtin-cimagl
+CFLAGS-s_clog.c += -fno-builtin-clogl
+CFLAGS-s_clog10.c += -fno-builtin-clog10l
+CFLAGS-s_conj.c += -fno-builtin-conjl
+CFLAGS-s_copysign.c += -fno-builtin-copysignl
+CFLAGS-s_cos.c += -fno-builtin-cosl
+CFLAGS-w_cosh.c += -fno-builtin-coshl
+CFLAGS-s_cpow.c += -fno-builtin-cpowl
+CFLAGS-s_cproj.c += -fno-builtin-cprojl
+CFLAGS-s_creal.c += -fno-builtin-creall
+CFLAGS-s_csin.c += -fno-builtin-csinl
+CFLAGS-s_csinh.c += -fno-builtin-csinhl
+CFLAGS-s_csqrt.c += -fno-builtin-csqrtl
+CFLAGS-s_ctan.c += -fno-builtin-ctanl
+CFLAGS-s_ctanh.c += -fno-builtin-ctanhl
+CFLAGS-s_dadd.c += -fno-builtin-daddl
+CFLAGS-s_ddiv.c += -fno-builtin-ddivl
+CFLAGS-s_dmul.c += -fno-builtin-dmull
+CFLAGS-s_dsub.c += -fno-builtin-dsubl
+CFLAGS-s_erf.c += -fno-builtin-erfl
+CFLAGS-s_erfc.c += -fno-builtin-erfcl
+CFLAGS-e_exp.c += -fno-builtin-expl
+CFLAGS-w_exp10.c += -fno-builtin-exp10l
+CFLAGS-e_exp2.c += -fno-builtin-exp2l
+CFLAGS-s_expm1.c += -fno-builtin-expm1l
+CFLAGS-s_fabs.c += -fno-builtin-fabsl
+CFLAGS-s_fadd.c += -fno-builtin-faddl
+CFLAGS-s_fdim.c += -fno-builtin-fdiml
+CFLAGS-s_fdiv.c += -fno-builtin-fdivl
+CFLAGS-s_finite.c += -fno-builtin-finitel
+CFLAGS-s_floor.c += -fno-builtin-floorl
+CFLAGS-s_fma.c += -fno-builtin-fmal
+CFLAGS-s_fmax.c += -fno-builtin-fmaxl
+CFLAGS-s_fmaxmag.c += -fno-builtin-fmaxmagl
+CFLAGS-s_fmin.c += -fno-builtin-fminl
+CFLAGS-s_fminmag.c += -fno-builtin-fminmagl
+CFLAGS-w_fmod.c += -fno-builtin-fmodl
+CFLAGS-s_fmul.c += -fno-builtin-fmull
+CFLAGS-s_frexp.c += -fno-builtin-frexpl
+CFLAGS-s_fromfp.c += -fno-builtin-fromfpl
+CFLAGS-s_fromfpx.c += -fno-builtin-fromfpxl
+CFLAGS-s_fsub.c += -fno-builtin-fsubl
+CFLAGS-s_gamma.c += -fno-builtin-gammal
+CFLAGS-s_getpayload.c += -fno-builtin-getpayloadl
+CFLAGS-w_hypot.c += -fno-builtin-hypotl
+CFLAGS-w_ilogb.c += -fno-builtin-ilogbl
+CFLAGS-s_isinf.c += -fno-builtin-isinfl
+CFLAGS-s_isnan.c += -fno-builtin-isnanl
+CFLAGS-w_j0.c += -fno-builtin-j0l
+CFLAGS-w_j1.c += -fno-builtin-j1l
+CFLAGS-w_jn.c += -fno-builtin-jnl
+CFLAGS-s_ldexp.c += -fno-builtin-ldexpl
+CFLAGS-w_lgamma.c += -fno-builtin-lgammal
+CFLAGS-w_lgamma_r.c += -fno-builtin-lgammal_r
+CFLAGS-w_llogb.c += -fno-builtin-llogbl
+CFLAGS-s_llrint.c += -fno-builtin-llrintl
+CFLAGS-s_llround.c += -fno-builtin-llroundl
+CFLAGS-e_log.c += -fno-builtin-logl
+CFLAGS-w_log10.c += -fno-builtin-log10l
+CFLAGS-w_log1p.c += -fno-builtin-log1pl
+CFLAGS-e_log2.c += -fno-builtin-log2l
+CFLAGS-s_logb.c += -fno-builtin-logbl
+CFLAGS-s_lrint.c += -fno-builtin-lrintl
+CFLAGS-s_lround.c += -fno-builtin-lroundl
+CFLAGS-s_modf.c += -fno-builtin-modfl
+CFLAGS-s_nan.c += -fno-builtin-nanl
+CFLAGS-s_nearbyint.c += -fno-builtin-nearbyintl
+CFLAGS-s_nextafter.c += -fno-builtin-nextafterl
+CFLAGS-s_nextdown.c += -fno-builtin-nextdownl
+CFLAGS-s_nexttoward.c += -fno-builtin-nexttoward -fno-builtin-nexttowardl
+CFLAGS-s_nexttowardf.c += -fno-builtin-nexttowardf
+CFLAGS-s_nextup.c += -fno-builtin-nextupl
+CFLAGS-e_pow.c += -fno-builtin-powl
+CFLAGS-w_remainder.c += -fno-builtin-remainderl -fno-builtin-dreml
+CFLAGS-s_remquo.c += -fno-builtin-remquol
+CFLAGS-s_rint.c += -fno-builtin-rintl
+CFLAGS-s_round.c += -fno-builtin-roundl
+CFLAGS-s_roundeven.c += -fno-builtin-roundevenl
+CFLAGS-w_scalb.c += -fno-builtin-scalbl
+CFLAGS-w_scalbln.c += -fno-builtin-scalblnl
+CFLAGS-s_scalbn.c += -fno-builtin-scalbnl
+CFLAGS-s_setpayload.c += -fno-builtin-setpayloadl
+CFLAGS-s_setpayloadsig.c += -fno-builtin-setpayloadsigl
+CFLAGS-s_significand.c += -fno-builtin-significandl
+CFLAGS-s_sin.c += -fno-builtin-sinl
+CFLAGS-s_sincos.c += -fno-builtin-sincosl
+CFLAGS-w_sinh.c += -fno-builtin-sinhl
+CFLAGS-w_sqrt.c += -fno-builtin-sqrtl
+CFLAGS-s_tan.c += -fno-builtin-tanl
+CFLAGS-s_tanh.c += -fno-builtin-tanhl
+CFLAGS-w_tgamma.c += -fno-builtin-tgammal
+CFLAGS-s_totalorder.c += -fno-builtin-totalorderl
+CFLAGS-s_totalordermag.c += -fno-builtin-totalordermagl
+CFLAGS-s_trunc.c += -fno-builtin-truncl
+CFLAGS-s_ufromfp.c += -fno-builtin-ufromfpl
+CFLAGS-s_ufromfpx.c += -fno-builtin-ufromfpxl
+CFLAGS-s_y0.c += -fno-builtin-y0l
+CFLAGS-s_y1.c += -fno-builtin-y1l
+CFLAGS-s_yn.c += -fno-builtin-ynl
endif
# These files quiet sNaNs in a way that is optimized away without
--
2.18.2

View File

@ -0,0 +1,42 @@
From d79fe162c009788888faaf0317253b6f0cac7092 Mon Sep 17 00:00:00 2001
From: Kevin Buettner <kevinb@redhat.com>
Date: Thu, 23 Apr 2020 17:05:34 -0400
Subject: [SV 58232] Disable inheritance of jobserver FDs for recursive make
A parent make will invoke a sub-make with close-on-exec disabled for
the jobserver pipe FDs. Force close-on-exec to be to be enabled in
the sub-make so the pipe is not always passed to child jobs.
I have a test case which, when invoked with a suitable -j switch,
will hang if the recipe inherits the jobserver pipe. This test case
was inspired by a real world case in which testing GDB on Fedora
would hang due to some poorly written test GDB cases having been
passed the jobserver file descriptors.
* src/posixos.c (jobserver_parse_auth): Call fd_noinherit() for
jobserver pipe descriptors.
Copyright-paperwork-exempt: yes
---
src/posixos.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/posixos.c b/src/posixos.c
index 525f292..eab175a 100644
--- a/src/posixos.c
+++ b/src/posixos.c
@@ -145,6 +145,11 @@ jobserver_parse_auth (const char *auth)
/* When using pselect() we want the read to be non-blocking. */
set_blocking (job_fds[0], 0);
+ /* By default we don't send the job pipe FDs to our children.
+ See jobserver_pre_child() and jobserver_post_child(). */
+ fd_noinherit (job_fds[0]);
+ fd_noinherit (job_fds[1]);
+
return 1;
}
--
cgit v1.2.1

View File

@ -0,0 +1,35 @@
From 2a00890a52ee21b63100e21dcb95940943ba6810 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@google.com>
Date: Mon, 4 May 2020 18:11:21 +0200
Subject: [PATCH] Fix declaration of ev_events
---
libretro/retro_events.c | 1 +
libretro/retro_events.h | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/libretro/retro_events.c b/libretro/retro_events.c
index 50f4364..0a9e3e9 100644
--- a/libretro/retro_events.c
+++ b/libretro/retro_events.c
@@ -59,6 +59,7 @@ const uint8_t bit_values[8] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 };
static uint8_t keyboard_translation[MAX_KEYSYMS];
unsigned int last_input[PORTS_NUMBER] = {0,0};
uint32_t padnum = 0;
+bool (*ev_events)(void);
const uint8_t btnPAD[MAX_PADCFG][MAX_BUTTONS] = {
{ // JOYSTICK CFG
diff --git a/libretro/retro_events.h b/libretro/retro_events.h
index 9f53d36..63e24b5 100644
--- a/libretro/retro_events.h
+++ b/libretro/retro_events.h
@@ -154,7 +154,7 @@ typedef struct {
#define JOY_EVENT_ID_Y 1
void ev_joysticks();
-bool (*ev_events)(void);
+extern bool (*ev_events)(void);
void ev_combo_set(unsigned btn);
void ev_init();

View File

@ -0,0 +1,50 @@
From 6640ae1c834c31a776ad1d22c77ed919e8fe3c07 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@google.com>
Date: Wed, 6 May 2020 02:02:59 +0200
Subject: [PATCH] Emscripten fixes
---
fuse/ui/widget/widget.c | 2 +-
src/libretro.c | 2 +-
zlib/gzguts.h | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/fuse/ui/widget/widget.c b/fuse/ui/widget/widget.c
index 542a47f..0437cd5 100644
--- a/fuse/ui/widget/widget.c
+++ b/fuse/ui/widget/widget.c
@@ -93,7 +93,7 @@ typedef struct widget_recurse_t {
static widget_recurse_t widget_return[10]; /* The stack to recurse on */
/* The settings used whilst playing with an options dialog box */
-settings_info widget_options_settings;
+extern settings_info widget_options_settings;
static int widget_read_font( const char *filename )
{
diff --git a/src/libretro.c b/src/libretro.c
index ba595b7..19948c6 100644
--- a/src/libretro.c
+++ b/src/libretro.c
@@ -476,7 +476,7 @@ static int get_joystick(unsigned device)
#ifdef GIT_VERSION
static char version[] = PACKAGE_VERSION " " GIT_VERSION;
#else
-const char *fuse_githash;
+extern const char *fuse_githash;
static char version[] = PACKAGE_VERSION " .......";
#endif
diff --git a/zlib/gzguts.h b/zlib/gzguts.h
index 6463b71..8e83b1d 100644
--- a/zlib/gzguts.h
+++ b/zlib/gzguts.h
@@ -18,7 +18,7 @@
# define ZLIB_INTERNAL
#endif
-#ifdef _IOS_ARM64
+#if defined(_IOS_ARM64) || defined(EMSCRIPTEN)
#include <unistd.h>
#endif

View File

@ -16,6 +16,7 @@ PKG_LIBPATH="$PKG_LIBNAME"
PKG_LIBVAR="UAE_LIB"
pre_configure_target() {
CFLAGS="$CFLAGS -fcommon"
if [ "$TARGET_ARCH" = "arm" ]; then
CFLAGS="$CFLAGS -DARM -marm"
fi

View File

@ -0,0 +1,32 @@
From b72cd16bafbb8b54ae9449248d1e0d559fa6f02d Mon Sep 17 00:00:00 2001
From: Jernej Skrabec <jernej.skrabec@siol.net>
Date: Mon, 22 Jun 2020 23:16:41 +0200
Subject: [PATCH] fix compilation with gcc10
---
vice/src/arch/libretro/archdep.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/vice/src/arch/libretro/archdep.c b/vice/src/arch/libretro/archdep.c
index dc3491f2ace4..0465c098f031 100644
--- a/vice/src/arch/libretro/archdep.c
+++ b/vice/src/arch/libretro/archdep.c
@@ -64,7 +64,7 @@
#include "util.h"
#include "keyboard.h"
-#define LIBRETROHACK 1
+//#define LIBRETROHACK 1
#ifdef LIBRETROHACK
//FIXME remove me!
BYTE plus4tcbm_outputa[2], plus4tcbm_outputb[2], plus4tcbm_outputc[2];
@@ -715,4 +715,4 @@ void archdep_vice_exit(int excode)
{
exit(excode);
}
-*/
\ No newline at end of file
+*/
--
2.27.0

View File

@ -3,8 +3,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="gcc"
PKG_VERSION="9.3.0"
PKG_SHA256="71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1"
PKG_VERSION="10.1.0"
PKG_SHA256="b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2"
PKG_LICENSE="GPL"
PKG_SITE="http://gcc.gnu.org/"
PKG_URL="http://ftpmirror.gnu.org/gcc/$PKG_NAME-$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.xz"
@ -39,11 +39,11 @@ GCC_COMMON_CONFIGURE_OPTS="--target=$TARGET_NAME \
--disable-libquadmath \
--disable-libgomp \
--disable-libmpx \
--disable-libssp"
--disable-libssp \
--enable-__cxa_atexit"
PKG_CONFIGURE_OPTS_BOOTSTRAP="$GCC_COMMON_CONFIGURE_OPTS \
--enable-languages=c \
--disable-__cxa_atexit \
--disable-libsanitizer \
--enable-cloog-backend=isl \
--disable-shared \
@ -55,7 +55,6 @@ PKG_CONFIGURE_OPTS_BOOTSTRAP="$GCC_COMMON_CONFIGURE_OPTS \
PKG_CONFIGURE_OPTS_HOST="$GCC_COMMON_CONFIGURE_OPTS \
--enable-languages=c,c++ \
--enable-__cxa_atexit \
--enable-decimal-float \
--enable-tls \
--enable-shared \
@ -87,7 +86,7 @@ post_makeinstall_host() {
cp -PR $TARGET_NAME/libstdc++-v3/src/.libs/libstdc++.so* $SYSROOT_PREFIX/usr/lib
GCC_VERSION=`$TOOLCHAIN/bin/${TARGET_NAME}-gcc -dumpversion`
DATE="0501`echo $GCC_VERSION | sed 's/\([0-9]\)/0\1/g' | sed 's/\.//g'`"
DATE="0501`echo $GCC_VERSION | sed 's/\./0/g'`"
CROSS_CC=${TARGET_PREFIX}gcc-${GCC_VERSION}
CROSS_CXX=${TARGET_PREFIX}g++-${GCC_VERSION}

View File

@ -3,12 +3,12 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="llvm"
PKG_VERSION="9.0.0"
PKG_SHA256="d6a0565cf21f22e9b4353b2eb92622e8365000a9e90a16b09b56f8157eabfe84"
PKG_VERSION="10.0.0"
PKG_SHA256="df83a44b3a9a71029049ec101fb0077ecbbdf5fe41e395215025779099a98fdf"
PKG_ARCH="x86_64"
PKG_LICENSE="Apache-2.0"
PKG_SITE="http://llvm.org/"
PKG_URL="https://releases.llvm.org/${PKG_VERSION}/llvm-${PKG_VERSION}.src.tar.xz"
PKG_URL="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PKG_VERSION}/llvm-${PKG_VERSION}.src.tar.xz"
PKG_DEPENDS_HOST="toolchain:host"
PKG_DEPENDS_TARGET="toolchain llvm:host zlib"
PKG_LONGDESC="Low-Level Virtual Machine (LLVM) is a compiler infrastructure."

View File

@ -0,0 +1,66 @@
From 168200b6d6ea0cb5765943ec5da5b8149701f36a Mon Sep 17 00:00:00 2001
From: Leo Yan <leo.yan@linaro.org>
Date: Tue, 5 May 2020 21:36:42 +0800
Subject: [PATCH] perf cs-etm: Move definition of 'traceid_list' global
variable from header file
The variable 'traceid_list' is defined in the header file cs-etm.h,
if multiple C files include cs-etm.h the compiler might complaint for
multiple definition of 'traceid_list'.
To fix multiple definition error, move the definition of 'traceid_list'
into cs-etm.c.
Fixes: cd8bfd8c973e ("perf tools: Add processing of coresight metadata")
Reported-by: Thomas Backlund <tmb@mageia.org>
Signed-off-by: Leo Yan <leo.yan@linaro.org>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Reviewed-by: Mike Leach <mike.leach@linaro.org>
Tested-by: Mike Leach <mike.leach@linaro.org>
Tested-by: Thomas Backlund <tmb@mageia.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
Cc: Tor Jeremiassen <tor@ti.com>
Cc: linux-arm-kernel@lists.infradead.org
Link: http://lore.kernel.org/lkml/20200505133642.4756-1-leo.yan@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/cs-etm.c | 3 +++
tools/perf/util/cs-etm.h | 3 ---
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
index 3c802fde4954..c283223fb31f 100644
--- a/tools/perf/util/cs-etm.c
+++ b/tools/perf/util/cs-etm.c
@@ -94,6 +94,9 @@ struct cs_etm_queue {
struct cs_etm_traceid_queue **traceid_queues;
};
+/* RB tree for quick conversion between traceID and metadata pointers */
+static struct intlist *traceid_list;
+
static int cs_etm__update_queues(struct cs_etm_auxtrace *etm);
static int cs_etm__process_queues(struct cs_etm_auxtrace *etm);
static int cs_etm__process_timeless_queues(struct cs_etm_auxtrace *etm,
diff --git a/tools/perf/util/cs-etm.h b/tools/perf/util/cs-etm.h
index 650ecc2a6349..4ad925d6d799 100644
--- a/tools/perf/util/cs-etm.h
+++ b/tools/perf/util/cs-etm.h
@@ -114,9 +114,6 @@ enum cs_etm_isa {
CS_ETM_ISA_T32,
};
-/* RB tree for quick conversion between traceID and metadata pointers */
-struct intlist *traceid_list;
-
struct cs_etm_queue;
struct cs_etm_packet {
--
2.27.0

View File

@ -0,0 +1,66 @@
From 168200b6d6ea0cb5765943ec5da5b8149701f36a Mon Sep 17 00:00:00 2001
From: Leo Yan <leo.yan@linaro.org>
Date: Tue, 5 May 2020 21:36:42 +0800
Subject: [PATCH] perf cs-etm: Move definition of 'traceid_list' global
variable from header file
The variable 'traceid_list' is defined in the header file cs-etm.h,
if multiple C files include cs-etm.h the compiler might complaint for
multiple definition of 'traceid_list'.
To fix multiple definition error, move the definition of 'traceid_list'
into cs-etm.c.
Fixes: cd8bfd8c973e ("perf tools: Add processing of coresight metadata")
Reported-by: Thomas Backlund <tmb@mageia.org>
Signed-off-by: Leo Yan <leo.yan@linaro.org>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Reviewed-by: Mike Leach <mike.leach@linaro.org>
Tested-by: Mike Leach <mike.leach@linaro.org>
Tested-by: Thomas Backlund <tmb@mageia.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
Cc: Tor Jeremiassen <tor@ti.com>
Cc: linux-arm-kernel@lists.infradead.org
Link: http://lore.kernel.org/lkml/20200505133642.4756-1-leo.yan@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/cs-etm.c | 3 +++
tools/perf/util/cs-etm.h | 3 ---
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
index 3c802fde4954..c283223fb31f 100644
--- a/tools/perf/util/cs-etm.c
+++ b/tools/perf/util/cs-etm.c
@@ -94,6 +94,9 @@ struct cs_etm_queue {
struct cs_etm_traceid_queue **traceid_queues;
};
+/* RB tree for quick conversion between traceID and metadata pointers */
+static struct intlist *traceid_list;
+
static int cs_etm__update_queues(struct cs_etm_auxtrace *etm);
static int cs_etm__process_queues(struct cs_etm_auxtrace *etm);
static int cs_etm__process_timeless_queues(struct cs_etm_auxtrace *etm,
diff --git a/tools/perf/util/cs-etm.h b/tools/perf/util/cs-etm.h
index 650ecc2a6349..4ad925d6d799 100644
--- a/tools/perf/util/cs-etm.h
+++ b/tools/perf/util/cs-etm.h
@@ -114,9 +114,6 @@ enum cs_etm_isa {
CS_ETM_ISA_T32,
};
-/* RB tree for quick conversion between traceID and metadata pointers */
-struct intlist *traceid_list;
-
struct cs_etm_queue;
struct cs_etm_packet {
--
2.27.0

View File

@ -0,0 +1,66 @@
From 168200b6d6ea0cb5765943ec5da5b8149701f36a Mon Sep 17 00:00:00 2001
From: Leo Yan <leo.yan@linaro.org>
Date: Tue, 5 May 2020 21:36:42 +0800
Subject: [PATCH] perf cs-etm: Move definition of 'traceid_list' global
variable from header file
The variable 'traceid_list' is defined in the header file cs-etm.h,
if multiple C files include cs-etm.h the compiler might complaint for
multiple definition of 'traceid_list'.
To fix multiple definition error, move the definition of 'traceid_list'
into cs-etm.c.
Fixes: cd8bfd8c973e ("perf tools: Add processing of coresight metadata")
Reported-by: Thomas Backlund <tmb@mageia.org>
Signed-off-by: Leo Yan <leo.yan@linaro.org>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Reviewed-by: Mike Leach <mike.leach@linaro.org>
Tested-by: Mike Leach <mike.leach@linaro.org>
Tested-by: Thomas Backlund <tmb@mageia.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
Cc: Tor Jeremiassen <tor@ti.com>
Cc: linux-arm-kernel@lists.infradead.org
Link: http://lore.kernel.org/lkml/20200505133642.4756-1-leo.yan@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/cs-etm.c | 3 +++
tools/perf/util/cs-etm.h | 3 ---
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
index 3c802fde4954..c283223fb31f 100644
--- a/tools/perf/util/cs-etm.c
+++ b/tools/perf/util/cs-etm.c
@@ -94,6 +94,9 @@ struct cs_etm_queue {
struct cs_etm_traceid_queue **traceid_queues;
};
+/* RB tree for quick conversion between traceID and metadata pointers */
+static struct intlist *traceid_list;
+
static int cs_etm__update_queues(struct cs_etm_auxtrace *etm);
static int cs_etm__process_queues(struct cs_etm_auxtrace *etm);
static int cs_etm__process_timeless_queues(struct cs_etm_auxtrace *etm,
diff --git a/tools/perf/util/cs-etm.h b/tools/perf/util/cs-etm.h
index 650ecc2a6349..4ad925d6d799 100644
--- a/tools/perf/util/cs-etm.h
+++ b/tools/perf/util/cs-etm.h
@@ -114,9 +114,6 @@ enum cs_etm_isa {
CS_ETM_ISA_T32,
};
-/* RB tree for quick conversion between traceID and metadata pointers */
-struct intlist *traceid_list;
-
struct cs_etm_queue;
struct cs_etm_packet {
--
2.27.0

View File

@ -0,0 +1,234 @@
From e4d9b04b973b2dbce7b42af95ea70d07da1c936d Mon Sep 17 00:00:00 2001
From: Arnaldo Carvalho de Melo <acme@redhat.com>
Date: Mon, 2 Mar 2020 12:09:38 -0300
Subject: [PATCH] perf bench: Share some global variables to fix build with gcc
10
Noticed with gcc 10 (fedora rawhide) that those variables were not being
declared as static, so end up with:
ld: /tmp/build/perf/bench/epoll-wait.o:/git/perf/tools/perf/bench/epoll-wait.c:93: multiple definition of `end'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
ld: /tmp/build/perf/bench/epoll-wait.o:/git/perf/tools/perf/bench/epoll-wait.c:93: multiple definition of `start'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
ld: /tmp/build/perf/bench/epoll-wait.o:/git/perf/tools/perf/bench/epoll-wait.c:93: multiple definition of `runtime'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
ld: /tmp/build/perf/bench/epoll-ctl.o:/git/perf/tools/perf/bench/epoll-ctl.c:38: multiple definition of `end'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
ld: /tmp/build/perf/bench/epoll-ctl.o:/git/perf/tools/perf/bench/epoll-ctl.c:38: multiple definition of `start'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
ld: /tmp/build/perf/bench/epoll-ctl.o:/git/perf/tools/perf/bench/epoll-ctl.c:38: multiple definition of `runtime'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
make[4]: *** [/git/perf/tools/build/Makefile.build:145: /tmp/build/perf/bench/perf-in.o] Error 1
Prefix those with bench__ and add them to bench/bench.h, so that we can
share those on the tools needing to access those variables from signal
handlers.
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lore.kernel.org/lkml/20200303155811.GD13702@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/bench/bench.h | 4 ++++
tools/perf/bench/epoll-ctl.c | 7 +++----
tools/perf/bench/epoll-wait.c | 11 +++++------
tools/perf/bench/futex-hash.c | 12 ++++++------
tools/perf/bench/futex-lock-pi.c | 11 +++++------
5 files changed, 23 insertions(+), 22 deletions(-)
diff --git a/tools/perf/bench/bench.h b/tools/perf/bench/bench.h
index fddb3ced9db6..4aa6de1aa67d 100644
--- a/tools/perf/bench/bench.h
+++ b/tools/perf/bench/bench.h
@@ -2,6 +2,10 @@
#ifndef BENCH_H
#define BENCH_H
+#include <sys/time.h>
+
+extern struct timeval bench__start, bench__end, bench__runtime;
+
/*
* The madvise transparent hugepage constants were added in glibc
* 2.13. For compatibility with older versions of glibc, define these
diff --git a/tools/perf/bench/epoll-ctl.c b/tools/perf/bench/epoll-ctl.c
index bb617e568841..a7526c05df38 100644
--- a/tools/perf/bench/epoll-ctl.c
+++ b/tools/perf/bench/epoll-ctl.c
@@ -35,7 +35,6 @@
static unsigned int nthreads = 0;
static unsigned int nsecs = 8;
-struct timeval start, end, runtime;
static bool done, __verbose, randomize;
/*
@@ -94,8 +93,8 @@ static void toggle_done(int sig __maybe_unused,
{
/* inform all threads that we're done for the day */
done = true;
- gettimeofday(&end, NULL);
- timersub(&end, &start, &runtime);
+ gettimeofday(&bench__end, NULL);
+ timersub(&bench__end, &bench__start, &bench__runtime);
}
static void nest_epollfd(void)
@@ -361,7 +360,7 @@ int bench_epoll_ctl(int argc, const char **argv)
threads_starting = nthreads;
- gettimeofday(&start, NULL);
+ gettimeofday(&bench__start, NULL);
do_threads(worker, cpu);
diff --git a/tools/perf/bench/epoll-wait.c b/tools/perf/bench/epoll-wait.c
index 7af694437f4e..d1c5cb526b9f 100644
--- a/tools/perf/bench/epoll-wait.c
+++ b/tools/perf/bench/epoll-wait.c
@@ -90,7 +90,6 @@
static unsigned int nthreads = 0;
static unsigned int nsecs = 8;
-struct timeval start, end, runtime;
static bool wdone, done, __verbose, randomize, nonblocking;
/*
@@ -276,8 +275,8 @@ static void toggle_done(int sig __maybe_unused,
{
/* inform all threads that we're done for the day */
done = true;
- gettimeofday(&end, NULL);
- timersub(&end, &start, &runtime);
+ gettimeofday(&bench__end, NULL);
+ timersub(&bench__end, &bench__start, &bench__runtime);
}
static void print_summary(void)
@@ -287,7 +286,7 @@ static void print_summary(void)
printf("\nAveraged %ld operations/sec (+- %.2f%%), total secs = %d\n",
avg, rel_stddev_stats(stddev, avg),
- (int) runtime.tv_sec);
+ (int)bench__runtime.tv_sec);
}
static int do_threads(struct worker *worker, struct perf_cpu_map *cpu)
@@ -479,7 +478,7 @@ int bench_epoll_wait(int argc, const char **argv)
threads_starting = nthreads;
- gettimeofday(&start, NULL);
+ gettimeofday(&bench__start, NULL);
do_threads(worker, cpu);
@@ -519,7 +518,7 @@ int bench_epoll_wait(int argc, const char **argv)
qsort(worker, nthreads, sizeof(struct worker), cmpworker);
for (i = 0; i < nthreads; i++) {
- unsigned long t = worker[i].ops/runtime.tv_sec;
+ unsigned long t = worker[i].ops / bench__runtime.tv_sec;
update_stats(&throughput_stats, t);
diff --git a/tools/perf/bench/futex-hash.c b/tools/perf/bench/futex-hash.c
index 8ba0c3330a9a..21776862e940 100644
--- a/tools/perf/bench/futex-hash.c
+++ b/tools/perf/bench/futex-hash.c
@@ -37,7 +37,7 @@ static unsigned int nfutexes = 1024;
static bool fshared = false, done = false, silent = false;
static int futex_flag = 0;
-struct timeval start, end, runtime;
+struct timeval bench__start, bench__end, bench__runtime;
static pthread_mutex_t thread_lock;
static unsigned int threads_starting;
static struct stats throughput_stats;
@@ -103,8 +103,8 @@ static void toggle_done(int sig __maybe_unused,
{
/* inform all threads that we're done for the day */
done = true;
- gettimeofday(&end, NULL);
- timersub(&end, &start, &runtime);
+ gettimeofday(&bench__end, NULL);
+ timersub(&bench__end, &bench__start, &bench__runtime);
}
static void print_summary(void)
@@ -114,7 +114,7 @@ static void print_summary(void)
printf("%sAveraged %ld operations/sec (+- %.2f%%), total secs = %d\n",
!silent ? "\n" : "", avg, rel_stddev_stats(stddev, avg),
- (int) runtime.tv_sec);
+ (int)bench__runtime.tv_sec);
}
int bench_futex_hash(int argc, const char **argv)
@@ -161,7 +161,7 @@ int bench_futex_hash(int argc, const char **argv)
threads_starting = nthreads;
pthread_attr_init(&thread_attr);
- gettimeofday(&start, NULL);
+ gettimeofday(&bench__start, NULL);
for (i = 0; i < nthreads; i++) {
worker[i].tid = i;
worker[i].futex = calloc(nfutexes, sizeof(*worker[i].futex));
@@ -204,7 +204,7 @@ int bench_futex_hash(int argc, const char **argv)
pthread_mutex_destroy(&thread_lock);
for (i = 0; i < nthreads; i++) {
- unsigned long t = worker[i].ops/runtime.tv_sec;
+ unsigned long t = worker[i].ops / bench__runtime.tv_sec;
update_stats(&throughput_stats, t);
if (!silent) {
if (nfutexes == 1)
diff --git a/tools/perf/bench/futex-lock-pi.c b/tools/perf/bench/futex-lock-pi.c
index d0cae8125423..30d97121dc4f 100644
--- a/tools/perf/bench/futex-lock-pi.c
+++ b/tools/perf/bench/futex-lock-pi.c
@@ -37,7 +37,6 @@ static bool silent = false, multi = false;
static bool done = false, fshared = false;
static unsigned int nthreads = 0;
static int futex_flag = 0;
-struct timeval start, end, runtime;
static pthread_mutex_t thread_lock;
static unsigned int threads_starting;
static struct stats throughput_stats;
@@ -64,7 +63,7 @@ static void print_summary(void)
printf("%sAveraged %ld operations/sec (+- %.2f%%), total secs = %d\n",
!silent ? "\n" : "", avg, rel_stddev_stats(stddev, avg),
- (int) runtime.tv_sec);
+ (int)bench__runtime.tv_sec);
}
static void toggle_done(int sig __maybe_unused,
@@ -73,8 +72,8 @@ static void toggle_done(int sig __maybe_unused,
{
/* inform all threads that we're done for the day */
done = true;
- gettimeofday(&end, NULL);
- timersub(&end, &start, &runtime);
+ gettimeofday(&bench__end, NULL);
+ timersub(&bench__end, &bench__start, &bench__runtime);
}
static void *workerfn(void *arg)
@@ -185,7 +184,7 @@ int bench_futex_lock_pi(int argc, const char **argv)
threads_starting = nthreads;
pthread_attr_init(&thread_attr);
- gettimeofday(&start, NULL);
+ gettimeofday(&bench__start, NULL);
create_threads(worker, thread_attr, cpu);
pthread_attr_destroy(&thread_attr);
@@ -211,7 +210,7 @@ int bench_futex_lock_pi(int argc, const char **argv)
pthread_mutex_destroy(&thread_lock);
for (i = 0; i < nthreads; i++) {
- unsigned long t = worker[i].ops/runtime.tv_sec;
+ unsigned long t = worker[i].ops / bench__runtime.tv_sec;
update_stats(&throughput_stats, t);
if (!silent)

View File

@ -0,0 +1,37 @@
From cff20b3151ccab690715cb6cf0f5da5cccb32adf Mon Sep 17 00:00:00 2001
From: Arnaldo Carvalho de Melo <acme@redhat.com>
Date: Mon, 2 Mar 2020 11:13:19 -0300
Subject: [PATCH] perf tests bp_account: Make global variable static
To fix the build with newer gccs, that without this patch exit with:
LD /tmp/build/perf/tests/perf-in.o
ld: /tmp/build/perf/tests/bp_account.o:/git/perf/tools/perf/tests/bp_account.c:22: multiple definition of `the_var'; /tmp/build/perf/tests/bp_signal.o:/git/perf/tools/perf/tests/bp_signal.c:38: first defined here
make[4]: *** [/git/perf/tools/build/Makefile.build:145: /tmp/build/perf/tests/perf-in.o] Error 1
First noticed in fedora:rawhide/32 with:
[perfbuilder@a5ff49d6e6e4 ~]$ gcc --version
gcc (GCC) 10.0.1 20200216 (Red Hat 10.0.1-0.8)
Reported-by: Jiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/tests/bp_account.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/tests/bp_account.c b/tools/perf/tests/bp_account.c
index d0b935356274..489b50604cf2 100644
--- a/tools/perf/tests/bp_account.c
+++ b/tools/perf/tests/bp_account.c
@@ -19,7 +19,7 @@
#include "../perf-sys.h"
#include "cloexec.h"
-volatile long the_var;
+static volatile long the_var;
static noinline int test_function(void)
{

View File

@ -0,0 +1,24 @@
From 2df5d26162b580a21489dd3e3157a9984c4c20e3 Mon Sep 17 00:00:00 2001
From: Jernej Skrabec <jernej.skrabec@siol.net>
Date: Mon, 22 Jun 2020 19:06:04 +0200
Subject: [PATCH] fix build with gcc 10
---
lib/SSEQPlayer/common.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/SSEQPlayer/common.h b/lib/SSEQPlayer/common.h
index 747000615dea..a447785668d0 100644
--- a/lib/SSEQPlayer/common.h
+++ b/lib/SSEQPlayer/common.h
@@ -14,6 +14,7 @@
#include <vector>
#include <cstring>
#include <cstdint>
+#include <stdexcept>
/*
* Pseudo-file data structure
--
2.27.0

View File

@ -18,6 +18,10 @@ PKG_LONGDESC="audiodecoder.timidity"
PKG_IS_ADDON="yes"
PKG_ADDON_TYPE="kodi.audiodecoder"
pre_configure_target() {
CFLAGS="$CFLAGS -fcommon"
}
addon() {
install_binary_addon $PKG_ADDON_ID

View File

@ -0,0 +1,24 @@
From 88aefc6c5b8f271872d4c99355f0a7d888596d73 Mon Sep 17 00:00:00 2001
From: Jernej Skrabec <jernej.skrabec@siol.net>
Date: Mon, 22 Jun 2020 19:13:57 +0200
Subject: [PATCH] Fix build with gcc 10
---
lib/in_wsr/ws_audio.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/in_wsr/ws_audio.h b/lib/in_wsr/ws_audio.h
index 11d80da0b6cc..2d3d661ca498 100644
--- a/lib/in_wsr/ws_audio.h
+++ b/lib/in_wsr/ws_audio.h
@@ -10,6 +10,6 @@ void ws_audio_port_write(BYTE port,BYTE value);
BYTE ws_audio_port_read(BYTE port);
void ws_audio_process(void);
void ws_audio_sounddma(void);
-int WaveAdrs;
+extern int WaveAdrs;
#endif
--
2.27.0

View File

@ -3,8 +3,8 @@
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="intel-vaapi-driver"
PKG_VERSION="2.4.0"
PKG_SHA256="58567dac882167021f031489062cbbab76bc646214be0ee44d5f724d960b3d76"
PKG_VERSION="2.4.1"
PKG_SHA256="03cd7e16acc94f828b6e7f3087863d8ca06e99ffa3385588005b1984bdd56157"
PKG_ARCH="x86_64"
PKG_LICENSE="GPL"
PKG_SITE="https://01.org/linuxmedia"

View File

@ -2,8 +2,8 @@
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="media-driver"
PKG_VERSION="19.4.0r"
PKG_SHA256="a03bd75eefe9cb0245e3aab2723b3fef555d9f180a180b2c29d7b12d483d9ec2"
PKG_VERSION="20.1.1"
PKG_SHA256="dbca37ba8383cd4d1f3e15fa906f03457ebdb5a118d2459d8f9cd477e0f3d4d4"
PKG_ARCH="x86_64"
PKG_LICENSE="MIT"
PKG_SITE="https://01.org/linuxmedia"

View File

@ -3,8 +3,8 @@
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libtirpc"
PKG_VERSION="1.1.4"
PKG_SHA256="2ca529f02292e10c158562295a1ffd95d2ce8af97820e3534fe1b0e3aec7561d"
PKG_VERSION="1.2.6"
PKG_SHA256="4278e9a5181d5af9cd7885322fdecebc444f9a3da87c526e7d47f7a12a37d1cc"
PKG_LICENSE="GPL"
PKG_SITE="https://sourceforge.net/projects/libtirpc/"
PKG_URL="https://downloads.sourceforge.net/project/libtirpc/libtirpc/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.bz2"

View File

@ -0,0 +1,124 @@
From a8ce860b4462fbb22634c34a5d30cd0d482acb22 Mon Sep 17 00:00:00 2001
From: Lee Duncan <lduncan@suse.com>
Date: Tue, 28 Jan 2020 16:36:56 -0800
Subject: [PATCH] Updates to support gcc -fno-common option.
This meant cleaning up the definition of some
global variables, so that they were only defined
in one place and refered to as external elsewhere.
---
include/iscsi_err.h | 6 ++++--
iscsiuio/configure | 2 +-
iscsiuio/configure.ac | 2 +-
iscsiuio/src/uip/uip.h | 4 ++--
usr/iscsi_err.c | 2 ++
usr/log.c | 1 +
usr/log.h | 2 +-
7 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/include/iscsi_err.h b/include/iscsi_err.h
index 125f443a2f25..a08f0fbfcea6 100644
--- a/include/iscsi_err.h
+++ b/include/iscsi_err.h
@@ -4,7 +4,7 @@
#ifndef _ISCSI_ERR_
#define _ISCSI_ERR_
-enum {
+enum iscsi_error_list {
ISCSI_SUCCESS = 0,
/* Generic error */
ISCSI_ERR = 1,
@@ -69,7 +69,9 @@ enum {
/* Always last. Indicates end of error code space */
ISCSI_MAX_ERR_VAL,
-} iscsi_err;
+};
+
+extern enum iscsi_error_list iscsi_err;
extern void iscsi_err_print_msg(int err);
extern char *iscsi_err_to_str(int err);
diff --git a/iscsiuio/configure b/iscsiuio/configure
index 2740598f5f87..e799c377b4ab 100755
--- a/iscsiuio/configure
+++ b/iscsiuio/configure
@@ -22729,7 +22729,7 @@ echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
done
done
;;
- default ) echo 'char *build_date = "'`date`'";' > src/unix/build_date.c && echo 'char *build_date;'> src/unix/build_date.h ;;
+ default ) echo 'char *build_date = "'`date`'";' > src/unix/build_date.c && echo 'extern char *build_date;'> src/unix/build_date.h ;;
esac
done
_ACEOF
diff --git a/iscsiuio/configure.ac b/iscsiuio/configure.ac
index e9a5e32399ea..f51687bf56b5 100644
--- a/iscsiuio/configure.ac
+++ b/iscsiuio/configure.ac
@@ -62,7 +62,7 @@ AC_ARG_ENABLE(debug,
fi])
AM_CONDITIONAL([DEBUG], [test x$debug = xtrue])
-AC_CONFIG_COMMANDS([default],[[ echo 'char *build_date = "'`date`'";' > src/unix/build_date.c && echo 'char *build_date;'> src/unix/build_date.h]],[[]])
+AC_CONFIG_COMMANDS([default],[[ echo 'char *build_date = "'`date`'";' > src/unix/build_date.c && echo 'extern char *build_date;'> src/unix/build_date.h]],[[]])
AC_PREFIX_DEFAULT()
diff --git a/iscsiuio/src/uip/uip.h b/iscsiuio/src/uip/uip.h
index 0225f6a456f5..d8e2220bf357 100644
--- a/iscsiuio/src/uip/uip.h
+++ b/iscsiuio/src/uip/uip.h
@@ -70,8 +70,8 @@ struct uip_stack;
typedef u16_t uip_ip4addr_t[2];
typedef u16_t uip_ip6addr_t[8];
-const uip_ip6addr_t all_zeroes_addr6;
-const uip_ip4addr_t all_zeroes_addr4;
+extern const uip_ip6addr_t all_zeroes_addr6;
+extern const uip_ip4addr_t all_zeroes_addr4;
#define ETH_BUF(buf) ((struct uip_eth_hdr *)buf)
#define VLAN_ETH_BUF(buf) ((struct uip_vlan_eth_hdr *)buf)
diff --git a/usr/iscsi_err.c b/usr/iscsi_err.c
index 4fe1c53adce0..6b6a4124458a 100644
--- a/usr/iscsi_err.c
+++ b/usr/iscsi_err.c
@@ -21,6 +21,8 @@
#include "iscsi_err.h"
#include "log.h"
+enum iscsi_error_list iscsi_err;
+
static char *iscsi_err_msgs[] = {
/* 0 */ "",
/* 1 */ "unknown error",
diff --git a/usr/log.c b/usr/log.c
index 26c61d847793..f7c542eeb191 100644
--- a/usr/log.c
+++ b/usr/log.c
@@ -33,6 +33,7 @@
char *log_name;
int log_level = 0;
+struct logarea *la = NULL;
static int log_stop_daemon = 0;
static void (*log_func)(int prio, void *priv, const char *fmt, va_list ap);
diff --git a/usr/log.h b/usr/log.h
index 486a08ea08b2..c548791e73a1 100644
--- a/usr/log.h
+++ b/usr/log.h
@@ -64,7 +64,7 @@ struct logarea {
union semun semarg;
};
-struct logarea *la;
+extern struct logarea *la;
extern int log_init(char *program_name, int size,
void (*func)(int prio, void *priv, const char *fmt, va_list ap),
--
2.27.0

View File

@ -0,0 +1,25 @@
From 61936357ef7d796c3f4fe95782309268be9e6a31 Mon Sep 17 00:00:00 2001
From: Jernej Skrabec <jernej.skrabec@siol.net>
Date: Sat, 20 Jun 2020 19:37:42 +0200
Subject: [PATCH] Fix attribute
---
include/iscsi_if.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/iscsi_if.h b/include/iscsi_if.h
index 20f2bc2961e9..6633bc528555 100644
--- a/include/iscsi_if.h
+++ b/include/iscsi_if.h
@@ -327,7 +327,7 @@ struct iscsi_iface_param_info {
uint8_t iface_type; /* IPv4 or IPv6 */
uint8_t param_type; /* iscsi_param_type */
uint8_t value[0]; /* length sized value follows */
-} __packed;
+} __attribute__((__packed__));
/*
* To keep the struct iscsi_uevent size the same for userspace code
--
2.27.0

View File

@ -4,8 +4,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="open-vm-tools"
PKG_VERSION="stable-11.0.5"
PKG_SHA256="f4300d8ccf665a3ff435476bc372a3f189a98c2b830730608d4286226802bd97"
PKG_VERSION="stable-11.1.0"
PKG_SHA256="5930448c65cf298e3dded2a3670750f4affaf3a631500a1774eeb4cfe0a32b80"
PKG_ARCH="x86_64"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/vmware/open-vm-tools"

View File

@ -0,0 +1,31 @@
From 9cbdf3a6e2cb23a7673fe19b2a3f888714095019 Mon Sep 17 00:00:00 2001
From: Oliver Kurth <okurth@vmware.com>
Date: Wed, 1 Apr 2020 11:31:36 -0700
Subject: [PATCH] Add a Coverity annotation.
The Coverity scan of open-vm-tools reports an out-of-bounds access
issue in Util_BacktraceWithFunc. This is intentional, to compute
the base pointer for a stack trace.
---
lib/user/utilBacktrace.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/user/utilBacktrace.c b/lib/user/utilBacktrace.c
index dca33d267..e1259606f 100644
--- a/lib/user/utilBacktrace.c
+++ b/lib/user/utilBacktrace.c
@@ -1,5 +1,5 @@
/*********************************************************
- * Copyright (C) 2013-2019 VMware, Inc. All rights reserved.
+ * Copyright (C) 2013-2020 VMware, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
@@ -438,6 +438,7 @@ Util_BacktraceWithFunc(int bugNr, // IN:
} else {
outFunc(outFuncData, "Backtrace for bugNr=%d\n",bugNr);
}
+ /* coverity[ptr_arith] */
UtilBacktraceFromPointerWithFunc(&x[-2], outFunc, outFuncData);
#endif
}

View File

@ -0,0 +1,23 @@
From bb11e038323893d2428eb2ce94f8742233b45546 Mon Sep 17 00:00:00 2001
From: Oliver Kurth <okurth@vmware.com>
Date: Wed, 10 Jun 2020 12:05:43 -0700
Subject: [PATCH] Changes to common source file not applicable to
open-vm-tools.
---
lib/user/utilBacktrace.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/user/utilBacktrace.c b/lib/user/utilBacktrace.c
index e1259606f..998713656 100644
--- a/lib/user/utilBacktrace.c
+++ b/lib/user/utilBacktrace.c
@@ -422,7 +422,7 @@ Util_BacktraceWithFunc(int bugNr, // IN:
for (i = 0; i < frames; i++) {
if (dladdr(callstack[i], &dli)) {
outFunc(outFuncData, "SymBacktrace[%d] rip=%016lx in function %s "
- "in object %s loaded at %#08x\n",
+ "in object %s loaded at %016lx\n",
i, callstack[i], dli.dli_sname, dli.dli_fname,
dli.dli_fbase);
} else {

View File

@ -0,0 +1,64 @@
From 0cfda58aaa8bc0fea56f1211897e7f2237f6070a Mon Sep 17 00:00:00 2001
From: Oliver Kurth <okurth@vmware.com>
Date: Wed, 10 Jun 2020 12:05:46 -0700
Subject: [PATCH] Make peeking back into the stack work for back traces
GCC 10 doesn't like peeking back before the end of an arrary (which
is used to peek into the stack). Fix this.
https://github.com/vmware/open-vm-tools/issues/429
---
lib/user/utilBacktrace.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/lib/user/utilBacktrace.c b/lib/user/utilBacktrace.c
index 998713656..d26d21e7d 100644
--- a/lib/user/utilBacktrace.c
+++ b/lib/user/utilBacktrace.c
@@ -343,7 +343,8 @@ UtilBacktraceFromPointerWithFunc(uintptr_t *basePtr, // IN:
i, x[0], x[1], dli.dli_sname, dli.dli_fname,
dli.dli_fbase);
} else {
- outFunc(outFuncData, "SymBacktrace[%d] %#08x eip %#08x \n", i, x[0], x[1]);
+ outFunc(outFuncData, "SymBacktrace[%d] %#08x eip %#08x \n", i, x[0],
+ x[1]);
}
x = (uintptr_t *) x[0];
}
@@ -394,6 +395,7 @@ Util_Backtrace(int bugNr) // IN
*-----------------------------------------------------------------------------
*/
+
void
Util_BacktraceWithFunc(int bugNr, // IN:
Util_OutputFunc outFunc, // IN:
@@ -413,7 +415,7 @@ Util_BacktraceWithFunc(int bugNr, // IN:
if (bugNr == 0) {
outFunc(outFuncData, "Backtrace:\n");
} else {
- outFunc(outFuncData, "Backtrace for bugNr=%d\n",bugNr);
+ outFunc(outFuncData, "Backtrace for bugNr=%d\n", bugNr);
}
frames = backtrace(callstack, ARRAYSIZE(callstack));
for (i = 0; i < frames; i++) {
@@ -431,14 +433,14 @@ Util_BacktraceWithFunc(int bugNr, // IN:
}
}
#else
- uintptr_t *x = (uintptr_t *) &bugNr;
-
if (bugNr == 0) {
outFunc(outFuncData, "Backtrace:\n");
} else {
- outFunc(outFuncData, "Backtrace for bugNr=%d\n",bugNr);
+ outFunc(outFuncData, "Backtrace for bugNr=%d\n", bugNr);
}
- /* coverity[ptr_arith] */
- UtilBacktraceFromPointerWithFunc(&x[-2], outFunc, outFuncData);
+
+ UtilBacktraceFromPointerWithFunc(__builtin_frame_address(0), outFunc,
+ outFuncData);
#endif
}
+

View File

@ -1,90 +0,0 @@
From 7ec4955072f3f93dd4b5821c9688bc524a089087 Mon Sep 17 00:00:00 2001
From: Oliver Kurth <okurth@vmware.com>
Date: Mon, 30 Sep 2019 16:24:27 -0700
Subject: [PATCH] GitHub Issue #367. Remove references to deprecated
G_INLINE_FUNC.
G_INLINE_FUNC was a work-around for compilers that didn't support
static inline. Change uses of it to static inline.
---
lib/include/vmware/tools/plugin.h | 2 +-
lib/include/vmware/tools/threadPool.h | 8 ++++----
lib/include/vmware/tools/utils.h | 9 ---------
3 files changed, 5 insertions(+), 14 deletions(-)
diff --git a/lib/include/vmware/tools/plugin.h b/lib/include/vmware/tools/plugin.h
index f9acc6a..deefd1f 100644
--- a/lib/include/vmware/tools/plugin.h
+++ b/lib/include/vmware/tools/plugin.h
@@ -290,7 +290,7 @@ typedef struct ToolsAppCtx {
*
* @return TRUE if COM is initialized when the function returns.
*/
-G_INLINE_FUNC gboolean
+static inline gboolean
ToolsCore_InitializeCOM(ToolsAppCtx *ctx)
{
if (!ctx->comInitialized) {
diff --git a/lib/include/vmware/tools/threadPool.h b/lib/include/vmware/tools/threadPool.h
index 3f2082b..5880fbc 100644
--- a/lib/include/vmware/tools/threadPool.h
+++ b/lib/include/vmware/tools/threadPool.h
@@ -91,7 +91,7 @@ typedef struct ToolsCorePool {
*******************************************************************************
*/
-G_INLINE_FUNC ToolsCorePool *
+static inline ToolsCorePool *
ToolsCorePool_GetPool(ToolsAppCtx *ctx)
{
ToolsCorePool *pool = NULL;
@@ -123,7 +123,7 @@ ToolsCorePool_GetPool(ToolsAppCtx *ctx)
*******************************************************************************
*/
-G_INLINE_FUNC guint
+static inline guint
ToolsCorePool_SubmitTask(ToolsAppCtx *ctx,
ToolsCorePoolCb cb,
gpointer data,
@@ -153,7 +153,7 @@ ToolsCorePool_SubmitTask(ToolsAppCtx *ctx,
*******************************************************************************
*/
-G_INLINE_FUNC void
+static inline void
ToolsCorePool_CancelTask(ToolsAppCtx *ctx,
guint taskId)
{
@@ -197,7 +197,7 @@ ToolsCorePool_CancelTask(ToolsAppCtx *ctx,
*******************************************************************************
*/
-G_INLINE_FUNC gboolean
+static inline gboolean
ToolsCorePool_StartThread(ToolsAppCtx *ctx,
const gchar *threadName,
ToolsCorePoolCb cb,
diff --git a/lib/include/vmware/tools/utils.h b/lib/include/vmware/tools/utils.h
index f657459..a3292d5 100644
--- a/lib/include/vmware/tools/utils.h
+++ b/lib/include/vmware/tools/utils.h
@@ -51,15 +51,6 @@
# include <sys/time.h>
#endif
-
-/* Work around a glib limitation: it doesn't set G_INLINE_FUNC on Win32. */
-#if defined(G_PLATFORM_WIN32)
-# if defined(G_INLINE_FUNC)
-# undef G_INLINE_FUNC
-# endif
-# define G_INLINE_FUNC static __inline
-#endif
-
#ifndef ABS
# define ABS(x) (((x) >= 0) ? (x) : -(x))
#endif
--
2.7.4

View File

@ -3,8 +3,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="dtc"
PKG_VERSION="1.5.1"
PKG_SHA256="c7a565ea4ea6d2b1fc866698940ee33a303bb6b59076167b0374f125ae2a8420"
PKG_VERSION="1.6.0"
PKG_SHA256="af720893485b02441f8812773484b286f969d1b8c98769d435a75c6ad524104b"
PKG_LICENSE="GPL"
PKG_SITE="https://git.kernel.org/pub/scm/utils/dtc/dtc.git/"
PKG_URL="https://git.kernel.org/pub/scm/utils/dtc/dtc.git/snapshot/$PKG_VERSION.tar.gz"

View File

@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="grub"
PKG_VERSION="2.04"
PKG_SHA256="a4a065f83d23e089a8086e7d0a3f86d914f884a9732a38c9a16ae2edb427fde1"
PKG_VERSION="6a34fdb76a07305b95e31659bc27b1d190101cbf"
PKG_SHA256="825328841e2e7e8654518808965afe19a421f6e272d946a5fe11bd90b8582f76"
PKG_ARCH="x86_64"
PKG_LICENSE="GPLv3"
PKG_SITE="https://www.gnu.org/software/grub/index.html"

View File

@ -0,0 +1,25 @@
From 1dddab35e61b9100b2cbcd3098596946c1c50b7a Mon Sep 17 00:00:00 2001
From: MilhouseVH <milhouseVH.github@nmacleod.com>
Date: Sun, 21 Jun 2020 10:40:52 +0100
Subject: [PATCH] Fix link failure with gcc 10
---
src/drmmode_display.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/drmmode_display.h b/src/drmmode_display.h
index 803ac3c..9c0f25a 100644
--- a/src/drmmode_display.h
+++ b/src/drmmode_display.h
@@ -289,7 +289,7 @@ Bool drmmode_wait_vblank(xf86CrtcPtr crtc, drmVBlankSeqType type,
uint64_t *ust, uint32_t *result_seq);
-miPointerSpriteFuncRec drmmode_sprite_funcs;
+extern miPointerSpriteFuncRec drmmode_sprite_funcs;
#endif
--
2.20.1

View File

@ -0,0 +1,33 @@
From f223035f4ffcff2a9296d1e907a5193f8e8845a3 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Tue, 4 Feb 2020 16:38:06 -0500
Subject: [PATCH] Fix link failure with gcc 10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Without the 'extern' this looks like a definition not just a
declaration, in every file that includes the header. gcc 10 is stricter
about this kind of multiple definition.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
---
src/drmmode_display.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/drmmode_display.h b/src/drmmode_display.h
index 96eaef0a..8cd8a0a6 100644
--- a/src/drmmode_display.h
+++ b/src/drmmode_display.h
@@ -262,7 +262,7 @@ Bool drmmode_wait_vblank(xf86CrtcPtr crtc, drmVBlankSeqType type,
uint64_t *ust, uint32_t *result_seq);
-miPointerSpriteFuncRec drmmode_sprite_funcs;
+extern miPointerSpriteFuncRec drmmode_sprite_funcs;
#endif
--
2.26.2