userland: Fix multiple inline issues while building with gcc 5.x

Building userland source with gcc 5.x causes multiple issues such as:

vcos_thread.h:186:15: warning: inline function 'vcos_thread_get_affinity' declared but never defined
|  VCOS_UNSIGNED vcos_thread_get_affinity(VCOS_THREAD_T *thread);

The following patches fixes these issues and allows building userland on the current
poky master branch.

Signed-off-by: Tom Doehring <toolmmy@googlemail.com>
This commit is contained in:
Tom Doehring 2015-09-27 15:34:14 +02:00 committed by Andrei Gherzan
parent c6f7ec52cf
commit 4dfa633d23
5 changed files with 70 additions and 39 deletions

View File

@ -1,35 +0,0 @@
From 12f7718bb0e08e2c06825c7ab7541b3c5bfe74c1 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 9 Aug 2015 08:55:05 -0700
Subject: [PATCH] Use newer POSIX macro
Define _POSIX_C_SOURCE such that it demands correct
posix interfaces, netdb.h declares interfaces such as
getaddrinfo if __USE_POSIX, i.e. POSIX.1:1990 or later.
However, these interfaces were new in the 2001 edition of POSIX
therefore ask for Extension from POSIX.1:2001 since we use addrinfo
structure here.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Submitted
containers/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/containers/CMakeLists.txt b/containers/CMakeLists.txt
index a29a885..5570038 100644
--- a/containers/CMakeLists.txt
+++ b/containers/CMakeLists.txt
@@ -13,7 +13,7 @@ add_definitions(-DDL_PATH_PREFIX="${VMCS_PLUGIN_DIR}/")
SET( GCC_COMPILER_FLAGS -Wall -g -O2 -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wcast-qual -Wwrite-strings -Wundef )
SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -Wextra )#-Wno-missing-field-initializers )
-SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -std=c99 -D_POSIX_C_SOURCE=199309L )
+SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -std=c99 -D_POSIX_C_SOURCE=200112L )
SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -Wno-missing-field-initializers )
SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -Wno-unused-value )
--
2.1.4

View File

@ -0,0 +1,26 @@
--- userland-fb11b39d97371c076eef7c85bbcab5733883a41e.orig/interface/vcos/vcos_types.h
+++ userland-fb11b39d97371c076eef7c85bbcab5733883a41e/interface/vcos/vcos_types.h
@@ -121,10 +121,10 @@
#if defined(NDEBUG)
#ifdef __GNUC__
-# define VCOS_INLINE_DECL extern __inline__
+# define VCOS_INLINE_DECL extern
# define VCOS_INLINE_IMPL static __inline__
#else
-# define VCOS_INLINE_DECL static _VCOS_INLINE /* declare a func */
+# define VCOS_INLINE_DECL extern
# define VCOS_INLINE_IMPL static _VCOS_INLINE /* implement a func inline */
#endif
--- userland-fb11b39d97371c076eef7c85bbcab5733883a41e.orig/interface/vcos/pthreads/vcos_platform_types.h
+++ userland-fb11b39d97371c076eef7c85bbcab5733883a41e/interface/vcos/pthreads/vcos_platform_types.h
@@ -61,7 +61,7 @@
#define VCOS_ASSERT_MSG(...) ((VCOS_ASSERT_LOGGING && !VCOS_ASSERT_LOGGING_DISABLE) ? vcos_pthreads_logging_assert(__FILE__, __func__, __LINE__, __VA_ARGS__) : (void)0)
#define VCOS_INLINE_BODIES
-#define VCOS_INLINE_DECL extern __inline__
+#define VCOS_INLINE_DECL extern
#define VCOS_INLINE_IMPL static __inline__
#ifdef __cplusplus

View File

@ -0,0 +1,22 @@
--- userland-d4aa617de3b196399bb8e2ce32e181768cb52179.orig/host_applications/linux/apps/raspicam/RaspiVidYUV.c
+++ userland-d4aa617de3b196399bb8e2ce32e181768cb52179/host_applications/linux/apps/raspicam/RaspiVidYUV.c
@@ -106,8 +106,6 @@
/// Run/record forever
#define WAIT_METHOD_FOREVER 4
-extern FILE *stderr, *stdout;
-
int mmal_status_to_int(MMAL_STATUS_T status);
static void signal_handler(int signal_number);
--- userland-d4aa617de3b196399bb8e2ce32e181768cb52179.orig/host_applications/linux/libs/debug_sym/debug_sym.c
+++ userland-d4aa617de3b196399bb8e2ce32e181768cb52179/host_applications/linux/libs/debug_sym/debug_sym.c
@@ -67,6 +67,8 @@
# else
# define PAGE_SIZE 4096
# endif
+#endif
+#ifndef PAGE_MASK
#define PAGE_MASK (~(PAGE_SIZE - 1))
#endif

View File

@ -0,0 +1,13 @@
diff --git a/host_applications/linux/apps/smem/smem.c b/host_applications/linux/apps/smem/smem.c
index f780b79..618580e 100644
--- a/host_applications/linux/apps/smem/smem.c
+++ b/host_applications/linux/apps/smem/smem.c
@@ -192,7 +192,7 @@ int main( int argc, char **argv )
int opt;
int opt_alloc = 0;
int opt_status = 0;
- uint32_t alloc_size;
+ uint32_t alloc_size = 0;
int opt_pid = -1;
VCSM_STATUS_T status_mode = VCSM_STATUS_NONE;

View File

@ -9,15 +9,20 @@ PR = "r5"
PROVIDES = "virtual/libgles2 \ PROVIDES = "virtual/libgles2 \
virtual/egl" virtual/egl"
COMPATIBLE_MACHINE = "raspberrypi" COMPATIBLE_MACHINE = "raspberrypi"
SRCBRANCH = "master" SRCBRANCH = "master"
SRCFORK = "raspberrypi" SRCFORK = "raspberrypi"
SRCREV = "c2f27fb8e581f8e5af83bf28422553ade8f7a7c8" SRCREV = "cc92dfd6c4e8e2d90c3903dccfe77f7274b8d1b7"
SRC_URI = "\
git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
file://0001-fix-gcc-5.x-inlines.patch \
file://0002-fix-musl-build.patch \
file://0003-fix-alloc-size-uninitialized.patch \
"
SRC_URI = "git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
file://0001-Use-newer-POSIX-macro.patch \
"
S = "${WORKDIR}/git" S = "${WORKDIR}/git"
inherit cmake inherit cmake