buildrootschalter/package/rpi-userland/rpi-userland-003-fix-musl-compile.patch
Maarten ter Huurne 7b36de16ea rpi-userland: bump revision and add patch to fix compile with musl
We can not bump to the latest cset, because it breaks weston. So we
add a patch to backport upstream fixes for musl:

  http://lists.busybox.net/pipermail/buildroot/2014-October/109309.html
  https://github.com/raspberrypi/userland/pull/201

[Thomas: adjust commit log as suggested by Yann E. Morin.]

Signed-off-by: Maarten ter Huurne <maarten@treewalker.org>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-19 16:29:33 +02:00

114 lines
4.7 KiB
Diff

From 198d93fab0659f7a548329d742de8b3e27cfd977 Mon Sep 17 00:00:00 2001
From: Maarten ter Huurne <maarten@treewalker.org>
Date: Fri, 12 Sep 2014 18:28:51 +0200
Subject: [PATCH] Combined musl compile fixes
The individual patches and their descriptions can be found here:
https://github.com/raspberrypi/userland/pull/201
Upstream status: accepted (4333d6d)
However, bumping to that revision is currently not an option since that
also pulls in 66338d3 which breaks Weston:
http://lists.busybox.net/pipermail/buildroot/2014-October/109309.html
Signed-off-by: Maarten ter Huurne <maarten@treewalker.org>
---
containers/CMakeLists.txt | 2 +-
host_applications/linux/apps/hello_pi/CMakeLists.txt | 2 +-
host_applications/linux/apps/hello_pi/libs/vgfont/Makefile | 1 -
interface/vcos/pthreads/vcos_platform.h | 3 ---
interface/vcos/pthreads/vcos_pthreads.c | 2 +-
interface/vmcs_host/linux/vcfilesys.c | 4 ++--
6 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/containers/CMakeLists.txt b/containers/CMakeLists.txt
index 721f74f..a29a885 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} -D__STDC_VERSION__=199901L )
+SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -std=c99 -D_POSIX_C_SOURCE=199309L )
SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -Wno-missing-field-initializers )
SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -Wno-unused-value )
diff --git a/host_applications/linux/apps/hello_pi/CMakeLists.txt b/host_applications/linux/apps/hello_pi/CMakeLists.txt
index ab4dae3..f2c6aef 100644
--- a/host_applications/linux/apps/hello_pi/CMakeLists.txt
+++ b/host_applications/linux/apps/hello_pi/CMakeLists.txt
@@ -24,7 +24,7 @@ add_subdirectory(hello_teapot)
if(BUILD_FONT)
set(VGFONT_SRCS libs/vgfont/font.c libs/vgfont/vgft.c libs/vgfont/graphics.c)
-set_source_files_properties(${VGFONT_SRCS} PROPERTIES COMPILE_DEFINITIONS "_HAVE_TIMER_T")
+set_source_files_properties(${VGFONT_SRCS} PROPERTIES COMPILE_DEFINITIONS)
add_library(vgfont ${VGFONT_SRCS})
add_subdirectory(hello_font)
diff --git a/host_applications/linux/apps/hello_pi/libs/vgfont/Makefile b/host_applications/linux/apps/hello_pi/libs/vgfont/Makefile
index d04fb08..1e2a22b 100755
--- a/host_applications/linux/apps/hello_pi/libs/vgfont/Makefile
+++ b/host_applications/linux/apps/hello_pi/libs/vgfont/Makefile
@@ -2,7 +2,6 @@ OBJS=font.o vgft.o graphics.o
LIB=libvgfont.a
INCLUDES+=-I$(SDKSTAGE)/usr/include/freetype2 -I$(SDKSTAGE)/usr/include -I$(SDKSTAGE)/usr/include/arm-linux-gnueabi
-CFLAGS+=-D_HAVE_TIMER_T
include ../../Makefile.include
diff --git a/interface/vcos/pthreads/vcos_platform.h b/interface/vcos/pthreads/vcos_platform.h
index 468098b..2095e25 100755
--- a/interface/vcos/pthreads/vcos_platform.h
+++ b/interface/vcos/pthreads/vcos_platform.h
@@ -120,9 +120,6 @@ typedef struct
#define VCOS_ONCE_INIT PTHREAD_ONCE_INIT
-#if defined(__arm__) && !defined(_HAVE_TIMER_T) && !defined(ANDROID)
-typedef __timer_t timer_t;
-#endif
typedef struct VCOS_TIMER_T
{
pthread_t thread; /**< id of the timer thread */
diff --git a/interface/vcos/pthreads/vcos_pthreads.c b/interface/vcos/pthreads/vcos_pthreads.c
index 668f647..fdc8bc4 100644
--- a/interface/vcos/pthreads/vcos_pthreads.c
+++ b/interface/vcos/pthreads/vcos_pthreads.c
@@ -33,7 +33,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <stdlib.h>
#include <stdio.h>
#include <sys/time.h>
-#include <sys/param.h>
+#include <linux/param.h>
/* Cygwin doesn't always have prctl.h and it doesn't have PR_SET_NAME */
#if defined( __linux__ )
diff --git a/interface/vmcs_host/linux/vcfilesys.c b/interface/vmcs_host/linux/vcfilesys.c
index ab65e3e..53c7486 100644
--- a/interface/vmcs_host/linux/vcfilesys.c
+++ b/interface/vmcs_host/linux/vcfilesys.c
@@ -49,7 +49,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <ctype.h>
#include <limits.h>
-#if !defined(ANDROID) && !defined( __USE_FILE_OFFSET64 )
+#if defined(__GLIBC__) && !defined( __USE_FILE_OFFSET64 )
#error "__USE_FILE_OFFSET64 isn't defined"
#endif
@@ -916,7 +916,7 @@ int vc_hostfs_set_attr(const char *path, fattributes_t attr)
if (pathbuf)
{
- __mode_t mode = 0;
+ mode_t mode = 0;
struct stat sb;
backslash_to_slash(pathbuf);
--
1.8.4.5