Compare commits
157 Commits
2016.05-rc1
...
2016.05
| Author | SHA1 | Date | |
|---|---|---|---|
| aa6fd11fee | |||
| 509ce3a6ec | |||
| 102c4a4bad | |||
| e032a29604 | |||
| 019b22f8fa | |||
| 515b276973 | |||
| ebb15bbd41 | |||
| 38bfd129c6 | |||
| 5c913c17b2 | |||
| 306878fa02 | |||
| a229c52aa4 | |||
| 49648d4b01 | |||
| 15b6f3ba63 | |||
| 89eeadfcfd | |||
| ef18eedce6 | |||
| 0a2d57596e | |||
| b385d13f1f | |||
| e4d55d3373 | |||
| 02302d2153 | |||
| 2ef21bc8d4 | |||
| 115e5ae9c9 | |||
| 33499484e4 | |||
| eb384c24fd | |||
| 2277395172 | |||
| 5468ce85d5 | |||
| 4d185e5ec5 | |||
| 03fef14fb8 | |||
| c12bd83a34 | |||
| ddc0df10ab | |||
| f4365df190 | |||
| 47aa250650 | |||
| bd8cbe16c4 | |||
| e6e549b9e4 | |||
| 4a1e4a5c7d | |||
| 6cb235a4de | |||
| 263cadeb45 | |||
| e1f14a7897 | |||
| 18ce12f0e1 | |||
| 86b0f0e685 | |||
| 60c5c96ae1 | |||
| b5630ad712 | |||
| e6f976b6d4 | |||
| 0b6b67f34d | |||
| 986893ac78 | |||
| d8e1244695 | |||
| 8fa6ee99f1 | |||
| 1e87d4908c | |||
| 14572af693 | |||
| ae2355a07f | |||
| da4264210f | |||
| 0dca644e44 | |||
| f9419d752d | |||
| ce46860c94 | |||
| b71bdd6856 | |||
| 8bf947e0ef | |||
| e07a982399 | |||
| 8fc3764110 | |||
| be8270d3e3 | |||
| 20b3ed7408 | |||
| 9d217aa4dd | |||
| 45eaede51b | |||
| 9b429a90fa | |||
| 953a85439c | |||
| 1370fcaeb7 | |||
| 956924faa4 | |||
| ce5f50fdd8 | |||
| cfed4be8ae | |||
| 9891e5cbfa | |||
| 4eed1ac0c4 | |||
| 518cb7ff03 | |||
| 5ebf628241 | |||
| 894262695a | |||
| d008913bb9 | |||
| 00680faa00 | |||
| ea3264fad0 | |||
| 7baf8e45e4 | |||
| 2474d556f8 | |||
| caf4caa49b | |||
| 794935068b | |||
| 925f0897fe | |||
| cefd7a7bbe | |||
| 4e58fe16b2 | |||
| 92bd1acb83 | |||
| 7561d7cf40 | |||
| 917fa2ca23 | |||
| 012e10bf62 | |||
| f53b54ad11 | |||
| 7f5a1b3a5c | |||
| 204590af0e | |||
| 2ce65b0300 | |||
| c1af722200 | |||
| 02c43157ab | |||
| 3d91c076ca | |||
| ed514e4736 | |||
| 75d9f74df6 | |||
| 5d6c0bcc34 | |||
| 671603fd2e | |||
| 46f9454ae1 | |||
| a23235ac89 | |||
| 2a4cc78bb7 | |||
| 3f3342a581 | |||
| 60cc46321d | |||
| f01f2cde09 | |||
| c5a153b668 | |||
| b7b9426ccc | |||
| 9acd598bcc | |||
| 0af371be3a | |||
| 7540fe0c50 | |||
| 911406d11b | |||
| 85ef34d35a | |||
| 2a59854aa7 | |||
| 08fe324b8b | |||
| c6b4a5fcc4 | |||
| 5787cf2516 | |||
| 814e99d21a | |||
| 3380da69c5 | |||
| 9194be9f3a | |||
| 247592ed00 | |||
| 0490a09fd7 | |||
| f0d995cafd | |||
| 9624685030 | |||
| 07144093d4 | |||
| 6e1174c268 | |||
| b5527d006b | |||
| 10a0715dd5 | |||
| 59679785e8 | |||
| f9d311edc6 | |||
| 3e7d9a73b9 | |||
| 3c87cc9e42 | |||
| 4ab21916e1 | |||
| 7d02cc629c | |||
| 65778b8700 | |||
| e0c8e18ed1 | |||
| 285f648658 | |||
| 7f338c69c6 | |||
| 84c700c8d9 | |||
| 0db34529f4 | |||
| 8389b62352 | |||
| b6b718ca4b | |||
| 7dfe8c19e9 | |||
| def633c4c5 | |||
| 781ce19d74 | |||
| 30706f9252 | |||
| cfac2c01c3 | |||
| 602c76cb8b | |||
| 71b9a17c6e | |||
| 156633ace8 | |||
| 5883703bcd | |||
| 71664e775c | |||
| 25ab35697e | |||
| 51ad7ed676 | |||
| b7e4eb68e0 | |||
| 27a82980e6 | |||
| 2e8e1d640f | |||
| cc72cf2ca6 | |||
| 7a9407a5fc | |||
| 718248385c |
@@ -1,3 +1,58 @@
|
||||
2016.05, Released May 31st, 2016
|
||||
|
||||
Minor fixes.
|
||||
|
||||
External toolchain: Fix for symlink handling when copying
|
||||
links to target.
|
||||
|
||||
Updated/fixed packages: gcc, grantlee, gst-ffmpeg,
|
||||
ipsec-tools, iptraf-ng, libcurl, libdrm, libsigsegv, ltris,
|
||||
lttng-babeltrace, mbedtls, mesa3d, moarvm, mplayer, mtools,
|
||||
net-tools, openpowerlink, pulseview, rpm, tinyalsa,
|
||||
xdriver_xf86-video-fbturbo, xserver_xorg-server
|
||||
|
||||
2016.05-rc3, Released May 26th, 2016
|
||||
|
||||
Fixes all over the tree.
|
||||
|
||||
Tweaks for SSP handling for external toolchains.
|
||||
|
||||
Updated/fixed packages: aircrack-ng, bluez5_utils, connman,
|
||||
cups, erlang-p1-stringprep, expat, ffmpeg, flann, flannel, go,
|
||||
gst1-libav, hidapi, hplip, iptraf-ng, jamvm, kodi,
|
||||
kodi-screensaver-matrixtrails, libcurl, libepoxy, libgpgme,
|
||||
libsemanage, libxslt, liquid-dsp, ltris, lxc, mesa3d, midori,
|
||||
mpg123, mtr, openpgm, openpowerlink, oprofile, php,
|
||||
postgresql, putty, python-service-identity, python-treq,
|
||||
qlibc, qt5serialbus, ruby, stress-ng, strongswan, time, tinc,
|
||||
ustr, valgrind, webkitgtk, libxml2, xorriso,
|
||||
xserver_xorg-server
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#8936: Aircrack-ng - Alot of missing dependencies
|
||||
|
||||
2016.05-rc2, Released May 17th, 2016
|
||||
|
||||
Fixes all over the tree.
|
||||
|
||||
Rootfs overlay handling now refuses to overwrite
|
||||
/{usr,bin,sbin,lib} symlinks from BR2_ROOTFS_MERGED_USR option
|
||||
even if these directories are present in the overlay.
|
||||
|
||||
External toolchain: Unbreak user provided libraries deployment
|
||||
(BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS) handling after refactoring.
|
||||
|
||||
QEMU coldfire: Fix for signal handling kernel issue, enable
|
||||
networking support.
|
||||
|
||||
Updated/fixed packages: android-tools, assimp, boost, gcc,
|
||||
glibc, glmark2, gmrender-resurrect, go, go-bootstrap, iputils,
|
||||
jack2, kodi-screensaver-asterwave, kodi-screensaver-rsxs,
|
||||
kodi-visualisation-shadertoy, libarchive, libinput, libpjsip,
|
||||
mali-t76x, mtr, nginx, opencv, openvpn, python-coherence,
|
||||
qt5multimeda, quagga, samba4, sg3-utils, stress-ng, turbolua
|
||||
|
||||
2016.05-rc1, Released May 10th, 2016
|
||||
|
||||
Fixes all over the tree and new features.
|
||||
|
||||
@@ -694,8 +694,8 @@ config BR2_COMPILER_PARANOID_UNSAFE_PATH
|
||||
unsafe paths are encountered.
|
||||
|
||||
Note that this mechanism is available for both the internal
|
||||
toolchain (through gcc and binutils patches) and external
|
||||
toolchain backends (through the external toolchain wrapper).
|
||||
toolchain (through the toolchain wrapper and binutils patches)
|
||||
and external toolchain backends (through the toolchain wrapper).
|
||||
|
||||
endmenu
|
||||
|
||||
|
||||
@@ -145,6 +145,17 @@ endif
|
||||
###############################################################################
|
||||
comment "Legacy options removed in 2016.05"
|
||||
|
||||
config BR2_PACKAGE_OPENVPN_CRYPTO_POLARSSL
|
||||
bool "openvpn polarssl crypto backend removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The OpenVPN polarssl crypto backend option has been removed.
|
||||
Version from 2.3.10 onwards need polarssl >= 1.3.8 but aren't
|
||||
compatible with mbedtls (polarssl) series 2.x which is the
|
||||
version provided in buildroot. And both can't coexist.
|
||||
It now uses OpenSSL as the only option.
|
||||
|
||||
|
||||
config BR2_PACKAGE_NGINX_HTTP_SPDY_MODULE
|
||||
bool "nginx http spdy module removed"
|
||||
select BR2_LEGACY
|
||||
|
||||
@@ -41,7 +41,7 @@ else # umask
|
||||
all:
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2016.05-rc1
|
||||
export BR2_VERSION := 2016.05
|
||||
|
||||
# Save running make version since it's clobbered by the make package
|
||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||
@@ -660,7 +660,7 @@ endif
|
||||
|
||||
@$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
|
||||
$(call MESSAGE,"Copying overlay $(d)"); \
|
||||
rsync -a --ignore-times $(RSYNC_VCS_EXCLUSIONS) \
|
||||
rsync -a --ignore-times --keep-dirlinks $(RSYNC_VCS_EXCLUSIONS) \
|
||||
--chmod=u=rwX,go=rX --exclude .empty --exclude '*~' \
|
||||
$(d)/ $(TARGET_DIR)$(sep))
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ Build all components:
|
||||
|
||||
You will find in ./output/images/ the following files:
|
||||
- imx6ul-14x14-evk.dtb
|
||||
- rootfs.ext2
|
||||
- rootfs.ext4
|
||||
- rootfs.tar
|
||||
- sdcard.img
|
||||
- u-boot.imx
|
||||
|
||||
@@ -29,7 +29,7 @@ Update uboot
|
||||
=> env default -f -a
|
||||
=> saveenv
|
||||
|
||||
- Run the DFU toocommand in U-Boot:
|
||||
- Run the DFU command in U-Boot:
|
||||
=> dfu 0 mmc 0
|
||||
|
||||
- Transfer U-Boot into flash by running this command in host side:
|
||||
@@ -42,7 +42,7 @@ Update uboot
|
||||
Update linux & rootfs
|
||||
=====================
|
||||
|
||||
Run the 'ums' command from the u6Boot prompt to mount the eMMC as mass
|
||||
Run the 'ums' command from the U-Boot prompt to mount the eMMC as mass
|
||||
storage and update zImage, device tree (imx6sl-warp.dtb) and rootfs
|
||||
file (rootfs.tar) :
|
||||
|
||||
|
||||
@@ -19,3 +19,10 @@ CONFIG_SERIAL_MCF_BAUDRATE=115200
|
||||
CONFIG_SERIAL_MCF_CONSOLE=y
|
||||
CONFIG_BOOTPARAM=y
|
||||
CONFIG_BOOTPARAM_STRING="console=ttyS0,115200"
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NET_VENDOR_FREESCALE=y
|
||||
CONFIG_FEC=y
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
From a95517992a37488c0bc8b629c47c570e580e407d Mon Sep 17 00:00:00 2001
|
||||
From: Greg Ungerer <gerg@uclinux.org>
|
||||
Date: Mon, 15 Feb 2016 16:36:29 +1000
|
||||
Subject: m68k: Use conventional function parameters for do_sigreturn
|
||||
|
||||
Create conventional stack parameters for the calls to do_sigreturn and
|
||||
do_rt_sigreturn. The current C code for do_sigreturn and do_rt_sigreturn
|
||||
dig into the stack to create local pointers to the saved switch stack
|
||||
and the pt_regs structs.
|
||||
|
||||
The motivation for this change is a problem with non-MMU targets that
|
||||
have broken signal return paths on newer versions of gcc. It appears as
|
||||
though gcc has determined that the pointers into the saved stack structs,
|
||||
and the saved structs themselves, are function parameters and updates to
|
||||
them will be lost on function return, so they are optimized away. This
|
||||
results in large parts of restore_sigcontext() and mangle_kernel_stack()
|
||||
functions being removed. Of course this results in non-functional code
|
||||
causing kernel oops. This problem has been observed with gcc version
|
||||
5.2 and 5.3, and probably exists in earlier versions as well.
|
||||
|
||||
Using conventional stack parameter pointers passed to these functions has
|
||||
the advantage of the code here not needing to know the exact details of
|
||||
how the underlying entry handler layed these structs out on the stack.
|
||||
So the rather ugly pointer setup casting and arg referencing can be
|
||||
removed.
|
||||
|
||||
The resulting code after this change is a few bytes larger (due to the
|
||||
overhead of creating the stack args and their tear down). Not being hot
|
||||
paths I don't think this is too much of a problem here.
|
||||
|
||||
An alternative solution is to put a barrier() in the do_sigreturn() code,
|
||||
but this doesn't feel quite as clean as this solution.
|
||||
|
||||
This change has been compile tested on all defconfigs, and run tested on
|
||||
Atari (through aranym), ColdFire with MMU (M5407EVB) and ColdFire with
|
||||
no-MMU (QEMU and M5208EVB).
|
||||
|
||||
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
|
||||
Acked-by: Andreas Schwab <schwab@linux-m68k.org>
|
||||
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
|
||||
---
|
||||
arch/m68k/kernel/entry.S | 6 ++++++
|
||||
arch/m68k/kernel/signal.c | 8 ++------
|
||||
2 files changed, 8 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/arch/m68k/kernel/entry.S b/arch/m68k/kernel/entry.S
|
||||
index b54ac7a..97cd3ea 100644
|
||||
--- a/arch/m68k/kernel/entry.S
|
||||
+++ b/arch/m68k/kernel/entry.S
|
||||
@@ -71,13 +71,19 @@ ENTRY(__sys_vfork)
|
||||
|
||||
ENTRY(sys_sigreturn)
|
||||
SAVE_SWITCH_STACK
|
||||
+ movel %sp,%sp@- | switch_stack pointer
|
||||
+ pea %sp@(SWITCH_STACK_SIZE+4) | pt_regs pointer
|
||||
jbsr do_sigreturn
|
||||
+ addql #8,%sp
|
||||
RESTORE_SWITCH_STACK
|
||||
rts
|
||||
|
||||
ENTRY(sys_rt_sigreturn)
|
||||
SAVE_SWITCH_STACK
|
||||
+ movel %sp,%sp@- | switch_stack pointer
|
||||
+ pea %sp@(SWITCH_STACK_SIZE+4) | pt_regs pointer
|
||||
jbsr do_rt_sigreturn
|
||||
+ addql #8,%sp
|
||||
RESTORE_SWITCH_STACK
|
||||
rts
|
||||
|
||||
diff --git a/arch/m68k/kernel/signal.c b/arch/m68k/kernel/signal.c
|
||||
index af1c4f3..2dcee3a 100644
|
||||
--- a/arch/m68k/kernel/signal.c
|
||||
+++ b/arch/m68k/kernel/signal.c
|
||||
@@ -737,10 +737,8 @@ badframe:
|
||||
return 1;
|
||||
}
|
||||
|
||||
-asmlinkage int do_sigreturn(unsigned long __unused)
|
||||
+asmlinkage int do_sigreturn(struct pt_regs *regs, struct switch_stack *sw)
|
||||
{
|
||||
- struct switch_stack *sw = (struct switch_stack *) &__unused;
|
||||
- struct pt_regs *regs = (struct pt_regs *) (sw + 1);
|
||||
unsigned long usp = rdusp();
|
||||
struct sigframe __user *frame = (struct sigframe __user *)(usp - 4);
|
||||
sigset_t set;
|
||||
@@ -764,10 +762,8 @@ badframe:
|
||||
return 0;
|
||||
}
|
||||
|
||||
-asmlinkage int do_rt_sigreturn(unsigned long __unused)
|
||||
+asmlinkage int do_rt_sigreturn(struct pt_regs *regs, struct switch_stack *sw)
|
||||
{
|
||||
- struct switch_stack *sw = (struct switch_stack *) &__unused;
|
||||
- struct pt_regs *regs = (struct pt_regs *) (sw + 1);
|
||||
unsigned long usp = rdusp();
|
||||
struct rt_sigframe __user *frame = (struct rt_sigframe __user *)(usp - 4);
|
||||
sigset_t set;
|
||||
--
|
||||
cgit v0.12
|
||||
|
||||
+7
-4
@@ -58,16 +58,17 @@ UBOOT_BIN = u-boot.imx
|
||||
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_SB),y)
|
||||
UBOOT_BIN = u-boot.sb
|
||||
UBOOT_MAKE_TARGET = $(UBOOT_BIN)
|
||||
UBOOT_DEPENDENCIES += host-elftosb
|
||||
# mxsimage needs OpenSSL
|
||||
UBOOT_DEPENDENCIES += host-elftosb host-openssl
|
||||
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_SD),y)
|
||||
# BootStream (.sb) is generated by U-Boot, we convert it to SD format
|
||||
UBOOT_BIN = u-boot.sd
|
||||
UBOOT_MAKE_TARGET = u-boot.sb
|
||||
UBOOT_DEPENDENCIES += host-elftosb
|
||||
UBOOT_DEPENDENCIES += host-elftosb host-openssl
|
||||
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND),y)
|
||||
UBOOT_BIN = u-boot.nand
|
||||
UBOOT_MAKE_TARGET = u-boot.sb
|
||||
UBOOT_DEPENDENCIES += host-elftosb
|
||||
UBOOT_DEPENDENCIES += host-elftosb host-openssl
|
||||
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_CUSTOM),y)
|
||||
UBOOT_BIN = $(call qstrip,$(BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME))
|
||||
else
|
||||
@@ -87,7 +88,9 @@ endif
|
||||
|
||||
UBOOT_MAKE_OPTS += \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
ARCH=$(UBOOT_ARCH)
|
||||
ARCH=$(UBOOT_ARCH) \
|
||||
HOSTCFLAGS="$(HOST_CFLAGS)" \
|
||||
HOSTLDFLAGS="$(HOST_LDFLAGS)"
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y)
|
||||
UBOOT_DEPENDENCIES += host-dtc
|
||||
|
||||
@@ -9,6 +9,8 @@ BR2_SYSTEM_DHCP="eth0"
|
||||
BR2_TARGET_ROOTFS_INITRAMFS=y
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
|
||||
BR2_GLOBAL_PATCH_DIR="board/qemu/m68k-mcf5208/patches/"
|
||||
|
||||
# Linux headers same as kernel, a 4.5 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_5=y
|
||||
|
||||
@@ -24,7 +26,5 @@ BR2_LINUX_KERNEL_VMLINUX=y
|
||||
BR2_TARGET_GENERIC_GETTY=y
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
|
||||
|
||||
# use minimal busybox with hush
|
||||
# use minimal busybox with hush and networking tools
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
|
||||
# mdev does not work correctly
|
||||
BR2_ROOTFS_DEVICE_CREATION_STATIC=y
|
||||
|
||||
@@ -9,6 +9,7 @@ BR2_LINUX_KERNEL_CUSTOM_GIT=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/Xilinx/linux-xlnx.git"
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="xilinx-v2015.1"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq"
|
||||
BR2_LINUX_KERNEL_UIMAGE=y
|
||||
BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="zynq-zed"
|
||||
|
||||
@@ -10,6 +10,7 @@ BR2_LINUX_KERNEL_CUSTOM_GIT=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/Xilinx/linux-xlnx.git"
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="xilinx-v2014.2.01"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq"
|
||||
BR2_LINUX_KERNEL_UIMAGE=y
|
||||
BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="zynq-zc706"
|
||||
|
||||
@@ -9,6 +9,7 @@ BR2_LINUX_KERNEL_CUSTOM_GIT=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/Xilinx/linux-xlnx.git"
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="xilinx-v2015.1"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq"
|
||||
BR2_LINUX_KERNEL_UIMAGE=y
|
||||
BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="zynq-zed"
|
||||
|
||||
@@ -44,7 +44,7 @@ this syntax, you will need to write:
|
||||
----
|
||||
/usr/bin/foo f 755 0 0 - - - - -
|
||||
/usr/bin/bar f 755 root root - - - - -
|
||||
/data/buz f buz-user buz-group - - - - -
|
||||
/data/buz f 644 buz-user buz-group - - - - -
|
||||
----
|
||||
|
||||
Alternatively, if you want to change owner/permission of a directory
|
||||
|
||||
+20
-20
@@ -8,74 +8,74 @@
|
||||
<div class="panel-heading">Download</div>
|
||||
<div class="panel-body">
|
||||
|
||||
<h3 style="text-align: center;">Latest stable release: <b>2016.02</b></h3>
|
||||
<h3 style="text-align: center;">Latest stable release: <b>2016.05</b></h3>
|
||||
|
||||
<div class="row mt centered">
|
||||
<div class="col-sm-6">
|
||||
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
<a href="/downloads/buildroot-2016.02.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2016.05.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
</div>
|
||||
<div class="back">
|
||||
<a href="/downloads/buildroot-2016.02.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2016.05.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<h3><a href="/downloads/buildroot-2016.02.tar.gz">buildroot-2016.02.tar.gz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2016.02.tar.gz.sign">PGP signature</a></p>
|
||||
<h3><a href="/downloads/buildroot-2016.05.tar.gz">buildroot-2016.05.tar.gz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2016.05.tar.gz.sign">PGP signature</a></p>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
<a href="/downloads/buildroot-2016.02.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2016.05.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
|
||||
</div>
|
||||
<div class="back">
|
||||
<a href="/downloads/buildroot-2016.02.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2016.05.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3><a href="/downloads/buildroot-2016.02.tar.bz2">buildroot-2016.02.tar.bz2</a></h3>
|
||||
<p><a href="/downloads/buildroot-2016.02.tar.bz2.sign">PGP signature</a></p>
|
||||
<h3><a href="/downloads/buildroot-2016.05.tar.bz2">buildroot-2016.05.tar.bz2</a></h3>
|
||||
<p><a href="/downloads/buildroot-2016.05.tar.bz2.sign">PGP signature</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3 style="text-align: center;">Latest release candidate: <b>2016.05-rc1</b></h3>
|
||||
<!--
|
||||
<h3 style="text-align: center;">Latest release candidate: <b>2016.05-rc3</b></h3>
|
||||
<div class="row mt centered">
|
||||
<div class="col-sm-6">
|
||||
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
<a href="/downloads/buildroot-2016.05-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2016.05-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
</div>
|
||||
<div class="back">
|
||||
<a href="/downloads/buildroot-2016.05-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2016.05-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3><a href="/downloads/buildroot-2016.05-rc1.tar.gz">buildroot-2016.05-rc1.tar.gz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2016.05-rc1.tar.gz.sign">PGP signature</a></p>
|
||||
<h3><a href="/downloads/buildroot-2016.05-rc3.tar.gz">buildroot-2016.05-rc3.tar.gz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2016.05-rc3.tar.gz.sign">PGP signature</a></p>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
<a href="/downloads/buildroot-2016.05-rc1.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2016.05-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
|
||||
</div>
|
||||
<div class="back">
|
||||
<a href="/downloads/buildroot-2016.05-rc1.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2016.05-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3><a href="/downloads/buildroot-2016.05-rc1.tar.bz2">buildroot-2016.05-rc1.tar.bz2</a></h3>
|
||||
<p><a href="/downloads/buildroot-2016.05-rc1.tar.bz2.sign">PGP signature</a></p>
|
||||
<h3><a href="/downloads/buildroot-2016.05-rc3.tar.bz2">buildroot-2016.05-rc3.tar.bz2</a></h3>
|
||||
<p><a href="/downloads/buildroot-2016.05-rc3.tar.bz2.sign">PGP signature</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
-->
|
||||
This and earlier releases (and their PGP signatures) can always be downloaded from
|
||||
<a href="/downloads/">http://buildroot.net/downloads/</a>.
|
||||
</div>
|
||||
|
||||
+64
-1
@@ -9,6 +9,68 @@
|
||||
<h2>News</h2>
|
||||
<ul class="timeline">
|
||||
|
||||
<li class="timeline-inverted">
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
<div class="timeline-heading">
|
||||
<h4 class="timeline-title">2016.05 released</h4>
|
||||
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>1 March 2016</small></p>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>The stable 2016.05 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.05">CHANGES</a>
|
||||
file for more details
|
||||
and go to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2016.05.tar.bz2">2016.05 release</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
<div class="timeline-heading">
|
||||
<h4 class="timeline-title">2016.05-rc3 released</h4>
|
||||
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>26 May 2016</small></p>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>Release candidate 3 is out with more cleanups and security
|
||||
/ build fixes. See
|
||||
the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.05-rc3">CHANGES</a>
|
||||
file for details.</p>
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to
|
||||
pick up
|
||||
the <a href="/downloads/buildroot-2016.05-rc3.tar.bz2">2016.05-rc3
|
||||
release candidate</a>, and report any problems found to
|
||||
the <a href="support.html">mailing list</a>
|
||||
or <a href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="timeline-inverted">
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
<div class="timeline-heading">
|
||||
<h4 class="timeline-title">2016.05-rc2 released</h4>
|
||||
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>17 May 2016</small></p>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>Another week, another release candidate with more cleanups
|
||||
and build fixes. See
|
||||
the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.05-rc2">CHANGES</a>
|
||||
file for details.</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2016.05-rc2.tar.bz2">2016.05-rc2
|
||||
release candidate</a>, and report any problems found to
|
||||
the <a href="support.html">mailing list</a>
|
||||
or <a href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
@@ -20,7 +82,8 @@
|
||||
<p>We have a new release candidate! Lots of
|
||||
changes all over the tree, see
|
||||
the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.05-rc1">CHANGES</a>
|
||||
file for details.
|
||||
file for details and read the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2016-May/160897.html">announcement</a>.
|
||||
</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
|
||||
+2
-2
@@ -27,7 +27,7 @@ choice
|
||||
prompt "Kernel version"
|
||||
|
||||
config BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
bool "Latest version (4.5.3)"
|
||||
bool "Latest version (4.5.4)"
|
||||
|
||||
config BR2_LINUX_KERNEL_CUSTOM_VERSION
|
||||
bool "Custom version"
|
||||
@@ -110,7 +110,7 @@ config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
|
||||
|
||||
config BR2_LINUX_KERNEL_VERSION
|
||||
string
|
||||
default "4.5.3" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default "4.5.4" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
|
||||
if BR2_LINUX_KERNEL_CUSTOM_VERSION
|
||||
default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
|
||||
|
||||
@@ -10,6 +10,9 @@ config BR2_PACKAGE_AIRCRACK_NG
|
||||
help
|
||||
A set of tools for auditing wireless networks
|
||||
|
||||
For complete functionality, also select ethtool, iw, rfkill,
|
||||
util-linux utilities, and wireless_tools.
|
||||
|
||||
http://www.aircrack-ng.org/
|
||||
|
||||
comment "aircrack-ng needs a toolchain w/ threads"
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
Fix build on big endian systems
|
||||
|
||||
The usb_linux_client.c file defines cpu_to_le16/32 by using the C
|
||||
library htole16/32 function calls. However, cpu_to_le16/32 are used
|
||||
when initializing structures, i.e in a context where a function call
|
||||
is not allowed.
|
||||
|
||||
It works fine on little endian systems because htole16/32 are defined
|
||||
by the C library as no-ops. But on big-endian systems, they are
|
||||
actually doing something, which might involve calling a function,
|
||||
causing build failures.
|
||||
|
||||
To solve this, we simply open-code cpu_to_le16/32 in a way that allows
|
||||
them to be used when initializing structures.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/core/adb/usb_linux_client.c
|
||||
===================================================================
|
||||
--- a/core/adb/usb_linux_client.c
|
||||
+++ b/core/adb/usb_linux_client.c
|
||||
@@ -34,8 +34,15 @@
|
||||
#define MAX_PACKET_SIZE_FS 64
|
||||
#define MAX_PACKET_SIZE_HS 512
|
||||
|
||||
-#define cpu_to_le16(x) htole16(x)
|
||||
-#define cpu_to_le32(x) htole32(x)
|
||||
+#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
+# define cpu_to_le16(x) (x)
|
||||
+# define cpu_to_le32(x) (x)
|
||||
+#else
|
||||
+# define cpu_to_le16(x) ((((x) >> 8) & 0xffu) | (((x) & 0xffu) << 8))
|
||||
+# define cpu_to_le32(x) \
|
||||
+ ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) | \
|
||||
+ (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24))
|
||||
+#endif
|
||||
|
||||
struct usb_handle
|
||||
{
|
||||
Index: b/core/adbd/usb_linux_client.c
|
||||
===================================================================
|
||||
--- a/core/adbd/usb_linux_client.c
|
||||
+++ b/core/adbd/usb_linux_client.c
|
||||
@@ -34,8 +34,15 @@
|
||||
#define MAX_PACKET_SIZE_FS 64
|
||||
#define MAX_PACKET_SIZE_HS 512
|
||||
|
||||
-#define cpu_to_le16(x) htole16(x)
|
||||
-#define cpu_to_le32(x) htole32(x)
|
||||
+#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
+# define cpu_to_le16(x) (x)
|
||||
+# define cpu_to_le32(x) (x)
|
||||
+#else
|
||||
+# define cpu_to_le16(x) ((((x) >> 8) & 0xffu) | (((x) & 0xffu) << 8))
|
||||
+# define cpu_to_le32(x) \
|
||||
+ ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) | \
|
||||
+ (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24))
|
||||
+#endif
|
||||
|
||||
struct usb_handle
|
||||
{
|
||||
@@ -0,0 +1,36 @@
|
||||
Fix static linking of adb/adbd
|
||||
|
||||
Both adb and adbd use OpenSSL, which indirectly uses zlib. Since
|
||||
adb/adbd also use zlib directly -lz is included in the linker flags,
|
||||
but not at the right position to ensure that static linking works: to
|
||||
make it possible for OpenSSL symbols to see zlib symbols, -lz must
|
||||
appear after -lcrypto.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/debian/makefiles/adb.mk
|
||||
===================================================================
|
||||
--- a/debian/makefiles/adb.mk
|
||||
+++ b/debian/makefiles/adb.mk
|
||||
@@ -41,7 +41,7 @@
|
||||
CPPFLAGS+= -I$(SRCDIR)/core/adb
|
||||
CPPFLAGS+= -I$(SRCDIR)/core/include
|
||||
|
||||
-LIBS+= -lc -lpthread -lz -lcrypto
|
||||
+LIBS+= -lc -lpthread -lcrypto -lz
|
||||
|
||||
OBJS= $(SRCS:.c=.o)
|
||||
|
||||
Index: b/debian/makefiles/adbd.mk
|
||||
===================================================================
|
||||
--- a/debian/makefiles/adbd.mk
|
||||
+++ b/debian/makefiles/adbd.mk
|
||||
@@ -44,7 +44,7 @@
|
||||
CPPFLAGS+= -I$(SRCDIR)/core/adbd
|
||||
CPPFLAGS+= -I$(SRCDIR)/core/include
|
||||
|
||||
-LIBS+= -lc -lpthread -lz -lcrypto -lcrypt
|
||||
+LIBS+= -lc -lpthread -lcrypto -lz -lcrypt
|
||||
|
||||
OBJS= $(patsubst %, %.o, $(basename $(SRCS)))
|
||||
|
||||
@@ -1,40 +1,60 @@
|
||||
config BR2_PACKAGE_ANDROID_TOOLS
|
||||
bool "android-tools"
|
||||
select BR2_PACKAGE_ANDROID_TOOLS_ADBD if \
|
||||
!BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT && \
|
||||
!BR2_PACKAGE_ANDROID_TOOLS_ADB
|
||||
help
|
||||
This package contains the fastboot and adb utilities, that
|
||||
can be used to interact with target devices using of these
|
||||
protocols.
|
||||
bool "android-tools"
|
||||
# Technically, fastboot could build on noMMU systems. But
|
||||
# since we need at least one of the three sub-options enabled,
|
||||
# and adb/adbd can't be built on noMMU systems, and fastboot
|
||||
# has some complicated dependencies, we simply make the whole
|
||||
# package not available on noMMU platforms.
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
select BR2_PACKAGE_ANDROID_TOOLS_ADBD if \
|
||||
!BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT && \
|
||||
!BR2_PACKAGE_ANDROID_TOOLS_ADB
|
||||
help
|
||||
This package contains the fastboot and adb utilities, that
|
||||
can be used to interact with target devices using of these
|
||||
protocols.
|
||||
|
||||
if BR2_PACKAGE_ANDROID_TOOLS
|
||||
|
||||
config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT
|
||||
bool "fastboot"
|
||||
select BR2_PACKAGE_LIBSELINUX
|
||||
select BR2_PACKAGE_ZLIB
|
||||
help
|
||||
This option will build and install the fastboot utility for
|
||||
the target, which can be used to reflash other target devices
|
||||
implementing the fastboot protocol.
|
||||
bool "fastboot"
|
||||
select BR2_PACKAGE_LIBSELINUX
|
||||
select BR2_PACKAGE_ZLIB
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # libselinux
|
||||
depends on !BR2_STATIC_LIBS # libselinux
|
||||
depends on !BR2_arc # libselinux
|
||||
help
|
||||
This option will build and install the fastboot utility for
|
||||
the target, which can be used to reflash other target devices
|
||||
implementing the fastboot protocol.
|
||||
|
||||
comment "fastboot needs a toolchain w/ threads, dynamic library"
|
||||
depends on !BR2_arc
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
|
||||
|
||||
config BR2_PACKAGE_ANDROID_TOOLS_ADB
|
||||
bool "adb"
|
||||
select BR2_PACKAGE_OPENSSL
|
||||
select BR2_PACKAGE_ZLIB
|
||||
help
|
||||
This option will build and install the adb utility for the
|
||||
target, which can be used to interact with other target
|
||||
devices implementing the ADB protocol.
|
||||
bool "adb"
|
||||
depends on BR2_USE_MMU # uses fork()
|
||||
select BR2_PACKAGE_OPENSSL
|
||||
select BR2_PACKAGE_ZLIB
|
||||
help
|
||||
This option will build and install the adb utility for the
|
||||
target, which can be used to interact with other target
|
||||
devices implementing the ADB protocol.
|
||||
|
||||
config BR2_PACKAGE_ANDROID_TOOLS_ADBD
|
||||
bool "adbd"
|
||||
select BR2_PACKAGE_OPENSSL
|
||||
select BR2_PACKAGE_ZLIB
|
||||
help
|
||||
This option will build and install the adbd utility for the
|
||||
target, which can be used to interact with a host machine
|
||||
implementing the ADB protocol.
|
||||
bool "adbd"
|
||||
depends on BR2_USE_MMU # uses fork()
|
||||
select BR2_PACKAGE_OPENSSL
|
||||
select BR2_PACKAGE_ZLIB
|
||||
help
|
||||
This option will build and install the adbd utility for the
|
||||
target, which can be used to interact with a host machine
|
||||
implementing the ADB protocol.
|
||||
|
||||
endif
|
||||
|
||||
comment "android-tools needs a toolchain w/ threads"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
config BR2_PACKAGE_HOST_ANDROID_TOOLS
|
||||
bool "host android-tools"
|
||||
select BR2_PACKAGE_ANDROID_TOOLS_ADB if \
|
||||
!BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT
|
||||
help
|
||||
This package contains the fastboot and adb utilities, that
|
||||
can be used to interact with target devices using of these
|
||||
protocols.
|
||||
bool "host android-tools"
|
||||
select BR2_PACKAGE_HOST_ANDROID_TOOLS_ADB if \
|
||||
!BR2_PACKAGE_HOST_ANDROID_TOOLS_FASTBOOT
|
||||
help
|
||||
This package contains the fastboot and adb utilities, that
|
||||
can be used to interact with target devices using of these
|
||||
protocols.
|
||||
|
||||
if BR2_PACKAGE_HOST_ANDROID_TOOLS
|
||||
|
||||
config BR2_PACKAGE_HOST_ANDROID_TOOLS_FASTBOOT
|
||||
bool "fastboot"
|
||||
help
|
||||
This option will build and install the fastboot utility for
|
||||
the host, which can be used to reflash target devices
|
||||
implementing the fastboot protocol.
|
||||
bool "fastboot"
|
||||
help
|
||||
This option will build and install the fastboot utility for
|
||||
the host, which can be used to reflash target devices
|
||||
implementing the fastboot protocol.
|
||||
|
||||
config BR2_PACKAGE_HOST_ANDROID_TOOLS_ADB
|
||||
bool "adb"
|
||||
help
|
||||
This option will build and install the adb utility for the
|
||||
host, which can be used to interact with target devices
|
||||
implementing the ADB protocol.
|
||||
bool "adb"
|
||||
help
|
||||
This option will build and install the adb utility for the
|
||||
host, which can be used to interact with target devices
|
||||
implementing the ADB protocol.
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
config BR2_PACKAGE_ASSIMP
|
||||
bool "assimp"
|
||||
# All gcc versions affected by
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71124, that
|
||||
# cause an infinite loop in gcc when building this package.
|
||||
depends on !BR2_microblaze
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
select BR2_PACKAGE_ZLIB
|
||||
help
|
||||
@@ -11,4 +15,5 @@ config BR2_PACKAGE_ASSIMP
|
||||
http://www.assimp.org
|
||||
|
||||
comment "assimp needs a toolchain w/ C++"
|
||||
depends on !BR2_microblaze
|
||||
depends on !BR2_INSTALL_LIBSTDCPP
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
From 7c136b4f1941e5bb2a6c8d93985c5734c6aefb29 Mon Sep 17 00:00:00 2001
|
||||
From: Bernd Kuhls <bernd.kuhls@writeme.com>
|
||||
Date: Sun, 22 May 2016 09:48:57 +0200
|
||||
Subject: [PATCH 1/1] tools/bneptest.c: Remove include linux/if_bridge.h to fix
|
||||
musl build
|
||||
|
||||
Inspired by busybox commit:
|
||||
https://git.busybox.net/busybox/commit/networking/brctl.c?id=5fa6d1a632505789409a2ba6cf8e112529f9db18
|
||||
|
||||
The build error was found by the autobuilders of the buildroot project:
|
||||
http://autobuild.buildroot.net/results/eba/ebaa0bcb9c325aa6ed0bbd6c7ec75d44befa7645/build-end.log
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@writeme.com>
|
||||
(Patch sent upstream:
|
||||
http://article.gmane.org/gmane.linux.bluez.kernel/67621)
|
||||
---
|
||||
tools/bneptest.c | 12 +++++++++++-
|
||||
1 file changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tools/bneptest.c b/tools/bneptest.c
|
||||
index 1404252..b832d72 100644
|
||||
--- a/tools/bneptest.c
|
||||
+++ b/tools/bneptest.c
|
||||
@@ -36,7 +36,17 @@
|
||||
#include <net/if.h>
|
||||
#include <linux/sockios.h>
|
||||
#include <netinet/in.h>
|
||||
-#include <linux/if_bridge.h>
|
||||
+/* #include <linux/if_bridge.h>
|
||||
+ * breaks on musl: we already included netinet/in.h,
|
||||
+ * if we also include <linux/if_bridge.h> here, we get this:
|
||||
+ * In file included from /usr/include/linux/if_bridge.h:18,
|
||||
+ * from networking/brctl.c:67:
|
||||
+ * /usr/include/linux/in6.h:32: error: redefinition of 'struct in6_addr'
|
||||
+ * /usr/include/linux/in6.h:49: error: redefinition of 'struct sockaddr_in6'
|
||||
+ * /usr/include/linux/in6.h:59: error: redefinition of 'struct ipv6_mreq'
|
||||
+ */
|
||||
+/* From <linux/if_bridge.h> */
|
||||
+#define BRCTL_SET_BRIDGE_FORWARD_DELAY 8
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
--
|
||||
2.8.1
|
||||
|
||||
@@ -12,9 +12,6 @@ BLUEZ5_UTILS_DEPENDENCIES = dbus libglib2
|
||||
BLUEZ5_UTILS_LICENSE = GPLv2+, LGPLv2.1+
|
||||
BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB
|
||||
|
||||
# 0001-Link-mcaptest-with-lrt.patch
|
||||
BLUEZ5_UTILS_AUTORECONF = YES
|
||||
|
||||
BLUEZ5_UTILS_CONF_OPTS = \
|
||||
--enable-tools \
|
||||
--enable-library \
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
Disable fenv.h in certain configurations
|
||||
|
||||
The boost build system does not properly test whether fenv.h is
|
||||
available, and if it is, if it supports all the features used by
|
||||
Boost. This causes build failures with uClibc (reported upstream at
|
||||
https://svn.boost.org/trac/boost/ticket/11756) but also with glibc on
|
||||
specific architectures that don't have a full fenv implementation,
|
||||
such as NIOSII or Microblaze.
|
||||
|
||||
To address this, we forcefully disable the use of fenv support in the
|
||||
affected configurations.
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
[Thomas: add Microblaze/NIOSII exclusions.]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/boost/config/platform/linux.hpp
|
||||
===================================================================
|
||||
--- a/boost/config/platform/linux.hpp
|
||||
+++ b/boost/config/platform/linux.hpp
|
||||
@@ -47,6 +47,16 @@
|
||||
#endif
|
||||
|
||||
//
|
||||
+// uClibc has no support for fenv.h, and also a few architectures
|
||||
+// don't have fenv.h support at all (or incomplete support) even with
|
||||
+// glibc.
|
||||
+
|
||||
+//
|
||||
+#if defined(__UCLIBC__) || defined(__nios2__) || defined(__microblaze__)
|
||||
+# define BOOST_NO_FENV_H
|
||||
+#endif
|
||||
+
|
||||
+//
|
||||
// If glibc is past version 2 then we definitely have
|
||||
// gettimeofday, earlier versions may or may not have it:
|
||||
//
|
||||
@@ -1,26 +0,0 @@
|
||||
Disable fenv.h support for uClibc-based toolchains.
|
||||
|
||||
The boost build system does not recognize the fact that fenv.h is an
|
||||
optional module in uClibc and tries to use it even if UCLIBC_HAS_FENV
|
||||
is disabled. This patch disables fenv support completely when compiling
|
||||
with a uClibc-based toolchain. Bug was reported upstream:
|
||||
https://svn.boost.org/trac/boost/ticket/11756
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
|
||||
--- boost_1_60_0.org/boost/config/platform/linux.hpp 2015-12-08 19:55:19.000000000 +0100
|
||||
+++ boost_1_60_0/boost/config/platform/linux.hpp 2016-02-06 12:35:25.692754553 +0100
|
||||
@@ -47,6 +47,13 @@
|
||||
#endif
|
||||
|
||||
//
|
||||
+// uClibc has no support for fenv.h
|
||||
+//
|
||||
+#if defined(__UCLIBC__)
|
||||
+# define BOOST_NO_FENV_H
|
||||
+#endif
|
||||
+
|
||||
+//
|
||||
// If glibc is past version 2 then we definitely have
|
||||
// gettimeofday, earlier versions may or may not have it:
|
||||
//
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Busybox version: 1.24.1
|
||||
# Sat Mar 12 15:36:27 2016
|
||||
# Busybox version: 1.24.2
|
||||
# Mon May 9 18:42:38 2016
|
||||
#
|
||||
CONFIG_HAVE_DOT_CONFIG=y
|
||||
|
||||
@@ -364,9 +364,9 @@ CONFIG_DEFAULT_SETFONT_DIR=""
|
||||
#
|
||||
# CONFIG_MKTEMP is not set
|
||||
# CONFIG_PIPE_PROGRESS is not set
|
||||
# CONFIG_RUN_PARTS is not set
|
||||
# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
|
||||
# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
|
||||
CONFIG_RUN_PARTS=y
|
||||
CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
|
||||
CONFIG_FEATURE_RUN_PARTS_FANCY=y
|
||||
CONFIG_START_STOP_DAEMON=y
|
||||
CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
|
||||
CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
|
||||
@@ -384,7 +384,7 @@ CONFIG_WHICH=y
|
||||
# CONFIG_FEATURE_DIFF_DIR is not set
|
||||
# CONFIG_ED is not set
|
||||
# CONFIG_PATCH is not set
|
||||
# CONFIG_SED is not set
|
||||
CONFIG_SED=y
|
||||
# CONFIG_VI is not set
|
||||
CONFIG_FEATURE_VI_MAX_LEN=0
|
||||
# CONFIG_FEATURE_VI_8BIT is not set
|
||||
@@ -759,14 +759,14 @@ CONFIG_FEATURE_BEEP_LENGTH_MS=0
|
||||
# CONFIG_NAMEIF is not set
|
||||
# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
|
||||
# CONFIG_NBDCLIENT is not set
|
||||
# CONFIG_NC is not set
|
||||
# CONFIG_NC_SERVER is not set
|
||||
CONFIG_NC=y
|
||||
CONFIG_NC_SERVER=y
|
||||
# CONFIG_NC_EXTRA is not set
|
||||
# CONFIG_NC_110_COMPAT is not set
|
||||
# CONFIG_PING is not set
|
||||
CONFIG_PING=y
|
||||
# CONFIG_PING6 is not set
|
||||
# CONFIG_FEATURE_FANCY_PING is not set
|
||||
# CONFIG_WGET is not set
|
||||
CONFIG_WGET=y
|
||||
# CONFIG_FEATURE_WGET_STATUSBAR is not set
|
||||
# CONFIG_FEATURE_WGET_AUTHENTICATION is not set
|
||||
# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set
|
||||
@@ -806,23 +806,23 @@ CONFIG_HOSTNAME=y
|
||||
# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
|
||||
# CONFIG_FEATURE_HTTPD_PROXY is not set
|
||||
# CONFIG_FEATURE_HTTPD_GZIP is not set
|
||||
# CONFIG_IFCONFIG is not set
|
||||
# CONFIG_FEATURE_IFCONFIG_STATUS is not set
|
||||
CONFIG_IFCONFIG=y
|
||||
CONFIG_FEATURE_IFCONFIG_STATUS=y
|
||||
# CONFIG_FEATURE_IFCONFIG_SLIP is not set
|
||||
# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
|
||||
# CONFIG_FEATURE_IFCONFIG_HW is not set
|
||||
# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
|
||||
CONFIG_FEATURE_IFCONFIG_HW=y
|
||||
CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
|
||||
# CONFIG_IFENSLAVE is not set
|
||||
# CONFIG_IFPLUGD is not set
|
||||
# CONFIG_IFUPDOWN is not set
|
||||
CONFIG_IFUPDOWN_IFSTATE_PATH=""
|
||||
# CONFIG_FEATURE_IFUPDOWN_IP is not set
|
||||
# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
|
||||
CONFIG_IFUPDOWN=y
|
||||
CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
|
||||
CONFIG_FEATURE_IFUPDOWN_IP=y
|
||||
CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
|
||||
# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
|
||||
# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
|
||||
CONFIG_FEATURE_IFUPDOWN_IPV4=y
|
||||
# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
|
||||
# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
|
||||
# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
|
||||
CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y
|
||||
# CONFIG_INETD is not set
|
||||
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
|
||||
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
|
||||
@@ -830,37 +830,37 @@ CONFIG_IFUPDOWN_IFSTATE_PATH=""
|
||||
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
|
||||
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
|
||||
# CONFIG_FEATURE_INETD_RPC is not set
|
||||
# CONFIG_IP is not set
|
||||
# CONFIG_FEATURE_IP_ADDRESS is not set
|
||||
# CONFIG_FEATURE_IP_LINK is not set
|
||||
# CONFIG_FEATURE_IP_ROUTE is not set
|
||||
CONFIG_FEATURE_IP_ROUTE_DIR=""
|
||||
CONFIG_IP=y
|
||||
CONFIG_FEATURE_IP_ADDRESS=y
|
||||
CONFIG_FEATURE_IP_LINK=y
|
||||
CONFIG_FEATURE_IP_ROUTE=y
|
||||
CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2"
|
||||
# CONFIG_FEATURE_IP_TUNNEL is not set
|
||||
# CONFIG_FEATURE_IP_RULE is not set
|
||||
# CONFIG_FEATURE_IP_SHORT_FORMS is not set
|
||||
CONFIG_FEATURE_IP_SHORT_FORMS=y
|
||||
# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
|
||||
# CONFIG_IPADDR is not set
|
||||
# CONFIG_IPLINK is not set
|
||||
# CONFIG_IPROUTE is not set
|
||||
CONFIG_IPADDR=y
|
||||
CONFIG_IPLINK=y
|
||||
CONFIG_IPROUTE=y
|
||||
# CONFIG_IPTUNNEL is not set
|
||||
# CONFIG_IPRULE is not set
|
||||
# CONFIG_IPCALC is not set
|
||||
# CONFIG_FEATURE_IPCALC_FANCY is not set
|
||||
# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
|
||||
# CONFIG_NETSTAT is not set
|
||||
CONFIG_NETSTAT=y
|
||||
# CONFIG_FEATURE_NETSTAT_WIDE is not set
|
||||
# CONFIG_FEATURE_NETSTAT_PRG is not set
|
||||
CONFIG_FEATURE_NETSTAT_PRG=y
|
||||
# CONFIG_NSLOOKUP is not set
|
||||
# CONFIG_NTPD is not set
|
||||
# CONFIG_FEATURE_NTPD_SERVER is not set
|
||||
# CONFIG_FEATURE_NTPD_CONF is not set
|
||||
# CONFIG_PSCAN is not set
|
||||
# CONFIG_ROUTE is not set
|
||||
CONFIG_ROUTE=y
|
||||
# CONFIG_SLATTACH is not set
|
||||
# CONFIG_TCPSVD is not set
|
||||
# CONFIG_TELNET is not set
|
||||
# CONFIG_FEATURE_TELNET_TTYPE is not set
|
||||
# CONFIG_FEATURE_TELNET_AUTOLOGIN is not set
|
||||
CONFIG_TELNET=y
|
||||
CONFIG_FEATURE_TELNET_TTYPE=y
|
||||
CONFIG_FEATURE_TELNET_AUTOLOGIN=y
|
||||
# CONFIG_TELNETD is not set
|
||||
# CONFIG_FEATURE_TELNETD_STANDALONE is not set
|
||||
# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
|
||||
@@ -885,16 +885,16 @@ CONFIG_FEATURE_IP_ROUTE_DIR=""
|
||||
# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
|
||||
# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
|
||||
CONFIG_DHCPD_LEASES_FILE=""
|
||||
# CONFIG_UDHCPC is not set
|
||||
CONFIG_UDHCPC=y
|
||||
# CONFIG_FEATURE_UDHCPC_ARPING is not set
|
||||
# CONFIG_FEATURE_UDHCPC_SANITIZEOPT is not set
|
||||
CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y
|
||||
# CONFIG_FEATURE_UDHCP_PORT is not set
|
||||
CONFIG_UDHCP_DEBUG=0
|
||||
CONFIG_UDHCP_DEBUG=9
|
||||
# CONFIG_FEATURE_UDHCP_RFC3397 is not set
|
||||
# CONFIG_FEATURE_UDHCP_8021Q is not set
|
||||
CONFIG_UDHCPC_DEFAULT_SCRIPT=""
|
||||
CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
|
||||
CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
|
||||
CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
|
||||
CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
|
||||
CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n"
|
||||
# CONFIG_UDPSVD is not set
|
||||
# CONFIG_VCONFIG is not set
|
||||
# CONFIG_ZCIP is not set
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
Use some preprocessor tricks to route around incompatibilies seen
|
||||
between newer Linux kernels and glibc when both net/if.h and linux/if.h
|
||||
are included in the same source.
|
||||
|
||||
Patch from gentoo, see https://bugs.gentoo.org/show_bug.cgi?id=577584
|
||||
|
||||
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
|
||||
--- connman-1.31/src/iptables.c.old 2016-03-22 20:12:47.829460752 -0700
|
||||
+++ connman-1.31/src/iptables.c 2016-03-22 21:33:36.835384724 -0700
|
||||
@@ -28,11 +28,11 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/errno.h>
|
||||
#include <sys/socket.h>
|
||||
-#include <xtables.h>
|
||||
+#include "connman_xtables.h"
|
||||
#include <inttypes.h>
|
||||
|
||||
#include <linux/netfilter_ipv4/ip_tables.h>
|
||||
|
||||
#include "connman.h"
|
||||
--- connman-1.31/src/firewall.c.old 2016-03-22 21:29:01.959472262 -0700
|
||||
+++ connman-1.31/src/firewall.c 2016-03-22 21:33:53.048144181 -0700
|
||||
@@ -23,11 +23,11 @@
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
-#include <xtables.h>
|
||||
+#include "connman_xtables.h"
|
||||
#include <linux/netfilter_ipv4/ip_tables.h>
|
||||
|
||||
#include "connman.h"
|
||||
|
||||
#define CHAIN_PREFIX "connman-"
|
||||
--- /dev/null 2016-03-18 06:21:16.372989086 -0700
|
||||
+++ connman-1.31/include/connman_xtables.h 2016-03-22 21:32:21.349504786 -0700
|
||||
@@ -0,0 +1,20 @@
|
||||
+#ifndef CONNMAN_XTABLES_H
|
||||
+#define CONNMAN_XTABLES_H
|
||||
+
|
||||
+#include <linux/version.h>
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 5, 0)
|
||||
+#include <xtables.h>
|
||||
+#else
|
||||
+#ifdef __USE_MISC
|
||||
+#define GENTOO_USE_MISC __USE_MISC
|
||||
+#undef __USE_MISC
|
||||
+#endif
|
||||
+
|
||||
+#include <xtables.h>
|
||||
+
|
||||
+#ifdef GENTOO_USE_MISC
|
||||
+#define __USE_MISC GENTOO_USE_MISC
|
||||
+#undef GENTOO_USE_MISC
|
||||
+#endif
|
||||
+#endif
|
||||
+#endif
|
||||
@@ -0,0 +1,21 @@
|
||||
Remove PIE flags from the build
|
||||
|
||||
Generating a statically linked binary built with PIE requires the
|
||||
Scrt1.o file, which isn't part of Buildroot uClibc toolchains. To
|
||||
solve this, we simply disable the PIE flags.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/Makedefs.in
|
||||
===================================================================
|
||||
--- a/Makedefs.in
|
||||
+++ b/Makedefs.in
|
||||
@@ -142,7 +142,7 @@
|
||||
IPPFIND_MAN = @IPPFIND_MAN@
|
||||
LDFLAGS = -L../cgi-bin -L../cups -L../filter -L../ppdc \
|
||||
-L../scheduler @LDARCHFLAGS@ \
|
||||
- @LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM)
|
||||
+ @LDFLAGS@ @RELROFLAGS@ $(OPTIM)
|
||||
LINKCUPS = @LINKCUPS@ $(LIBGSSAPI) $(DNSSDLIBS) $(LIBZ)
|
||||
LINKCUPSIMAGE = @LINKCUPSIMAGE@
|
||||
LIBS = $(LINKCUPS) $(COMMONLIBS)
|
||||
@@ -0,0 +1,28 @@
|
||||
From f5a2b8b78afb253630ee8833f16f131b3b52701e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Pawe=C5=82=20Chmielowski?= <pchmielowski@process-one.net>
|
||||
Date: Mon, 29 Feb 2016 10:56:32 +0100
|
||||
Subject: [PATCH] Stdint is required on windows
|
||||
|
||||
[Backport from upstream commit
|
||||
4fc5cae81122540fff983e40dda1fa905c329fd0, which happens to not only
|
||||
fix the build on Windows, but also with the musl C library.]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
c_src/stringprep.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/c_src/stringprep.cpp b/c_src/stringprep.cpp
|
||||
index 461cf09..26215cf 100644
|
||||
--- a/c_src/stringprep.cpp
|
||||
+++ b/c_src/stringprep.cpp
|
||||
@@ -19,6 +19,7 @@
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
+#include <stdint.h>
|
||||
#include <erl_nif.h>
|
||||
|
||||
#include "uni_data.c"
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -15,7 +15,7 @@ config BR2_PACKAGE_EUDEV
|
||||
eudev requires a Linux kernel >= 2.6.34: it relies on devtmpfs
|
||||
and inotify.
|
||||
|
||||
http://dev.gentoo.org/~blueness/eudev
|
||||
https://wiki.gentoo.org/wiki/Project:Eudev
|
||||
|
||||
if BR2_PACKAGE_EUDEV
|
||||
|
||||
|
||||
@@ -0,0 +1,757 @@
|
||||
From cdfcb1b5c95e93b00ae9e9d25708b4a3bee72c15 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Pipping <sebastian@pipping.org>
|
||||
Date: Mon, 2 May 2016 00:02:44 +0200
|
||||
Subject: [PATCH] Address CVE-2016-0718 (/patch/ version 2.2.1)
|
||||
|
||||
* Out of bounds memory access when doing text conversion on malformed input
|
||||
* Integer overflow related to memory allocation
|
||||
|
||||
Reported by Gustavo Grieco
|
||||
|
||||
Patch credits go to
|
||||
* Christian Heimes
|
||||
* Karl Waclawek
|
||||
* Gustavo Grieco
|
||||
* Sebastian Pipping
|
||||
* Pascal Cuoq
|
||||
|
||||
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
---
|
||||
lib/xmlparse.c | 34 +++++++++-----
|
||||
lib/xmltok.c | 115 +++++++++++++++++++++++++++++++++++-------------
|
||||
lib/xmltok.h | 10 ++++-
|
||||
lib/xmltok_impl.c | 62 +++++++++++++-------------
|
||||
4 files changed, 146 insertions(+), 75 deletions(-)
|
||||
|
||||
diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c
|
||||
index e308c79..13e080d 100644
|
||||
--- a/lib/xmlparse.c
|
||||
+++ b/lib/xmlparse.c
|
||||
@@ -2426,11 +2426,11 @@ doContent(XML_Parser parser,
|
||||
for (;;) {
|
||||
int bufSize;
|
||||
int convLen;
|
||||
- XmlConvert(enc,
|
||||
+ const enum XML_Convert_Result convert_res = XmlConvert(enc,
|
||||
&fromPtr, rawNameEnd,
|
||||
(ICHAR **)&toPtr, (ICHAR *)tag->bufEnd - 1);
|
||||
convLen = (int)(toPtr - (XML_Char *)tag->buf);
|
||||
- if (fromPtr == rawNameEnd) {
|
||||
+ if ((convert_res == XML_CONVERT_COMPLETED) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE)) {
|
||||
tag->name.strLen = convLen;
|
||||
break;
|
||||
}
|
||||
@@ -2651,11 +2651,11 @@ doContent(XML_Parser parser,
|
||||
if (MUST_CONVERT(enc, s)) {
|
||||
for (;;) {
|
||||
ICHAR *dataPtr = (ICHAR *)dataBuf;
|
||||
- XmlConvert(enc, &s, next, &dataPtr, (ICHAR *)dataBufEnd);
|
||||
+ const enum XML_Convert_Result convert_res = XmlConvert(enc, &s, next, &dataPtr, (ICHAR *)dataBufEnd);
|
||||
*eventEndPP = s;
|
||||
charDataHandler(handlerArg, dataBuf,
|
||||
(int)(dataPtr - (ICHAR *)dataBuf));
|
||||
- if (s == next)
|
||||
+ if ((convert_res == XML_CONVERT_COMPLETED) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE))
|
||||
break;
|
||||
*eventPP = s;
|
||||
}
|
||||
@@ -3261,11 +3261,11 @@ doCdataSection(XML_Parser parser,
|
||||
if (MUST_CONVERT(enc, s)) {
|
||||
for (;;) {
|
||||
ICHAR *dataPtr = (ICHAR *)dataBuf;
|
||||
- XmlConvert(enc, &s, next, &dataPtr, (ICHAR *)dataBufEnd);
|
||||
+ const enum XML_Convert_Result convert_res = XmlConvert(enc, &s, next, &dataPtr, (ICHAR *)dataBufEnd);
|
||||
*eventEndPP = next;
|
||||
charDataHandler(handlerArg, dataBuf,
|
||||
(int)(dataPtr - (ICHAR *)dataBuf));
|
||||
- if (s == next)
|
||||
+ if ((convert_res == XML_CONVERT_COMPLETED) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE))
|
||||
break;
|
||||
*eventPP = s;
|
||||
}
|
||||
@@ -5342,6 +5342,7 @@ reportDefault(XML_Parser parser, const ENCODING *enc,
|
||||
const char *s, const char *end)
|
||||
{
|
||||
if (MUST_CONVERT(enc, s)) {
|
||||
+ enum XML_Convert_Result convert_res;
|
||||
const char **eventPP;
|
||||
const char **eventEndPP;
|
||||
if (enc == encoding) {
|
||||
@@ -5354,11 +5355,11 @@ reportDefault(XML_Parser parser, const ENCODING *enc,
|
||||
}
|
||||
do {
|
||||
ICHAR *dataPtr = (ICHAR *)dataBuf;
|
||||
- XmlConvert(enc, &s, end, &dataPtr, (ICHAR *)dataBufEnd);
|
||||
+ convert_res = XmlConvert(enc, &s, end, &dataPtr, (ICHAR *)dataBufEnd);
|
||||
*eventEndPP = s;
|
||||
defaultHandler(handlerArg, dataBuf, (int)(dataPtr - (ICHAR *)dataBuf));
|
||||
*eventPP = s;
|
||||
- } while (s != end);
|
||||
+ } while ((convert_res != XML_CONVERT_COMPLETED) && (convert_res != XML_CONVERT_INPUT_INCOMPLETE));
|
||||
}
|
||||
else
|
||||
defaultHandler(handlerArg, (XML_Char *)s, (int)((XML_Char *)end - (XML_Char *)s));
|
||||
@@ -6163,8 +6164,8 @@ poolAppend(STRING_POOL *pool, const ENCODING *enc,
|
||||
if (!pool->ptr && !poolGrow(pool))
|
||||
return NULL;
|
||||
for (;;) {
|
||||
- XmlConvert(enc, &ptr, end, (ICHAR **)&(pool->ptr), (ICHAR *)pool->end);
|
||||
- if (ptr == end)
|
||||
+ const enum XML_Convert_Result convert_res = XmlConvert(enc, &ptr, end, (ICHAR **)&(pool->ptr), (ICHAR *)pool->end);
|
||||
+ if ((convert_res == XML_CONVERT_COMPLETED) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE))
|
||||
break;
|
||||
if (!poolGrow(pool))
|
||||
return NULL;
|
||||
@@ -6248,8 +6249,13 @@ poolGrow(STRING_POOL *pool)
|
||||
}
|
||||
}
|
||||
if (pool->blocks && pool->start == pool->blocks->s) {
|
||||
- int blockSize = (int)(pool->end - pool->start)*2;
|
||||
- BLOCK *temp = (BLOCK *)
|
||||
+ BLOCK *temp;
|
||||
+ int blockSize = (int)((unsigned)(pool->end - pool->start)*2U);
|
||||
+
|
||||
+ if (blockSize < 0)
|
||||
+ return XML_FALSE;
|
||||
+
|
||||
+ temp = (BLOCK *)
|
||||
pool->mem->realloc_fcn(pool->blocks,
|
||||
(offsetof(BLOCK, s)
|
||||
+ blockSize * sizeof(XML_Char)));
|
||||
@@ -6264,6 +6270,10 @@ poolGrow(STRING_POOL *pool)
|
||||
else {
|
||||
BLOCK *tem;
|
||||
int blockSize = (int)(pool->end - pool->start);
|
||||
+
|
||||
+ if (blockSize < 0)
|
||||
+ return XML_FALSE;
|
||||
+
|
||||
if (blockSize < INIT_BLOCK_SIZE)
|
||||
blockSize = INIT_BLOCK_SIZE;
|
||||
else
|
||||
diff --git a/expat/lib/xmltok.c b/expat/lib/xmltok.c
|
||||
index bf09dfc..cb98ce1 100644
|
||||
--- a/lib/xmltok.c
|
||||
+++ b/lib/xmltok.c
|
||||
@@ -318,39 +318,55 @@ enum { /* UTF8_cvalN is value of masked first byte of N byte sequence */
|
||||
UTF8_cval4 = 0xf0
|
||||
};
|
||||
|
||||
-static void PTRCALL
|
||||
+static enum XML_Convert_Result PTRCALL
|
||||
utf8_toUtf8(const ENCODING *enc,
|
||||
const char **fromP, const char *fromLim,
|
||||
char **toP, const char *toLim)
|
||||
{
|
||||
+ enum XML_Convert_Result res = XML_CONVERT_COMPLETED;
|
||||
char *to;
|
||||
const char *from;
|
||||
if (fromLim - *fromP > toLim - *toP) {
|
||||
/* Avoid copying partial characters. */
|
||||
+ res = XML_CONVERT_OUTPUT_EXHAUSTED;
|
||||
for (fromLim = *fromP + (toLim - *toP); fromLim > *fromP; fromLim--)
|
||||
if (((unsigned char)fromLim[-1] & 0xc0) != 0x80)
|
||||
break;
|
||||
}
|
||||
- for (to = *toP, from = *fromP; from != fromLim; from++, to++)
|
||||
+ for (to = *toP, from = *fromP; (from < fromLim) && (to < toLim); from++, to++)
|
||||
*to = *from;
|
||||
*fromP = from;
|
||||
*toP = to;
|
||||
+
|
||||
+ if ((to == toLim) && (from < fromLim))
|
||||
+ return XML_CONVERT_OUTPUT_EXHAUSTED;
|
||||
+ else
|
||||
+ return res;
|
||||
}
|
||||
|
||||
-static void PTRCALL
|
||||
+static enum XML_Convert_Result PTRCALL
|
||||
utf8_toUtf16(const ENCODING *enc,
|
||||
const char **fromP, const char *fromLim,
|
||||
unsigned short **toP, const unsigned short *toLim)
|
||||
{
|
||||
+ enum XML_Convert_Result res = XML_CONVERT_COMPLETED;
|
||||
unsigned short *to = *toP;
|
||||
const char *from = *fromP;
|
||||
- while (from != fromLim && to != toLim) {
|
||||
+ while (from < fromLim && to < toLim) {
|
||||
switch (((struct normal_encoding *)enc)->type[(unsigned char)*from]) {
|
||||
case BT_LEAD2:
|
||||
+ if (fromLim - from < 2) {
|
||||
+ res = XML_CONVERT_INPUT_INCOMPLETE;
|
||||
+ break;
|
||||
+ }
|
||||
*to++ = (unsigned short)(((from[0] & 0x1f) << 6) | (from[1] & 0x3f));
|
||||
from += 2;
|
||||
break;
|
||||
case BT_LEAD3:
|
||||
+ if (fromLim - from < 3) {
|
||||
+ res = XML_CONVERT_INPUT_INCOMPLETE;
|
||||
+ break;
|
||||
+ }
|
||||
*to++ = (unsigned short)(((from[0] & 0xf) << 12)
|
||||
| ((from[1] & 0x3f) << 6) | (from[2] & 0x3f));
|
||||
from += 3;
|
||||
@@ -358,8 +374,14 @@ utf8_toUtf16(const ENCODING *enc,
|
||||
case BT_LEAD4:
|
||||
{
|
||||
unsigned long n;
|
||||
- if (to + 1 == toLim)
|
||||
+ if (toLim - to < 2) {
|
||||
+ res = XML_CONVERT_OUTPUT_EXHAUSTED;
|
||||
goto after;
|
||||
+ }
|
||||
+ if (fromLim - from < 4) {
|
||||
+ res = XML_CONVERT_INPUT_INCOMPLETE;
|
||||
+ goto after;
|
||||
+ }
|
||||
n = ((from[0] & 0x7) << 18) | ((from[1] & 0x3f) << 12)
|
||||
| ((from[2] & 0x3f) << 6) | (from[3] & 0x3f);
|
||||
n -= 0x10000;
|
||||
@@ -377,6 +399,7 @@ utf8_toUtf16(const ENCODING *enc,
|
||||
after:
|
||||
*fromP = from;
|
||||
*toP = to;
|
||||
+ return res;
|
||||
}
|
||||
|
||||
#ifdef XML_NS
|
||||
@@ -425,7 +448,7 @@ static const struct normal_encoding internal_utf8_encoding = {
|
||||
STANDARD_VTABLE(sb_) NORMAL_VTABLE(utf8_)
|
||||
};
|
||||
|
||||
-static void PTRCALL
|
||||
+static enum XML_Convert_Result PTRCALL
|
||||
latin1_toUtf8(const ENCODING *enc,
|
||||
const char **fromP, const char *fromLim,
|
||||
char **toP, const char *toLim)
|
||||
@@ -433,30 +456,35 @@ latin1_toUtf8(const ENCODING *enc,
|
||||
for (;;) {
|
||||
unsigned char c;
|
||||
if (*fromP == fromLim)
|
||||
- break;
|
||||
+ return XML_CONVERT_COMPLETED;
|
||||
c = (unsigned char)**fromP;
|
||||
if (c & 0x80) {
|
||||
if (toLim - *toP < 2)
|
||||
- break;
|
||||
+ return XML_CONVERT_OUTPUT_EXHAUSTED;
|
||||
*(*toP)++ = (char)((c >> 6) | UTF8_cval2);
|
||||
*(*toP)++ = (char)((c & 0x3f) | 0x80);
|
||||
(*fromP)++;
|
||||
}
|
||||
else {
|
||||
if (*toP == toLim)
|
||||
- break;
|
||||
+ return XML_CONVERT_OUTPUT_EXHAUSTED;
|
||||
*(*toP)++ = *(*fromP)++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-static void PTRCALL
|
||||
+static enum XML_Convert_Result PTRCALL
|
||||
latin1_toUtf16(const ENCODING *enc,
|
||||
const char **fromP, const char *fromLim,
|
||||
unsigned short **toP, const unsigned short *toLim)
|
||||
{
|
||||
- while (*fromP != fromLim && *toP != toLim)
|
||||
+ while (*fromP < fromLim && *toP < toLim)
|
||||
*(*toP)++ = (unsigned char)*(*fromP)++;
|
||||
+
|
||||
+ if ((*toP == toLim) && (*fromP < fromLim))
|
||||
+ return XML_CONVERT_OUTPUT_EXHAUSTED;
|
||||
+ else
|
||||
+ return XML_CONVERT_COMPLETED;
|
||||
}
|
||||
|
||||
#ifdef XML_NS
|
||||
@@ -483,13 +511,18 @@ static const struct normal_encoding latin1_encoding = {
|
||||
STANDARD_VTABLE(sb_)
|
||||
};
|
||||
|
||||
-static void PTRCALL
|
||||
+static enum XML_Convert_Result PTRCALL
|
||||
ascii_toUtf8(const ENCODING *enc,
|
||||
const char **fromP, const char *fromLim,
|
||||
char **toP, const char *toLim)
|
||||
{
|
||||
- while (*fromP != fromLim && *toP != toLim)
|
||||
+ while (*fromP < fromLim && *toP < toLim)
|
||||
*(*toP)++ = *(*fromP)++;
|
||||
+
|
||||
+ if ((*toP == toLim) && (*fromP < fromLim))
|
||||
+ return XML_CONVERT_OUTPUT_EXHAUSTED;
|
||||
+ else
|
||||
+ return XML_CONVERT_COMPLETED;
|
||||
}
|
||||
|
||||
#ifdef XML_NS
|
||||
@@ -536,13 +569,14 @@ unicode_byte_type(char hi, char lo)
|
||||
}
|
||||
|
||||
#define DEFINE_UTF16_TO_UTF8(E) \
|
||||
-static void PTRCALL \
|
||||
+static enum XML_Convert_Result PTRCALL \
|
||||
E ## toUtf8(const ENCODING *enc, \
|
||||
const char **fromP, const char *fromLim, \
|
||||
char **toP, const char *toLim) \
|
||||
{ \
|
||||
- const char *from; \
|
||||
- for (from = *fromP; from != fromLim; from += 2) { \
|
||||
+ const char *from = *fromP; \
|
||||
+ fromLim = from + (((fromLim - from) >> 1) << 1); /* shrink to even */ \
|
||||
+ for (; from < fromLim; from += 2) { \
|
||||
int plane; \
|
||||
unsigned char lo2; \
|
||||
unsigned char lo = GET_LO(from); \
|
||||
@@ -552,7 +586,7 @@ E ## toUtf8(const ENCODING *enc, \
|
||||
if (lo < 0x80) { \
|
||||
if (*toP == toLim) { \
|
||||
*fromP = from; \
|
||||
- return; \
|
||||
+ return XML_CONVERT_OUTPUT_EXHAUSTED; \
|
||||
} \
|
||||
*(*toP)++ = lo; \
|
||||
break; \
|
||||
@@ -562,7 +596,7 @@ E ## toUtf8(const ENCODING *enc, \
|
||||
case 0x4: case 0x5: case 0x6: case 0x7: \
|
||||
if (toLim - *toP < 2) { \
|
||||
*fromP = from; \
|
||||
- return; \
|
||||
+ return XML_CONVERT_OUTPUT_EXHAUSTED; \
|
||||
} \
|
||||
*(*toP)++ = ((lo >> 6) | (hi << 2) | UTF8_cval2); \
|
||||
*(*toP)++ = ((lo & 0x3f) | 0x80); \
|
||||
@@ -570,7 +604,7 @@ E ## toUtf8(const ENCODING *enc, \
|
||||
default: \
|
||||
if (toLim - *toP < 3) { \
|
||||
*fromP = from; \
|
||||
- return; \
|
||||
+ return XML_CONVERT_OUTPUT_EXHAUSTED; \
|
||||
} \
|
||||
/* 16 bits divided 4, 6, 6 amongst 3 bytes */ \
|
||||
*(*toP)++ = ((hi >> 4) | UTF8_cval3); \
|
||||
@@ -580,7 +614,11 @@ E ## toUtf8(const ENCODING *enc, \
|
||||
case 0xD8: case 0xD9: case 0xDA: case 0xDB: \
|
||||
if (toLim - *toP < 4) { \
|
||||
*fromP = from; \
|
||||
- return; \
|
||||
+ return XML_CONVERT_OUTPUT_EXHAUSTED; \
|
||||
+ } \
|
||||
+ if (fromLim - from < 4) { \
|
||||
+ *fromP = from; \
|
||||
+ return XML_CONVERT_INPUT_INCOMPLETE; \
|
||||
} \
|
||||
plane = (((hi & 0x3) << 2) | ((lo >> 6) & 0x3)) + 1; \
|
||||
*(*toP)++ = ((plane >> 2) | UTF8_cval4); \
|
||||
@@ -596,20 +634,32 @@ E ## toUtf8(const ENCODING *enc, \
|
||||
} \
|
||||
} \
|
||||
*fromP = from; \
|
||||
+ if (from < fromLim) \
|
||||
+ return XML_CONVERT_INPUT_INCOMPLETE; \
|
||||
+ else \
|
||||
+ return XML_CONVERT_COMPLETED; \
|
||||
}
|
||||
|
||||
#define DEFINE_UTF16_TO_UTF16(E) \
|
||||
-static void PTRCALL \
|
||||
+static enum XML_Convert_Result PTRCALL \
|
||||
E ## toUtf16(const ENCODING *enc, \
|
||||
const char **fromP, const char *fromLim, \
|
||||
unsigned short **toP, const unsigned short *toLim) \
|
||||
{ \
|
||||
+ enum XML_Convert_Result res = XML_CONVERT_COMPLETED; \
|
||||
+ fromLim = *fromP + (((fromLim - *fromP) >> 1) << 1); /* shrink to even */ \
|
||||
/* Avoid copying first half only of surrogate */ \
|
||||
if (fromLim - *fromP > ((toLim - *toP) << 1) \
|
||||
- && (GET_HI(fromLim - 2) & 0xF8) == 0xD8) \
|
||||
+ && (GET_HI(fromLim - 2) & 0xF8) == 0xD8) { \
|
||||
fromLim -= 2; \
|
||||
- for (; *fromP != fromLim && *toP != toLim; *fromP += 2) \
|
||||
+ res = XML_CONVERT_INPUT_INCOMPLETE; \
|
||||
+ } \
|
||||
+ for (; *fromP < fromLim && *toP < toLim; *fromP += 2) \
|
||||
*(*toP)++ = (GET_HI(*fromP) << 8) | GET_LO(*fromP); \
|
||||
+ if ((*toP == toLim) && (*fromP < fromLim)) \
|
||||
+ return XML_CONVERT_OUTPUT_EXHAUSTED; \
|
||||
+ else \
|
||||
+ return res; \
|
||||
}
|
||||
|
||||
#define SET2(ptr, ch) \
|
||||
@@ -1288,7 +1338,7 @@ unknown_isInvalid(const ENCODING *enc, const char *p)
|
||||
return (c & ~0xFFFF) || checkCharRefNumber(c) < 0;
|
||||
}
|
||||
|
||||
-static void PTRCALL
|
||||
+static enum XML_Convert_Result PTRCALL
|
||||
unknown_toUtf8(const ENCODING *enc,
|
||||
const char **fromP, const char *fromLim,
|
||||
char **toP, const char *toLim)
|
||||
@@ -1299,21 +1349,21 @@ unknown_toUtf8(const ENCODING *enc,
|
||||
const char *utf8;
|
||||
int n;
|
||||
if (*fromP == fromLim)
|
||||
- break;
|
||||
+ return XML_CONVERT_COMPLETED;
|
||||
utf8 = uenc->utf8[(unsigned char)**fromP];
|
||||
n = *utf8++;
|
||||
if (n == 0) {
|
||||
int c = uenc->convert(uenc->userData, *fromP);
|
||||
n = XmlUtf8Encode(c, buf);
|
||||
if (n > toLim - *toP)
|
||||
- break;
|
||||
+ return XML_CONVERT_OUTPUT_EXHAUSTED;
|
||||
utf8 = buf;
|
||||
*fromP += (AS_NORMAL_ENCODING(enc)->type[(unsigned char)**fromP]
|
||||
- (BT_LEAD2 - 2));
|
||||
}
|
||||
else {
|
||||
if (n > toLim - *toP)
|
||||
- break;
|
||||
+ return XML_CONVERT_OUTPUT_EXHAUSTED;
|
||||
(*fromP)++;
|
||||
}
|
||||
do {
|
||||
@@ -1322,13 +1372,13 @@ unknown_toUtf8(const ENCODING *enc,
|
||||
}
|
||||
}
|
||||
|
||||
-static void PTRCALL
|
||||
+static enum XML_Convert_Result PTRCALL
|
||||
unknown_toUtf16(const ENCODING *enc,
|
||||
const char **fromP, const char *fromLim,
|
||||
unsigned short **toP, const unsigned short *toLim)
|
||||
{
|
||||
const struct unknown_encoding *uenc = AS_UNKNOWN_ENCODING(enc);
|
||||
- while (*fromP != fromLim && *toP != toLim) {
|
||||
+ while (*fromP < fromLim && *toP < toLim) {
|
||||
unsigned short c = uenc->utf16[(unsigned char)**fromP];
|
||||
if (c == 0) {
|
||||
c = (unsigned short)
|
||||
@@ -1340,6 +1390,11 @@ unknown_toUtf16(const ENCODING *enc,
|
||||
(*fromP)++;
|
||||
*(*toP)++ = c;
|
||||
}
|
||||
+
|
||||
+ if ((*toP == toLim) && (*fromP < fromLim))
|
||||
+ return XML_CONVERT_OUTPUT_EXHAUSTED;
|
||||
+ else
|
||||
+ return XML_CONVERT_COMPLETED;
|
||||
}
|
||||
|
||||
ENCODING *
|
||||
@@ -1503,7 +1558,7 @@ initScan(const ENCODING * const *encodingTable,
|
||||
{
|
||||
const ENCODING **encPtr;
|
||||
|
||||
- if (ptr == end)
|
||||
+ if (ptr >= end)
|
||||
return XML_TOK_NONE;
|
||||
encPtr = enc->encPtr;
|
||||
if (ptr + 1 == end) {
|
||||
diff --git a/expat/lib/xmltok.h b/expat/lib/xmltok.h
|
||||
index ca867aa..752007e 100644
|
||||
--- a/lib/xmltok.h
|
||||
+++ b/lib/xmltok.h
|
||||
@@ -130,6 +130,12 @@ typedef int (PTRCALL *SCANNER)(const ENCODING *,
|
||||
const char *,
|
||||
const char **);
|
||||
|
||||
+enum XML_Convert_Result {
|
||||
+ XML_CONVERT_COMPLETED = 0,
|
||||
+ XML_CONVERT_INPUT_INCOMPLETE = 1,
|
||||
+ XML_CONVERT_OUTPUT_EXHAUSTED = 2 /* and therefore potentially input remaining as well */
|
||||
+};
|
||||
+
|
||||
struct encoding {
|
||||
SCANNER scanners[XML_N_STATES];
|
||||
SCANNER literalScanners[XML_N_LITERAL_TYPES];
|
||||
@@ -158,12 +164,12 @@ struct encoding {
|
||||
const char *ptr,
|
||||
const char *end,
|
||||
const char **badPtr);
|
||||
- void (PTRCALL *utf8Convert)(const ENCODING *enc,
|
||||
+ enum XML_Convert_Result (PTRCALL *utf8Convert)(const ENCODING *enc,
|
||||
const char **fromP,
|
||||
const char *fromLim,
|
||||
char **toP,
|
||||
const char *toLim);
|
||||
- void (PTRCALL *utf16Convert)(const ENCODING *enc,
|
||||
+ enum XML_Convert_Result (PTRCALL *utf16Convert)(const ENCODING *enc,
|
||||
const char **fromP,
|
||||
const char *fromLim,
|
||||
unsigned short **toP,
|
||||
diff --git a/expat/lib/xmltok_impl.c b/expat/lib/xmltok_impl.c
|
||||
index 9c2895b..6c5a3ba 100644
|
||||
--- a/lib/xmltok_impl.c
|
||||
+++ b/lib/xmltok_impl.c
|
||||
@@ -93,13 +93,13 @@ static int PTRCALL
|
||||
PREFIX(scanComment)(const ENCODING *enc, const char *ptr,
|
||||
const char *end, const char **nextTokPtr)
|
||||
{
|
||||
- if (ptr != end) {
|
||||
+ if (ptr < end) {
|
||||
if (!CHAR_MATCHES(enc, ptr, ASCII_MINUS)) {
|
||||
*nextTokPtr = ptr;
|
||||
return XML_TOK_INVALID;
|
||||
}
|
||||
ptr += MINBPC(enc);
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
INVALID_CASES(ptr, nextTokPtr)
|
||||
case BT_MINUS:
|
||||
@@ -147,7 +147,7 @@ PREFIX(scanDecl)(const ENCODING *enc, const char *ptr,
|
||||
*nextTokPtr = ptr;
|
||||
return XML_TOK_INVALID;
|
||||
}
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
case BT_PERCNT:
|
||||
if (ptr + MINBPC(enc) == end)
|
||||
@@ -233,7 +233,7 @@ PREFIX(scanPi)(const ENCODING *enc, const char *ptr,
|
||||
*nextTokPtr = ptr;
|
||||
return XML_TOK_INVALID;
|
||||
}
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
|
||||
case BT_S: case BT_CR: case BT_LF:
|
||||
@@ -242,7 +242,7 @@ PREFIX(scanPi)(const ENCODING *enc, const char *ptr,
|
||||
return XML_TOK_INVALID;
|
||||
}
|
||||
ptr += MINBPC(enc);
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
INVALID_CASES(ptr, nextTokPtr)
|
||||
case BT_QUEST:
|
||||
@@ -305,7 +305,7 @@ static int PTRCALL
|
||||
PREFIX(cdataSectionTok)(const ENCODING *enc, const char *ptr,
|
||||
const char *end, const char **nextTokPtr)
|
||||
{
|
||||
- if (ptr == end)
|
||||
+ if (ptr >= end)
|
||||
return XML_TOK_NONE;
|
||||
if (MINBPC(enc) > 1) {
|
||||
size_t n = end - ptr;
|
||||
@@ -348,7 +348,7 @@ PREFIX(cdataSectionTok)(const ENCODING *enc, const char *ptr,
|
||||
ptr += MINBPC(enc);
|
||||
break;
|
||||
}
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
#define LEAD_CASE(n) \
|
||||
case BT_LEAD ## n: \
|
||||
@@ -391,11 +391,11 @@ PREFIX(scanEndTag)(const ENCODING *enc, const char *ptr,
|
||||
*nextTokPtr = ptr;
|
||||
return XML_TOK_INVALID;
|
||||
}
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
|
||||
case BT_S: case BT_CR: case BT_LF:
|
||||
- for (ptr += MINBPC(enc); ptr != end; ptr += MINBPC(enc)) {
|
||||
+ for (ptr += MINBPC(enc); ptr < end; ptr += MINBPC(enc)) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
case BT_S: case BT_CR: case BT_LF:
|
||||
break;
|
||||
@@ -432,7 +432,7 @@ static int PTRCALL
|
||||
PREFIX(scanHexCharRef)(const ENCODING *enc, const char *ptr,
|
||||
const char *end, const char **nextTokPtr)
|
||||
{
|
||||
- if (ptr != end) {
|
||||
+ if (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
case BT_DIGIT:
|
||||
case BT_HEX:
|
||||
@@ -441,7 +441,7 @@ PREFIX(scanHexCharRef)(const ENCODING *enc, const char *ptr,
|
||||
*nextTokPtr = ptr;
|
||||
return XML_TOK_INVALID;
|
||||
}
|
||||
- for (ptr += MINBPC(enc); ptr != end; ptr += MINBPC(enc)) {
|
||||
+ for (ptr += MINBPC(enc); ptr < end; ptr += MINBPC(enc)) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
case BT_DIGIT:
|
||||
case BT_HEX:
|
||||
@@ -464,7 +464,7 @@ static int PTRCALL
|
||||
PREFIX(scanCharRef)(const ENCODING *enc, const char *ptr,
|
||||
const char *end, const char **nextTokPtr)
|
||||
{
|
||||
- if (ptr != end) {
|
||||
+ if (ptr < end) {
|
||||
if (CHAR_MATCHES(enc, ptr, ASCII_x))
|
||||
return PREFIX(scanHexCharRef)(enc, ptr + MINBPC(enc), end, nextTokPtr);
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
@@ -474,7 +474,7 @@ PREFIX(scanCharRef)(const ENCODING *enc, const char *ptr,
|
||||
*nextTokPtr = ptr;
|
||||
return XML_TOK_INVALID;
|
||||
}
|
||||
- for (ptr += MINBPC(enc); ptr != end; ptr += MINBPC(enc)) {
|
||||
+ for (ptr += MINBPC(enc); ptr < end; ptr += MINBPC(enc)) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
case BT_DIGIT:
|
||||
break;
|
||||
@@ -506,7 +506,7 @@ PREFIX(scanRef)(const ENCODING *enc, const char *ptr, const char *end,
|
||||
*nextTokPtr = ptr;
|
||||
return XML_TOK_INVALID;
|
||||
}
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
|
||||
case BT_SEMI:
|
||||
@@ -529,7 +529,7 @@ PREFIX(scanAtts)(const ENCODING *enc, const char *ptr, const char *end,
|
||||
#ifdef XML_NS
|
||||
int hadColon = 0;
|
||||
#endif
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
|
||||
#ifdef XML_NS
|
||||
@@ -716,7 +716,7 @@ PREFIX(scanLt)(const ENCODING *enc, const char *ptr, const char *end,
|
||||
hadColon = 0;
|
||||
#endif
|
||||
/* we have a start-tag */
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
|
||||
#ifdef XML_NS
|
||||
@@ -740,7 +740,7 @@ PREFIX(scanLt)(const ENCODING *enc, const char *ptr, const char *end,
|
||||
case BT_S: case BT_CR: case BT_LF:
|
||||
{
|
||||
ptr += MINBPC(enc);
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
|
||||
case BT_GT:
|
||||
@@ -785,7 +785,7 @@ static int PTRCALL
|
||||
PREFIX(contentTok)(const ENCODING *enc, const char *ptr, const char *end,
|
||||
const char **nextTokPtr)
|
||||
{
|
||||
- if (ptr == end)
|
||||
+ if (ptr >= end)
|
||||
return XML_TOK_NONE;
|
||||
if (MINBPC(enc) > 1) {
|
||||
size_t n = end - ptr;
|
||||
@@ -832,7 +832,7 @@ PREFIX(contentTok)(const ENCODING *enc, const char *ptr, const char *end,
|
||||
ptr += MINBPC(enc);
|
||||
break;
|
||||
}
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
#define LEAD_CASE(n) \
|
||||
case BT_LEAD ## n: \
|
||||
@@ -895,7 +895,7 @@ PREFIX(scanPercent)(const ENCODING *enc, const char *ptr, const char *end,
|
||||
*nextTokPtr = ptr;
|
||||
return XML_TOK_INVALID;
|
||||
}
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
|
||||
case BT_SEMI:
|
||||
@@ -921,7 +921,7 @@ PREFIX(scanPoundName)(const ENCODING *enc, const char *ptr, const char *end,
|
||||
*nextTokPtr = ptr;
|
||||
return XML_TOK_INVALID;
|
||||
}
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
|
||||
case BT_CR: case BT_LF: case BT_S:
|
||||
@@ -941,7 +941,7 @@ PREFIX(scanLit)(int open, const ENCODING *enc,
|
||||
const char *ptr, const char *end,
|
||||
const char **nextTokPtr)
|
||||
{
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
int t = BYTE_TYPE(enc, ptr);
|
||||
switch (t) {
|
||||
INVALID_CASES(ptr, nextTokPtr)
|
||||
@@ -973,7 +973,7 @@ PREFIX(prologTok)(const ENCODING *enc, const char *ptr, const char *end,
|
||||
const char **nextTokPtr)
|
||||
{
|
||||
int tok;
|
||||
- if (ptr == end)
|
||||
+ if (ptr >= end)
|
||||
return XML_TOK_NONE;
|
||||
if (MINBPC(enc) > 1) {
|
||||
size_t n = end - ptr;
|
||||
@@ -1141,7 +1141,7 @@ PREFIX(prologTok)(const ENCODING *enc, const char *ptr, const char *end,
|
||||
*nextTokPtr = ptr;
|
||||
return XML_TOK_INVALID;
|
||||
}
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
|
||||
case BT_GT: case BT_RPAR: case BT_COMMA:
|
||||
@@ -1204,10 +1204,10 @@ PREFIX(attributeValueTok)(const ENCODING *enc, const char *ptr,
|
||||
const char *end, const char **nextTokPtr)
|
||||
{
|
||||
const char *start;
|
||||
- if (ptr == end)
|
||||
+ if (ptr >= end)
|
||||
return XML_TOK_NONE;
|
||||
start = ptr;
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
#define LEAD_CASE(n) \
|
||||
case BT_LEAD ## n: ptr += n; break;
|
||||
@@ -1262,10 +1262,10 @@ PREFIX(entityValueTok)(const ENCODING *enc, const char *ptr,
|
||||
const char *end, const char **nextTokPtr)
|
||||
{
|
||||
const char *start;
|
||||
- if (ptr == end)
|
||||
+ if (ptr >= end)
|
||||
return XML_TOK_NONE;
|
||||
start = ptr;
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
#define LEAD_CASE(n) \
|
||||
case BT_LEAD ## n: ptr += n; break;
|
||||
@@ -1326,7 +1326,7 @@ PREFIX(ignoreSectionTok)(const ENCODING *enc, const char *ptr,
|
||||
end = ptr + n;
|
||||
}
|
||||
}
|
||||
- while (ptr != end) {
|
||||
+ while (ptr < end) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
INVALID_CASES(ptr, nextTokPtr)
|
||||
case BT_LT:
|
||||
@@ -1373,7 +1373,7 @@ PREFIX(isPublicId)(const ENCODING *enc, const char *ptr, const char *end,
|
||||
{
|
||||
ptr += MINBPC(enc);
|
||||
end -= MINBPC(enc);
|
||||
- for (; ptr != end; ptr += MINBPC(enc)) {
|
||||
+ for (; ptr < end; ptr += MINBPC(enc)) {
|
||||
switch (BYTE_TYPE(enc, ptr)) {
|
||||
case BT_DIGIT:
|
||||
case BT_HEX:
|
||||
@@ -1760,7 +1760,7 @@ PREFIX(updatePosition)(const ENCODING *enc,
|
||||
case BT_CR:
|
||||
pos->lineNumber++;
|
||||
ptr += MINBPC(enc);
|
||||
- if (ptr != end && BYTE_TYPE(enc, ptr) == BT_LF)
|
||||
+ if (ptr < end && BYTE_TYPE(enc, ptr) == BT_LF)
|
||||
ptr += MINBPC(enc);
|
||||
pos->columnNumber = (XML_Size)-1;
|
||||
break;
|
||||
--
|
||||
2.8.2
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
|
||||
bool
|
||||
# fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
|
||||
# ffmpeg's configure script only supports mips64 (r1) variant
|
||||
default y if !BR2_nios2 && !BR2_mips_64r2 && !BR2_mips_64r6
|
||||
|
||||
menuconfig BR2_PACKAGE_FFMPEG
|
||||
bool "ffmpeg"
|
||||
# fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
|
||||
depends on !BR2_nios2
|
||||
depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
|
||||
help
|
||||
FFmpeg is a complete, cross-platform solution to record, convert
|
||||
and stream audio and video.
|
||||
|
||||
@@ -2,6 +2,9 @@ config BR2_PACKAGE_FLANN
|
||||
bool "flann"
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on !BR2_STATIC_LIBS
|
||||
# all gcc versions fail to build flann on Microblaze due to
|
||||
# gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69401
|
||||
depends on !BR2_microblaze
|
||||
help
|
||||
FLANN is a library for performing fast approximate nearest
|
||||
neighbor searches in high dimensional spaces. It contains a
|
||||
@@ -22,4 +25,5 @@ config BR2_PACKAGE_FLANN_EXAMPLES
|
||||
endif
|
||||
|
||||
comment "flann needs a toolchain w/ C++, dynamic library"
|
||||
depends on !BR2_microblaze
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 3fec86866987c792c3fce7ecc8ba9d09a003f5d2d1a1ad94864550aad73a5c0b flann-3645f0c30a47267e56e5acdecfc7bac2b76bc3d5.tar.gz
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
FLANN_VERSION = 04b4a56533faf8c8228d011d05ba376038364b49
|
||||
FLANN_VERSION = 3645f0c30a47267e56e5acdecfc7bac2b76bc3d5
|
||||
FLANN_SITE = $(call github,mariusmuja,flann,$(FLANN_VERSION))
|
||||
FLANN_INSTALL_STAGING = YES
|
||||
FLANN_LICENSE = BSD-3c
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
comment "flannel needs a toolchain w/ threads"
|
||||
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
config BR2_PACKAGE_FLANNEL
|
||||
bool "flannel"
|
||||
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
help
|
||||
Flannel is a virtual network that gives a subnet to each
|
||||
host for use with container runtimes.
|
||||
|
||||
@@ -14,9 +14,9 @@ FLANNEL_LICENSE_FILES = LICENSE
|
||||
FLANNEL_DEPENDENCIES = host-go
|
||||
|
||||
FLANNEL_MAKE_ENV = \
|
||||
$(HOST_GO_TARGET_ENV) \
|
||||
GOBIN="$(@D)/bin" \
|
||||
GOPATH="$(@D)/gopath" \
|
||||
GOARCH=$(GO_GOARCH) \
|
||||
CGO_ENABLED=1
|
||||
|
||||
FLANNEL_GLDFLAGS = \
|
||||
|
||||
@@ -1,166 +0,0 @@
|
||||
Fetched from Xilinx gcc git at https://github.com/Xilinx/gcc
|
||||
|
||||
From 23c35173490ac2d6348a668dfc9c1a6eb62171f2 Mon Sep 17 00:00:00 2001
|
||||
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
|
||||
Date: Mon, 18 Jun 2012 20:18:13 +0200
|
||||
Subject: [PATCH] [Patch, microblaze]: Enable DWARF exception handling support.
|
||||
|
||||
Changelog
|
||||
|
||||
2013-03-18 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
|
||||
David Holsgrove <david.holsgrove@xilinx.com>
|
||||
|
||||
* common/config/microblaze/microblaze-common.c: Remove
|
||||
TARGET_EXCEPT_UNWIND_INFO definition.
|
||||
* config/microblaze/microblaze-protos.h: Add
|
||||
microblaze_eh_return prototype.
|
||||
* gcc/config/microblaze/microblaze.c: (microblaze_must_save_register,
|
||||
microblaze_expand_epilogue, microblaze_return_addr): Handle
|
||||
calls_eh_return
|
||||
(microblaze_eh_return): New function.
|
||||
* gcc/config/microblaze/microblaze.h: Define RETURN_ADDR_OFFSET,
|
||||
EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX,
|
||||
ASM_PREFERRED_EH_DATA_FORMAT
|
||||
* gcc/config/microblaze/microblaze.md: Define eh_return pattern.
|
||||
|
||||
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
|
||||
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
|
||||
---
|
||||
gcc/common/config/microblaze/microblaze-common.c | 3 ---
|
||||
gcc/config/microblaze/microblaze-protos.h | 1 +
|
||||
gcc/config/microblaze/microblaze.c | 29 ++++++++++++++++++++----
|
||||
gcc/config/microblaze/microblaze.h | 15 ++++++++++++
|
||||
gcc/config/microblaze/microblaze.md | 11 +++++++++
|
||||
5 files changed, 52 insertions(+), 7 deletions(-)
|
||||
|
||||
Index: b/gcc/common/config/microblaze/microblaze-common.c
|
||||
===================================================================
|
||||
--- a/gcc/common/config/microblaze/microblaze-common.c
|
||||
+++ b/gcc/common/config/microblaze/microblaze-common.c
|
||||
@@ -37,7 +37,4 @@
|
||||
#undef TARGET_OPTION_OPTIMIZATION_TABLE
|
||||
#define TARGET_OPTION_OPTIMIZATION_TABLE microblaze_option_optimization_table
|
||||
|
||||
-#undef TARGET_EXCEPT_UNWIND_INFO
|
||||
-#define TARGET_EXCEPT_UNWIND_INFO sjlj_except_unwind_info
|
||||
-
|
||||
struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER;
|
||||
Index: b/gcc/config/microblaze/microblaze-protos.h
|
||||
===================================================================
|
||||
--- a/gcc/config/microblaze/microblaze-protos.h
|
||||
+++ b/gcc/config/microblaze/microblaze-protos.h
|
||||
@@ -57,6 +57,7 @@
|
||||
extern int symbol_mentioned_p (rtx);
|
||||
extern int label_mentioned_p (rtx);
|
||||
extern bool microblaze_cannot_force_const_mem (machine_mode, rtx);
|
||||
+extern void microblaze_eh_return (rtx op0);
|
||||
#endif /* RTX_CODE */
|
||||
|
||||
/* Declare functions in microblaze-c.c. */
|
||||
Index: b/gcc/config/microblaze/microblaze.c
|
||||
===================================================================
|
||||
--- a/gcc/config/microblaze/microblaze.c
|
||||
+++ b/gcc/config/microblaze/microblaze.c
|
||||
@@ -1924,6 +1924,11 @@
|
||||
if (frame_pointer_needed && (regno == HARD_FRAME_POINTER_REGNUM))
|
||||
return 1;
|
||||
|
||||
+ if (crtl->calls_eh_return
|
||||
+ && regno == MB_ABI_SUB_RETURN_ADDR_REGNUM) {
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
if (!crtl->is_leaf)
|
||||
{
|
||||
if (regno == MB_ABI_SUB_RETURN_ADDR_REGNUM)
|
||||
@@ -1951,6 +1956,13 @@
|
||||
return 1;
|
||||
}
|
||||
|
||||
+ if (crtl->calls_eh_return
|
||||
+ && (regno == EH_RETURN_DATA_REGNO (0)
|
||||
+ || regno == EH_RETURN_DATA_REGNO (1)))
|
||||
+ {
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -3027,6 +3039,12 @@
|
||||
emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx));
|
||||
}
|
||||
|
||||
+ if (crtl->calls_eh_return)
|
||||
+ emit_insn (gen_addsi3 (stack_pointer_rtx,
|
||||
+ stack_pointer_rtx,
|
||||
+ gen_rtx_raw_REG (SImode,
|
||||
+ MB_EH_STACKADJ_REGNUM)));
|
||||
+
|
||||
emit_jump_insn (gen_return_internal (gen_rtx_REG (Pmode, GP_REG_FIRST +
|
||||
MB_ABI_SUB_RETURN_ADDR_REGNUM)));
|
||||
}
|
||||
@@ -3324,10 +3342,13 @@
|
||||
if (count != 0)
|
||||
return NULL_RTX;
|
||||
|
||||
- return gen_rtx_PLUS (Pmode,
|
||||
- get_hard_reg_initial_val (Pmode,
|
||||
- MB_ABI_SUB_RETURN_ADDR_REGNUM),
|
||||
- GEN_INT (8));
|
||||
+ return get_hard_reg_initial_val (Pmode,
|
||||
+ MB_ABI_SUB_RETURN_ADDR_REGNUM);
|
||||
+}
|
||||
+
|
||||
+void microblaze_eh_return (rtx op0)
|
||||
+{
|
||||
+ emit_insn (gen_movsi(gen_rtx_MEM(Pmode, stack_pointer_rtx), op0));
|
||||
}
|
||||
|
||||
/* Queue an .ident string in the queue of top-level asm statements.
|
||||
Index: b/gcc/config/microblaze/microblaze.h
|
||||
===================================================================
|
||||
--- a/gcc/config/microblaze/microblaze.h
|
||||
+++ b/gcc/config/microblaze/microblaze.h
|
||||
@@ -184,6 +184,21 @@
|
||||
#define INCOMING_RETURN_ADDR_RTX \
|
||||
gen_rtx_REG (VOIDmode, GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM)
|
||||
|
||||
+/* Specifies the offset from INCOMING_RETURN_ADDR_RTX and the actual return PC. */
|
||||
+#define RETURN_ADDR_OFFSET (8)
|
||||
+
|
||||
+/* Describe how we implement __builtin_eh_return. */
|
||||
+#define EH_RETURN_DATA_REGNO(N) (((N) < 2) ? MB_ABI_FIRST_ARG_REGNUM + (N) : INVALID_REGNUM)
|
||||
+
|
||||
+#define MB_EH_STACKADJ_REGNUM MB_ABI_INT_RETURN_VAL2_REGNUM
|
||||
+#define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, MB_EH_STACKADJ_REGNUM)
|
||||
+
|
||||
+/* Select a format to encode pointers in exception handling data. CODE
|
||||
+ is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is
|
||||
+ true if the symbol may be affected by dynamic relocations. */
|
||||
+#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \
|
||||
+ ((flag_pic || GLOBAL) ? DW_EH_PE_aligned : DW_EH_PE_absptr)
|
||||
+
|
||||
/* Use DWARF 2 debugging information by default. */
|
||||
#define DWARF2_DEBUGGING_INFO
|
||||
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
|
||||
Index: b/gcc/config/microblaze/microblaze.md
|
||||
===================================================================
|
||||
--- a/gcc/config/microblaze/microblaze.md
|
||||
+++ b/gcc/config/microblaze/microblaze.md
|
||||
@@ -2324,4 +2324,15 @@
|
||||
(set_attr "mode" "SI")
|
||||
(set_attr "length" "4")])
|
||||
|
||||
+; This is used in compiling the unwind routines.
|
||||
+(define_expand "eh_return"
|
||||
+ [(use (match_operand 0 "general_operand" ""))]
|
||||
+ ""
|
||||
+ "
|
||||
+{
|
||||
+ microblaze_eh_return(operands[0]);
|
||||
+ DONE;
|
||||
+}")
|
||||
+
|
||||
(include "sync.md")
|
||||
+
|
||||
@@ -153,6 +153,7 @@ config BR2_GCC_ENABLE_LIBMUDFLAP
|
||||
depends on !BR2_ARM_INSTRUCTIONS_THUMB && !BR2_powerpc_SPE
|
||||
depends on !BR2_GCC_VERSION_4_9_X
|
||||
depends on !BR2_GCC_VERSION_5_X
|
||||
depends on !BR2_GCC_VERSION_6_X
|
||||
help
|
||||
libmudflap is a gcc library used for the mudflap pointer
|
||||
debugging functionality. It is only needed if you intend to
|
||||
|
||||
@@ -29,6 +29,7 @@ config BR2_PACKAGE_GLIBC
|
||||
bool
|
||||
default y
|
||||
select BR2_PACKAGE_LINUX_HEADERS
|
||||
select BR2_TOOLCHAIN_HAS_SSP
|
||||
|
||||
choice
|
||||
prompt "glibc version"
|
||||
@@ -38,6 +39,8 @@ config BR2_GLIBC_VERSION_2_22
|
||||
bool "2.22"
|
||||
# No support for pthread barriers on < v9 ISA
|
||||
depends on !BR2_sparc
|
||||
# Too old to build with gcc >= 6.x
|
||||
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_6
|
||||
|
||||
config BR2_GLIBC_VERSION_2_23
|
||||
bool "2.23"
|
||||
|
||||
@@ -7,6 +7,7 @@ config BR2_PACKAGE_GLMARK2_EGL_GLES
|
||||
config BR2_PACKAGE_GLMARK2_GL
|
||||
bool
|
||||
default y
|
||||
depends on BR2_PACKAGE_HAS_LIBGL
|
||||
depends on BR2_PACKAGE_MESA3D_DRI_DRIVER
|
||||
|
||||
comment "glmark2 needs an OpenGL or an openGL ES and EGL backend provided by mesa3d"
|
||||
|
||||
@@ -3,6 +3,8 @@ config BR2_PACKAGE_GMRENDER_RESURRECT
|
||||
depends on BR2_USE_WCHAR # gstreamer1 -> libglib2
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # gstreamer1 -> libglib2, libupnp
|
||||
depends on BR2_USE_MMU # gstreamer1
|
||||
# uses <error.h>
|
||||
depends on !BR2_TOOLCHAIN_USES_MUSL
|
||||
select BR2_PACKAGE_GSTREAMER1
|
||||
select BR2_PACKAGE_GST1_PLUGINS_BASE # run-time only
|
||||
select BR2_PACKAGE_LIBUPNP
|
||||
@@ -11,6 +13,7 @@ config BR2_PACKAGE_GMRENDER_RESURRECT
|
||||
|
||||
https://github.com/hzeller/gmrender-resurrect
|
||||
|
||||
comment "gmrender-resurrect needs a toolchain w/ wchar, threads"
|
||||
comment "gmrender-resurrect needs an (e)glibc or uClibc toolchain w/ wchar, threads"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
|
||||
BR2_TOOLCHAIN_USES_MUSL
|
||||
|
||||
@@ -11,13 +11,20 @@ GO_BOOTSTRAP_SOURCE = go$(GO_BOOTSTRAP_VERSION).src.tar.gz
|
||||
GO_BOOTSTRAP_LICENSE = BSD-3c
|
||||
GO_BOOTSTRAP_LICENSE_FILES = LICENSE
|
||||
|
||||
# To build programs that need cgo support the toolchain needs to be
|
||||
# available, so the toolchain is not needed to build host-go-bootstrap
|
||||
# itself, but needed by other packages that depend on
|
||||
# host-go-bootstrap.
|
||||
HOST_GO_BOOTSTRAP_DEPENDENCIES = toolchain
|
||||
|
||||
HOST_GO_BOOTSTRAP_ROOT = $(HOST_DIR)/usr/lib/go-$(GO_BOOTSTRAP_VERSION)
|
||||
|
||||
HOST_GO_BOOTSTRAP_MAKE_ENV = \
|
||||
GOOS=linux \
|
||||
GOROOT_FINAL="$(HOST_GO_BOOTSTRAP_ROOT)" \
|
||||
GOROOT="$(@D)" \
|
||||
GOBIN="$(@D)/bin"
|
||||
GOBIN="$(@D)/bin" \
|
||||
CGO_ENABLED=0
|
||||
|
||||
define HOST_GO_BOOTSTRAP_BUILD_CMDS
|
||||
cd $(@D)/src && $(HOST_GO_BOOTSTRAP_MAKE_ENV) ./make.bash
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
config BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
|
||||
bool
|
||||
default y
|
||||
depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 || BR2_powerpc
|
||||
depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 || BR2_powerpc64 || BR2_powerpc64le
|
||||
depends on !BR2_ARM_CPU_ARMV4
|
||||
|
||||
+54
-8
@@ -26,13 +26,42 @@ else ifeq ($(BR2_i386),y)
|
||||
GO_GOARCH = 386
|
||||
else ifeq ($(BR2_x86_64),y)
|
||||
GO_GOARCH = amd64
|
||||
else ifeq ($(BR2_powerpc),y)
|
||||
else ifeq ($(BR2_powerpc64),y)
|
||||
GO_GOARCH = ppc64
|
||||
else ifeq ($(BR2_powerpc64le),y)
|
||||
GO_GOARCH = ppc64le
|
||||
endif
|
||||
|
||||
HOST_GO_DEPENDENCIES = host-go-bootstrap
|
||||
HOST_GO_ROOT = $(HOST_DIR)/usr/lib/go
|
||||
|
||||
# For the convienience of target packages.
|
||||
HOST_GO_TOOLDIR = $(HOST_GO_ROOT)/pkg/tool/linux_$(GO_GOARCH)
|
||||
HOST_GO_TARGET_ENV = \
|
||||
GOARCH=$(GO_GOARCH) \
|
||||
GOROOT="$(HOST_GO_ROOT)" \
|
||||
CC="$(TARGET_CC)" \
|
||||
CXX="$(TARGET_CXX)" \
|
||||
GOTOOLDIR="$(HOST_GO_TOOLDIR)"
|
||||
|
||||
# The go compiler's cgo support uses threads. If BR2_TOOLCHAIN_HAS_THREADS is
|
||||
# set, build in cgo support for any go programs that may need it. Note that
|
||||
# any target package needing cgo support must include
|
||||
# 'depends on BR2_TOOLCHAIN_HAS_THREADS' in its config file.
|
||||
ifeq (BR2_TOOLCHAIN_HAS_THREADS,y)
|
||||
HOST_GO_CGO_ENABLED = 1
|
||||
else
|
||||
HOST_GO_CGO_ENABLED = 0
|
||||
endif
|
||||
|
||||
# The go build system doesn't have the notion of cross compiling, but just the
|
||||
# notion of architecture. When the host and target architectures are different
|
||||
# it expects to be given a target cross compiler in CC_FOR_TARGET. When the
|
||||
# architectures are the same it will use CC_FOR_TARGET for both host and target
|
||||
# compilation. To work around this limitation build and install a set of
|
||||
# compiler and tool binaries built with CC_FOR_TARGET set to the host compiler.
|
||||
# Also, the go build system is not compatible with ccache, so use
|
||||
# HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685.
|
||||
HOST_GO_MAKE_ENV = \
|
||||
GOROOT_BOOTSTRAP=$(HOST_GO_BOOTSTRAP_ROOT) \
|
||||
GOROOT_FINAL=$(HOST_GO_ROOT) \
|
||||
@@ -41,17 +70,30 @@ HOST_GO_MAKE_ENV = \
|
||||
GOARCH=$(GO_GOARCH) \
|
||||
$(if $(GO_GOARM),GOARM=$(GO_GOARM)) \
|
||||
GOOS=linux \
|
||||
CGO_ENABLED=1 \
|
||||
CC_FOR_TARGET=$(TARGET_CC) \
|
||||
CXX_FOR_TARGET=$(TARGET_CXX)
|
||||
CGO_ENABLED=$(HOST_GO_CGO_ENABLED) \
|
||||
CC=$(HOSTCC_NOCCACHE)
|
||||
|
||||
HOST_GO_TARGET_CC = \
|
||||
CC_FOR_TARGET="$(TARGET_CC)" \
|
||||
CXX_FOR_TARGET="$(TARGET_CXX)"
|
||||
|
||||
HOST_GO_HOST_CC = \
|
||||
CC_FOR_TARGET=$(HOSTCC_NOCCACHE) \
|
||||
CXX_FOR_TARGET=$(HOSTCC_NOCCACHE)
|
||||
|
||||
HOST_GO_TMP = $(@D)/host-go-tmp
|
||||
|
||||
define HOST_GO_BUILD_CMDS
|
||||
cd $(@D)/src && $(HOST_GO_MAKE_ENV) ./make.bash
|
||||
cd $(@D)/src && $(HOST_GO_MAKE_ENV) $(HOST_GO_HOST_CC) ./make.bash
|
||||
mkdir -p $(HOST_GO_TMP)
|
||||
mv $(@D)/pkg/tool $(HOST_GO_TMP)/
|
||||
mv $(@D)/bin/ $(HOST_GO_TMP)/
|
||||
cd $(@D)/src && $(HOST_GO_MAKE_ENV) $(HOST_GO_TARGET_CC) ./make.bash
|
||||
endef
|
||||
|
||||
define HOST_GO_INSTALL_CMDS
|
||||
$(INSTALL) -D -m 0755 $(@D)/bin/go $(HOST_GO_ROOT)/bin/go
|
||||
$(INSTALL) -D -m 0755 $(@D)/bin/gofmt $(HOST_GO_ROOT)/bin/gofmt
|
||||
$(INSTALL) -D -m 0755 $(HOST_GO_TMP)/bin/go $(HOST_GO_ROOT)/bin/go
|
||||
$(INSTALL) -D -m 0755 $(HOST_GO_TMP)/bin/gofmt $(HOST_GO_ROOT)/bin/gofmt
|
||||
|
||||
ln -sf ../lib/go/bin/go $(HOST_DIR)/usr/bin/
|
||||
ln -sf ../lib/go/bin/gofmt $(HOST_DIR)/usr/bin/
|
||||
@@ -60,11 +102,15 @@ define HOST_GO_INSTALL_CMDS
|
||||
|
||||
mkdir -p $(HOST_GO_ROOT)/pkg
|
||||
cp -a $(@D)/pkg/include $(@D)/pkg/linux_* $(HOST_GO_ROOT)/pkg/
|
||||
cp -a $(@D)/pkg/tool $(HOST_GO_ROOT)/pkg/
|
||||
cp -a $(HOST_GO_TMP)/tool $(HOST_GO_ROOT)/pkg/
|
||||
|
||||
# There is a known issue which requires the go sources to be installed
|
||||
# https://golang.org/issue/2775
|
||||
cp -a $(@D)/src $(HOST_GO_ROOT)/
|
||||
|
||||
# Set all file timestamps to prevent the go compiler from rebuilding any
|
||||
# built in packages when programs are built.
|
||||
find $(HOST_GO_ROOT) -type f -exec touch -r $(HOST_GO_TMP)/bin/go {} \;
|
||||
endef
|
||||
|
||||
$(eval $(host-generic-package))
|
||||
|
||||
@@ -4,6 +4,8 @@ config BR2_PACKAGE_GRANTLEE
|
||||
depends on (BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT && BR2_PACKAGE_QT) || \
|
||||
(BR2_PACKAGE_QT5_JSCORE_AVAILABLE && BR2_PACKAGE_QT5)
|
||||
depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # Qt GUI module
|
||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=20173
|
||||
depends on !BR2_microblaze && !BR2_nios2
|
||||
select BR2_PACKAGE_QT_STL if BR2_PACKAGE_QT
|
||||
select BR2_PACKAGE_QT_SCRIPT if BR2_PACKAGE_QT
|
||||
select BR2_PACKAGE_QT_GUI_MODULE if BR2_PACKAGE_QT
|
||||
@@ -16,6 +18,7 @@ config BR2_PACKAGE_GRANTLEE
|
||||
|
||||
comment "grantlee needs a toolchain with NPTL not affected by Binutils bug 19405"
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
||||
depends on !BR2_microblaze && !BR2_nios2
|
||||
depends on (BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT && BR2_PACKAGE_QT) || \
|
||||
(BR2_PACKAGE_QT5_JSCORE_AVAILABLE && BR2_PACKAGE_QT5) || \
|
||||
BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405
|
||||
|
||||
@@ -3,6 +3,8 @@ config BR2_PACKAGE_GST_FFMPEG
|
||||
# Unsupported for MIPS R6. It bundles a version of libav which
|
||||
# doesn't have support for MIPS R6.
|
||||
depends on !BR2_mips_32r6 && !BR2_mips_64r6
|
||||
# triggers https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65151 on sh
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_sh
|
||||
select BR2_PACKAGE_GST_PLUGINS_BASE
|
||||
help
|
||||
GStreamer plugin containing one plugin with a set of elements using
|
||||
@@ -23,3 +25,6 @@ config BR2_PACKAGE_GST_FFMPEG_GPL
|
||||
be under GPL.
|
||||
|
||||
endif
|
||||
|
||||
comment "gst-ffmpeg needs a toolchain w/ gcc >= 5"
|
||||
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 && BR2_sh
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
config BR2_PACKAGE_GST1_LIBAV
|
||||
bool "gst1-libav"
|
||||
depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
|
||||
select BR2_PACKAGE_FFMPEG
|
||||
select BR2_PACKAGE_FFMPEG_SWSCALE
|
||||
select BR2_PACKAGE_GST1_PLUGINS_BASE
|
||||
|
||||
@@ -8,10 +8,12 @@ C++ support.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
hidtest/Makefile.am | 6 +++---
|
||||
hidtest/{hidtest.cpp => hidtest.c} | 0
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
rename hidtest/{hidtest.cpp => hidtest.c} (100%)
|
||||
hidtest/Makefile.am | 6 +-
|
||||
hidtest/hidtest.c | 194 ++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
hidtest/hidtest.cpp | 194 ----------------------------------------------------
|
||||
3 files changed, 197 insertions(+), 197 deletions(-)
|
||||
create mode 100644 hidtest/hidtest.c
|
||||
delete mode 100644 hidtest/hidtest.cpp
|
||||
|
||||
diff --git a/hidtest/Makefile.am b/hidtest/Makefile.am
|
||||
index d278644..5f52c3f 100644
|
||||
@@ -38,10 +40,406 @@ index d278644..5f52c3f 100644
|
||||
hidtest_LDADD = $(top_builddir)/$(backend)/libhidapi.la
|
||||
|
||||
endif
|
||||
diff --git a/hidtest/hidtest.cpp b/hidtest/hidtest.c
|
||||
similarity index 100%
|
||||
rename from hidtest/hidtest.cpp
|
||||
rename to hidtest/hidtest.c
|
||||
diff --git a/hidtest/hidtest.c b/hidtest/hidtest.c
|
||||
new file mode 100644
|
||||
index 0000000..94f0a5c
|
||||
--- /dev/null
|
||||
+++ b/hidtest/hidtest.c
|
||||
@@ -0,0 +1,194 @@
|
||||
+/*******************************************************
|
||||
+ Windows HID simplification
|
||||
+
|
||||
+ Alan Ott
|
||||
+ Signal 11 Software
|
||||
+
|
||||
+ 8/22/2009
|
||||
+
|
||||
+ Copyright 2009
|
||||
+
|
||||
+ This contents of this file may be used by anyone
|
||||
+ for any reason without any conditions and may be
|
||||
+ used as a starting point for your own applications
|
||||
+ which use HIDAPI.
|
||||
+********************************************************/
|
||||
+
|
||||
+#include <stdio.h>
|
||||
+#include <wchar.h>
|
||||
+#include <string.h>
|
||||
+#include <stdlib.h>
|
||||
+#include "hidapi.h"
|
||||
+
|
||||
+// Headers needed for sleeping.
|
||||
+#ifdef _WIN32
|
||||
+ #include <windows.h>
|
||||
+#else
|
||||
+ #include <unistd.h>
|
||||
+#endif
|
||||
+
|
||||
+int main(int argc, char* argv[])
|
||||
+{
|
||||
+ int res;
|
||||
+ unsigned char buf[256];
|
||||
+ #define MAX_STR 255
|
||||
+ wchar_t wstr[MAX_STR];
|
||||
+ hid_device *handle;
|
||||
+ int i;
|
||||
+
|
||||
+#ifdef WIN32
|
||||
+ UNREFERENCED_PARAMETER(argc);
|
||||
+ UNREFERENCED_PARAMETER(argv);
|
||||
+#endif
|
||||
+
|
||||
+ struct hid_device_info *devs, *cur_dev;
|
||||
+
|
||||
+ if (hid_init())
|
||||
+ return -1;
|
||||
+
|
||||
+ devs = hid_enumerate(0x0, 0x0);
|
||||
+ cur_dev = devs;
|
||||
+ while (cur_dev) {
|
||||
+ printf("Device Found\n type: %04hx %04hx\n path: %s\n serial_number: %ls", cur_dev->vendor_id, cur_dev->product_id, cur_dev->path, cur_dev->serial_number);
|
||||
+ printf("\n");
|
||||
+ printf(" Manufacturer: %ls\n", cur_dev->manufacturer_string);
|
||||
+ printf(" Product: %ls\n", cur_dev->product_string);
|
||||
+ printf(" Release: %hx\n", cur_dev->release_number);
|
||||
+ printf(" Interface: %d\n", cur_dev->interface_number);
|
||||
+ printf("\n");
|
||||
+ cur_dev = cur_dev->next;
|
||||
+ }
|
||||
+ hid_free_enumeration(devs);
|
||||
+
|
||||
+ // Set up the command buffer.
|
||||
+ memset(buf,0x00,sizeof(buf));
|
||||
+ buf[0] = 0x01;
|
||||
+ buf[1] = 0x81;
|
||||
+
|
||||
+
|
||||
+ // Open the device using the VID, PID,
|
||||
+ // and optionally the Serial number.
|
||||
+ ////handle = hid_open(0x4d8, 0x3f, L"12345");
|
||||
+ handle = hid_open(0x4d8, 0x3f, NULL);
|
||||
+ if (!handle) {
|
||||
+ printf("unable to open device\n");
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ // Read the Manufacturer String
|
||||
+ wstr[0] = 0x0000;
|
||||
+ res = hid_get_manufacturer_string(handle, wstr, MAX_STR);
|
||||
+ if (res < 0)
|
||||
+ printf("Unable to read manufacturer string\n");
|
||||
+ printf("Manufacturer String: %ls\n", wstr);
|
||||
+
|
||||
+ // Read the Product String
|
||||
+ wstr[0] = 0x0000;
|
||||
+ res = hid_get_product_string(handle, wstr, MAX_STR);
|
||||
+ if (res < 0)
|
||||
+ printf("Unable to read product string\n");
|
||||
+ printf("Product String: %ls\n", wstr);
|
||||
+
|
||||
+ // Read the Serial Number String
|
||||
+ wstr[0] = 0x0000;
|
||||
+ res = hid_get_serial_number_string(handle, wstr, MAX_STR);
|
||||
+ if (res < 0)
|
||||
+ printf("Unable to read serial number string\n");
|
||||
+ printf("Serial Number String: (%d) %ls", wstr[0], wstr);
|
||||
+ printf("\n");
|
||||
+
|
||||
+ // Read Indexed String 1
|
||||
+ wstr[0] = 0x0000;
|
||||
+ res = hid_get_indexed_string(handle, 1, wstr, MAX_STR);
|
||||
+ if (res < 0)
|
||||
+ printf("Unable to read indexed string 1\n");
|
||||
+ printf("Indexed String 1: %ls\n", wstr);
|
||||
+
|
||||
+ // Set the hid_read() function to be non-blocking.
|
||||
+ hid_set_nonblocking(handle, 1);
|
||||
+
|
||||
+ // Try to read from the device. There shoud be no
|
||||
+ // data here, but execution should not block.
|
||||
+ res = hid_read(handle, buf, 17);
|
||||
+
|
||||
+ // Send a Feature Report to the device
|
||||
+ buf[0] = 0x2;
|
||||
+ buf[1] = 0xa0;
|
||||
+ buf[2] = 0x0a;
|
||||
+ buf[3] = 0x00;
|
||||
+ buf[4] = 0x00;
|
||||
+ res = hid_send_feature_report(handle, buf, 17);
|
||||
+ if (res < 0) {
|
||||
+ printf("Unable to send a feature report.\n");
|
||||
+ }
|
||||
+
|
||||
+ memset(buf,0,sizeof(buf));
|
||||
+
|
||||
+ // Read a Feature Report from the device
|
||||
+ buf[0] = 0x2;
|
||||
+ res = hid_get_feature_report(handle, buf, sizeof(buf));
|
||||
+ if (res < 0) {
|
||||
+ printf("Unable to get a feature report.\n");
|
||||
+ printf("%ls", hid_error(handle));
|
||||
+ }
|
||||
+ else {
|
||||
+ // Print out the returned buffer.
|
||||
+ printf("Feature Report\n ");
|
||||
+ for (i = 0; i < res; i++)
|
||||
+ printf("%02hhx ", buf[i]);
|
||||
+ printf("\n");
|
||||
+ }
|
||||
+
|
||||
+ memset(buf,0,sizeof(buf));
|
||||
+
|
||||
+ // Toggle LED (cmd 0x80). The first byte is the report number (0x1).
|
||||
+ buf[0] = 0x1;
|
||||
+ buf[1] = 0x80;
|
||||
+ res = hid_write(handle, buf, 17);
|
||||
+ if (res < 0) {
|
||||
+ printf("Unable to write()\n");
|
||||
+ printf("Error: %ls\n", hid_error(handle));
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ // Request state (cmd 0x81). The first byte is the report number (0x1).
|
||||
+ buf[0] = 0x1;
|
||||
+ buf[1] = 0x81;
|
||||
+ hid_write(handle, buf, 17);
|
||||
+ if (res < 0)
|
||||
+ printf("Unable to write() (2)\n");
|
||||
+
|
||||
+ // Read requested state. hid_read() has been set to be
|
||||
+ // non-blocking by the call to hid_set_nonblocking() above.
|
||||
+ // This loop demonstrates the non-blocking nature of hid_read().
|
||||
+ res = 0;
|
||||
+ while (res == 0) {
|
||||
+ res = hid_read(handle, buf, sizeof(buf));
|
||||
+ if (res == 0)
|
||||
+ printf("waiting...\n");
|
||||
+ if (res < 0)
|
||||
+ printf("Unable to read()\n");
|
||||
+ #ifdef WIN32
|
||||
+ Sleep(500);
|
||||
+ #else
|
||||
+ usleep(500*1000);
|
||||
+ #endif
|
||||
+ }
|
||||
+
|
||||
+ printf("Data read:\n ");
|
||||
+ // Print out the returned buffer.
|
||||
+ for (i = 0; i < res; i++)
|
||||
+ printf("%02hhx ", buf[i]);
|
||||
+ printf("\n");
|
||||
+
|
||||
+ hid_close(handle);
|
||||
+
|
||||
+ /* Free static HIDAPI objects. */
|
||||
+ hid_exit();
|
||||
+
|
||||
+#ifdef WIN32
|
||||
+ system("pause");
|
||||
+#endif
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/hidtest/hidtest.cpp b/hidtest/hidtest.cpp
|
||||
deleted file mode 100644
|
||||
index 94f0a5c..0000000
|
||||
--- a/hidtest/hidtest.cpp
|
||||
+++ /dev/null
|
||||
@@ -1,194 +0,0 @@
|
||||
-/*******************************************************
|
||||
- Windows HID simplification
|
||||
-
|
||||
- Alan Ott
|
||||
- Signal 11 Software
|
||||
-
|
||||
- 8/22/2009
|
||||
-
|
||||
- Copyright 2009
|
||||
-
|
||||
- This contents of this file may be used by anyone
|
||||
- for any reason without any conditions and may be
|
||||
- used as a starting point for your own applications
|
||||
- which use HIDAPI.
|
||||
-********************************************************/
|
||||
-
|
||||
-#include <stdio.h>
|
||||
-#include <wchar.h>
|
||||
-#include <string.h>
|
||||
-#include <stdlib.h>
|
||||
-#include "hidapi.h"
|
||||
-
|
||||
-// Headers needed for sleeping.
|
||||
-#ifdef _WIN32
|
||||
- #include <windows.h>
|
||||
-#else
|
||||
- #include <unistd.h>
|
||||
-#endif
|
||||
-
|
||||
-int main(int argc, char* argv[])
|
||||
-{
|
||||
- int res;
|
||||
- unsigned char buf[256];
|
||||
- #define MAX_STR 255
|
||||
- wchar_t wstr[MAX_STR];
|
||||
- hid_device *handle;
|
||||
- int i;
|
||||
-
|
||||
-#ifdef WIN32
|
||||
- UNREFERENCED_PARAMETER(argc);
|
||||
- UNREFERENCED_PARAMETER(argv);
|
||||
-#endif
|
||||
-
|
||||
- struct hid_device_info *devs, *cur_dev;
|
||||
-
|
||||
- if (hid_init())
|
||||
- return -1;
|
||||
-
|
||||
- devs = hid_enumerate(0x0, 0x0);
|
||||
- cur_dev = devs;
|
||||
- while (cur_dev) {
|
||||
- printf("Device Found\n type: %04hx %04hx\n path: %s\n serial_number: %ls", cur_dev->vendor_id, cur_dev->product_id, cur_dev->path, cur_dev->serial_number);
|
||||
- printf("\n");
|
||||
- printf(" Manufacturer: %ls\n", cur_dev->manufacturer_string);
|
||||
- printf(" Product: %ls\n", cur_dev->product_string);
|
||||
- printf(" Release: %hx\n", cur_dev->release_number);
|
||||
- printf(" Interface: %d\n", cur_dev->interface_number);
|
||||
- printf("\n");
|
||||
- cur_dev = cur_dev->next;
|
||||
- }
|
||||
- hid_free_enumeration(devs);
|
||||
-
|
||||
- // Set up the command buffer.
|
||||
- memset(buf,0x00,sizeof(buf));
|
||||
- buf[0] = 0x01;
|
||||
- buf[1] = 0x81;
|
||||
-
|
||||
-
|
||||
- // Open the device using the VID, PID,
|
||||
- // and optionally the Serial number.
|
||||
- ////handle = hid_open(0x4d8, 0x3f, L"12345");
|
||||
- handle = hid_open(0x4d8, 0x3f, NULL);
|
||||
- if (!handle) {
|
||||
- printf("unable to open device\n");
|
||||
- return 1;
|
||||
- }
|
||||
-
|
||||
- // Read the Manufacturer String
|
||||
- wstr[0] = 0x0000;
|
||||
- res = hid_get_manufacturer_string(handle, wstr, MAX_STR);
|
||||
- if (res < 0)
|
||||
- printf("Unable to read manufacturer string\n");
|
||||
- printf("Manufacturer String: %ls\n", wstr);
|
||||
-
|
||||
- // Read the Product String
|
||||
- wstr[0] = 0x0000;
|
||||
- res = hid_get_product_string(handle, wstr, MAX_STR);
|
||||
- if (res < 0)
|
||||
- printf("Unable to read product string\n");
|
||||
- printf("Product String: %ls\n", wstr);
|
||||
-
|
||||
- // Read the Serial Number String
|
||||
- wstr[0] = 0x0000;
|
||||
- res = hid_get_serial_number_string(handle, wstr, MAX_STR);
|
||||
- if (res < 0)
|
||||
- printf("Unable to read serial number string\n");
|
||||
- printf("Serial Number String: (%d) %ls", wstr[0], wstr);
|
||||
- printf("\n");
|
||||
-
|
||||
- // Read Indexed String 1
|
||||
- wstr[0] = 0x0000;
|
||||
- res = hid_get_indexed_string(handle, 1, wstr, MAX_STR);
|
||||
- if (res < 0)
|
||||
- printf("Unable to read indexed string 1\n");
|
||||
- printf("Indexed String 1: %ls\n", wstr);
|
||||
-
|
||||
- // Set the hid_read() function to be non-blocking.
|
||||
- hid_set_nonblocking(handle, 1);
|
||||
-
|
||||
- // Try to read from the device. There shoud be no
|
||||
- // data here, but execution should not block.
|
||||
- res = hid_read(handle, buf, 17);
|
||||
-
|
||||
- // Send a Feature Report to the device
|
||||
- buf[0] = 0x2;
|
||||
- buf[1] = 0xa0;
|
||||
- buf[2] = 0x0a;
|
||||
- buf[3] = 0x00;
|
||||
- buf[4] = 0x00;
|
||||
- res = hid_send_feature_report(handle, buf, 17);
|
||||
- if (res < 0) {
|
||||
- printf("Unable to send a feature report.\n");
|
||||
- }
|
||||
-
|
||||
- memset(buf,0,sizeof(buf));
|
||||
-
|
||||
- // Read a Feature Report from the device
|
||||
- buf[0] = 0x2;
|
||||
- res = hid_get_feature_report(handle, buf, sizeof(buf));
|
||||
- if (res < 0) {
|
||||
- printf("Unable to get a feature report.\n");
|
||||
- printf("%ls", hid_error(handle));
|
||||
- }
|
||||
- else {
|
||||
- // Print out the returned buffer.
|
||||
- printf("Feature Report\n ");
|
||||
- for (i = 0; i < res; i++)
|
||||
- printf("%02hhx ", buf[i]);
|
||||
- printf("\n");
|
||||
- }
|
||||
-
|
||||
- memset(buf,0,sizeof(buf));
|
||||
-
|
||||
- // Toggle LED (cmd 0x80). The first byte is the report number (0x1).
|
||||
- buf[0] = 0x1;
|
||||
- buf[1] = 0x80;
|
||||
- res = hid_write(handle, buf, 17);
|
||||
- if (res < 0) {
|
||||
- printf("Unable to write()\n");
|
||||
- printf("Error: %ls\n", hid_error(handle));
|
||||
- }
|
||||
-
|
||||
-
|
||||
- // Request state (cmd 0x81). The first byte is the report number (0x1).
|
||||
- buf[0] = 0x1;
|
||||
- buf[1] = 0x81;
|
||||
- hid_write(handle, buf, 17);
|
||||
- if (res < 0)
|
||||
- printf("Unable to write() (2)\n");
|
||||
-
|
||||
- // Read requested state. hid_read() has been set to be
|
||||
- // non-blocking by the call to hid_set_nonblocking() above.
|
||||
- // This loop demonstrates the non-blocking nature of hid_read().
|
||||
- res = 0;
|
||||
- while (res == 0) {
|
||||
- res = hid_read(handle, buf, sizeof(buf));
|
||||
- if (res == 0)
|
||||
- printf("waiting...\n");
|
||||
- if (res < 0)
|
||||
- printf("Unable to read()\n");
|
||||
- #ifdef WIN32
|
||||
- Sleep(500);
|
||||
- #else
|
||||
- usleep(500*1000);
|
||||
- #endif
|
||||
- }
|
||||
-
|
||||
- printf("Data read:\n ");
|
||||
- // Print out the returned buffer.
|
||||
- for (i = 0; i < res; i++)
|
||||
- printf("%02hhx ", buf[i]);
|
||||
- printf("\n");
|
||||
-
|
||||
- hid_close(handle);
|
||||
-
|
||||
- /* Free static HIDAPI objects. */
|
||||
- hid_exit();
|
||||
-
|
||||
-#ifdef WIN32
|
||||
- system("pause");
|
||||
-#endif
|
||||
-
|
||||
- return 0;
|
||||
-}
|
||||
--
|
||||
2.6.4
|
||||
2.7.4
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ HPLIP_CONF_OPTS = \
|
||||
--enable-new-hpcups \
|
||||
--enable-lite-build
|
||||
|
||||
# build system does not support cups-config
|
||||
HPLIP_CONF_ENV = LIBS=`$(STAGING_DIR)/usr/bin/cups-config --libs`
|
||||
|
||||
ifeq ($(BR2_PACKAGE_DBUS),y)
|
||||
HPLIP_CONF_OPTS += --enable-dbus-build
|
||||
HPLIP_DEPENDENCIES += dbus
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
config BR2_PACKAGE_IPSEC_TOOLS
|
||||
bool "ipsec-tools"
|
||||
depends on BR2_USE_MMU # fork()
|
||||
depends on !BR2_TOOLCHAIN_USES_MUSL # Use __P() macro all over the tree
|
||||
select BR2_PACKAGE_OPENSSL
|
||||
select BR2_PACKAGE_FLEX
|
||||
depends on BR2_USE_MMU # fork()
|
||||
help
|
||||
This package is required to support IPSec for Linux 2.6+
|
||||
|
||||
|
||||
@@ -10,6 +10,10 @@ IPTRAF_NG_LICENSE = GPLv2+
|
||||
IPTRAF_NG_LICENSE_FILES = LICENSE
|
||||
IPTRAF_NG_DEPENDENCIES = ncurses
|
||||
|
||||
IPTRAF_NG_MAKE_ENV = NCURSES_LDFLAGS="-lpanel -lncurses"
|
||||
IPTRAF_NG_MAKE_ENV = \
|
||||
NCURSES_LDFLAGS="-lpanel -lncurses"
|
||||
|
||||
IPTRAF_NG_CONF_ENV = \
|
||||
CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE"
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally computed
|
||||
sha256 73de246aee1fd3cd69b1341a0c4e1b4acfa655fe6f7363fd9424824aa8bf5a57 iputils-3a86a2542c6fe29413c439bebeae11ec8a57ec7c.tar.gz
|
||||
sha256 08b9f686fcc874f75b465f90f3e831aa9ac1f2e043f4bb61e6d99868e8869025 iputils-31d947cf7156cf78d3f57e0bd82b33e6f6ece6b4.tar.gz
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
# and IPv6 updates.
|
||||
# http://www.spinics.net/lists/netdev/msg279881.html
|
||||
|
||||
IPUTILS_VERSION = 3a86a2542c6fe29413c439bebeae11ec8a57ec7c
|
||||
IPUTILS_VERSION = 31d947cf7156cf78d3f57e0bd82b33e6f6ece6b4
|
||||
IPUTILS_SITE = $(call github,iputils,iputils,$(IPUTILS_VERSION))
|
||||
IPUTILS_LICENSE = GPLv2+, BSD-3c, BSD-4c
|
||||
# Only includes a license file for BSD
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
From 4b2c73ad056aa327dc3b505410da68cf384317ba Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Martin <s.martin49@gmail.com>
|
||||
Date: Mon, 16 May 2016 22:26:05 +0200
|
||||
Subject: [PATCH] Make backtrace support depends on execinfo.h existence
|
||||
|
||||
In some C-libraries (like uclibc), backtrace support is optional, so the
|
||||
execinfo.h file may not exist.
|
||||
|
||||
This change adds the check for execinfo.h header and conditionnaly enable
|
||||
backtrace support.
|
||||
|
||||
This issue has been triggered by Buildroot farms:
|
||||
http://autobuild.buildroot.org/results/391/391e71a988250ea66ec4dbee6f60fdce9eaf2766/build-end.log
|
||||
|
||||
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
---
|
||||
dbus/sigsegv.c | 8 +++++++-
|
||||
wscript | 1 +
|
||||
2 files changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dbus/sigsegv.c b/dbus/sigsegv.c
|
||||
index ee12f91..0b31d89 100644
|
||||
--- a/dbus/sigsegv.c
|
||||
+++ b/dbus/sigsegv.c
|
||||
@@ -27,7 +27,9 @@
|
||||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
#include <dlfcn.h>
|
||||
-#include <execinfo.h>
|
||||
+#if defined(HAVE_EXECINFO_H)
|
||||
+# include <execinfo.h>
|
||||
+#endif /* defined(HAVE_EXECINFO_H) */
|
||||
#include <errno.h>
|
||||
#ifndef NO_CPP_DEMANGLE
|
||||
char * __cxa_demangle(const char * __mangled_name, char * __output_buffer, size_t * __length, int * __status);
|
||||
@@ -161,12 +163,16 @@ static void signal_segv(int signum, siginfo_t* info, void*ptr) {
|
||||
bp = (void**)bp[0];
|
||||
}
|
||||
#else
|
||||
+# if defined(HAVE_EXECINFO_H)
|
||||
jack_error("Stack trace (non-dedicated):");
|
||||
sz = backtrace(bt, 20);
|
||||
strings = backtrace_symbols(bt, sz);
|
||||
|
||||
for(i = 0; i < sz; ++i)
|
||||
jack_error("%s", strings[i]);
|
||||
+# else /* defined(HAVE_EXECINFO_H) */
|
||||
+ jack_error("Stack trace not available");
|
||||
+# endif /* defined(HAVE_EXECINFO_H) */
|
||||
#endif
|
||||
jack_error("End of stack trace");
|
||||
exit (-1);
|
||||
diff --git a/wscript b/wscript
|
||||
index aef4bd8..63ba3aa 100644
|
||||
--- a/wscript
|
||||
+++ b/wscript
|
||||
@@ -166,6 +166,7 @@ def configure(conf):
|
||||
if conf.env['BUILD_JACKDBUS'] != True:
|
||||
conf.fatal('jackdbus was explicitly requested but cannot be built')
|
||||
|
||||
+ conf.check_cc(header_name='execinfo.h', define_name="HAVE_EXECINFO_H", mandatory=False)
|
||||
conf.check_cc(header_name='samplerate.h', define_name="HAVE_SAMPLERATE")
|
||||
|
||||
if conf.is_defined('HAVE_SAMPLERATE'):
|
||||
--
|
||||
2.8.2
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
From 7152ded5219453c9ff1cd062cecbeaf4d77e4cab Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Thu, 26 May 2016 15:05:48 +0200
|
||||
Subject: [PATCH] Use <fenv.h> instead of <fpu_control.h>
|
||||
|
||||
musl libc (http://musl-libc.org lack the non-standard <fpu_control.h>
|
||||
header, which is used in src/os/linux/{i386,x86_64}/init.c files to
|
||||
setup the floating point precision. This patch makes it use the
|
||||
standard C <fenv.h> header instead.
|
||||
|
||||
Original patch at Felix Janda at
|
||||
https://sourceforge.net/p/jamvm/patches/6/.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
src/os/linux/i386/init.c | 12 ++++++------
|
||||
src/os/linux/x86_64/init.c | 16 ++++++----------
|
||||
2 files changed, 12 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/src/os/linux/i386/init.c b/src/os/linux/i386/init.c
|
||||
index d9c6648..94a733e 100644
|
||||
--- a/src/os/linux/i386/init.c
|
||||
+++ b/src/os/linux/i386/init.c
|
||||
@@ -19,18 +19,18 @@
|
||||
* Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
-#include <fpu_control.h>
|
||||
+#include <fenv.h>
|
||||
|
||||
/* Change floating point precision to double (64-bit) from
|
||||
* the extended (80-bit) Linux default. */
|
||||
|
||||
void setDoublePrecision() {
|
||||
- fpu_control_t cw;
|
||||
+ fenv_t fenv;
|
||||
|
||||
- _FPU_GETCW(cw);
|
||||
- cw &= ~_FPU_EXTENDED;
|
||||
- cw |= _FPU_DOUBLE;
|
||||
- _FPU_SETCW(cw);
|
||||
+ fegetenv(&fenv);
|
||||
+ fenv.__control_word &= ~0x300; /* _FPU_EXTENDED */
|
||||
+ fenv.__control_word |= 0x200; /* _FPU_DOUBLE */
|
||||
+ fesetenv(&fenv);
|
||||
}
|
||||
|
||||
void initialisePlatform() {
|
||||
diff --git a/src/os/linux/x86_64/init.c b/src/os/linux/x86_64/init.c
|
||||
index 9d55229..a76a923 100644
|
||||
--- a/src/os/linux/x86_64/init.c
|
||||
+++ b/src/os/linux/x86_64/init.c
|
||||
@@ -19,9 +19,7 @@
|
||||
* Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
-#ifdef __linux__
|
||||
-#include <fpu_control.h>
|
||||
-#endif
|
||||
+#include <fenv.h>
|
||||
|
||||
/* Change the x87 FPU precision to double (64-bit) from the extended
|
||||
(80-bit) Linux default. Note, unlike on i386, my testcases pass
|
||||
@@ -30,14 +28,12 @@
|
||||
*/
|
||||
|
||||
void setDoublePrecision() {
|
||||
-#ifdef __linux__
|
||||
- fpu_control_t cw;
|
||||
+ fenv_t fenv;
|
||||
|
||||
- _FPU_GETCW(cw);
|
||||
- cw &= ~_FPU_EXTENDED;
|
||||
- cw |= _FPU_DOUBLE;
|
||||
- _FPU_SETCW(cw);
|
||||
-#endif
|
||||
+ fegetenv(&fenv);
|
||||
+ fenv.__control_word &= ~0x300; /*_FPU_EXTENDED */
|
||||
+ fenv.__control_word |= 0x200; /*_FPU_DOUBLE */
|
||||
+ fesetenv(&fenv);
|
||||
}
|
||||
|
||||
void initialisePlatform() {
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
config BR2_PACKAGE_KODI_SCREENSAVER_ASTEROIDS
|
||||
bool "kodi-screensaver-asteroids"
|
||||
depends on BR2_PACKAGE_KODI_GL
|
||||
depends on BR2_PACKAGE_HAS_LIBGL
|
||||
help
|
||||
Asteroids screensaver for Kodi
|
||||
|
||||
https://github.com/notspiff/screensaver.asteroids
|
||||
|
||||
comment "kodi-screensaver-asteroids needs an OpenGL backend"
|
||||
depends on !BR2_PACKAGE_KODI_GL
|
||||
comment "kodi-screensaver-asteroids needs OpenGL"
|
||||
depends on !BR2_PACKAGE_HAS_LIBGL
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
config BR2_PACKAGE_KODI_SCREENSAVER_ASTERWAVE
|
||||
bool "kodi-screensaver-asterwave"
|
||||
depends on BR2_PACKAGE_KODI_GL # libsoil
|
||||
depends on BR2_PACKAGE_HAS_LIBGL # libglu, libsoil
|
||||
select BR2_PACKAGE_LIBGLU
|
||||
select BR2_PACKAGE_LIBSOIL
|
||||
help
|
||||
AsterWave screensaver for Kodi
|
||||
|
||||
https://github.com/notspiff/screensaver.asterwave
|
||||
|
||||
comment "asterwave needs an OpenGL backend"
|
||||
depends on !BR2_PACKAGE_KODI_GL
|
||||
comment "kodi-screensaver-asterwave needs OpenGL"
|
||||
depends on !BR2_PACKAGE_HAS_LIBGL
|
||||
|
||||
@@ -6,6 +6,6 @@
|
||||
|
||||
KODI_SCREENSAVER_ASTERWAVE_VERSION = 0dc2c48dadb100954eef823e7e3a5f502ce65b1e
|
||||
KODI_SCREENSAVER_ASTERWAVE_SITE = $(call github,notspiff,screensaver.asterwave,$(KODI_SCREENSAVER_ASTERWAVE_VERSION))
|
||||
KODI_SCREENSAVER_ASTERWAVE_DEPENDENCIES = kodi libsoil
|
||||
KODI_SCREENSAVER_ASTERWAVE_DEPENDENCIES = kodi libglu libsoil
|
||||
|
||||
$(eval $(cmake-package))
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
config BR2_PACKAGE_KODI_SCREENSAVER_BIOGENESIS
|
||||
bool "kodi-screensaver-biogenesis"
|
||||
depends on BR2_PACKAGE_KODI_GL
|
||||
depends on BR2_PACKAGE_HAS_LIBGL
|
||||
help
|
||||
BioGenesis screensaver for Kodi
|
||||
|
||||
https://github.com/notspiff/screensaver.biogenesis
|
||||
|
||||
comment "kodi-screensaver-biogenesis needs an OpenGL backend"
|
||||
depends on !BR2_PACKAGE_KODI_GL
|
||||
comment "kodi-screensaver-biogenesis needs OpenGL"
|
||||
depends on !BR2_PACKAGE_HAS_LIBGL
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
config BR2_PACKAGE_KODI_SCREENSAVER_CPBLOBS
|
||||
bool "kodi-screensaver-cpblobs"
|
||||
depends on BR2_PACKAGE_KODI_GL # libsoil
|
||||
depends on BR2_PACKAGE_HAS_LIBGL # libsoil
|
||||
select BR2_PACKAGE_LIBSOIL
|
||||
help
|
||||
CpBlobs screensaver for Kodi
|
||||
|
||||
https://github.com/notspiff/screensaver.cpblobs
|
||||
|
||||
comment "cpblobs needs an OpenGL backend"
|
||||
depends on !BR2_PACKAGE_KODI_GL
|
||||
comment "kodi-screensaver-cpblobs needs OpenGL"
|
||||
depends on !BR2_PACKAGE_HAS_LIBGL
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
config BR2_PACKAGE_KODI_SCREENSAVER_CRYSTALMORPH
|
||||
bool "kodi-screensaver-crystalmorph"
|
||||
depends on BR2_PACKAGE_KODI_GL # libglu
|
||||
depends on BR2_PACKAGE_HAS_LIBGL # libglu
|
||||
help
|
||||
CrystalMorph screensaver for Kodi
|
||||
|
||||
https://github.com/notspiff/screensaver.crystalmorph
|
||||
|
||||
comment "kodi-screensaver-crystalmorph needs an OpenGL backend"
|
||||
depends on !BR2_PACKAGE_KODI_GL
|
||||
comment "kodi-screensaver-crystalmorph needs OpenGL"
|
||||
depends on !BR2_PACKAGE_HAS_LIBGL
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
config BR2_PACKAGE_KODI_SCREENSAVER_GREYNETIC
|
||||
bool "kodi-screensaver-greynetic"
|
||||
depends on BR2_PACKAGE_KODI_GL
|
||||
depends on BR2_PACKAGE_HAS_LIBGL
|
||||
help
|
||||
Greynetic screensaver for Kodi
|
||||
|
||||
https://github.com/notspiff/screensaver.greynetic
|
||||
|
||||
comment "kodi-screensaver-greynetic needs an OpenGL backend"
|
||||
depends on !BR2_PACKAGE_KODI_GL
|
||||
comment "kodi-screensaver-greynetic needs OpenGL"
|
||||
depends on !BR2_PACKAGE_HAS_LIBGL
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
config BR2_PACKAGE_KODI_SCREENSAVER_MATRIXTRAILS
|
||||
bool "kodi-screensaver-matrixtrails"
|
||||
depends on BR2_PACKAGE_KODI_GL # libsoil
|
||||
depends on BR2_PACKAGE_HAS_LIBGL # libsoil
|
||||
select BR2_PACKAGE_LIBSOIL
|
||||
help
|
||||
Matrix trails screensaver for Kodi
|
||||
|
||||
https://github.com/notspiff/screensaver.matrixtrails
|
||||
|
||||
comment "matrixtrails needs an OpenGL backend"
|
||||
depends on !BR2_PACKAGE_KODI_GL
|
||||
comment "kodi-screensaver-matrixtrails needs OpenGL"
|
||||
depends on !BR2_PACKAGE_HAS_LIBGL
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# Locally computed
|
||||
sha256 91990a29072cf85f4b9253a16a362d83fdfcc7595de796d982a189aa8618555c kodi-screensaver-matrixtrails-16057e7195f930109f0a4aea999296ca315700e5.tar.gz
|
||||
@@ -1,10 +1,10 @@
|
||||
config BR2_PACKAGE_KODI_SCREENSAVER_PINGPONG
|
||||
bool "kodi-screensaver-pingpong"
|
||||
depends on BR2_PACKAGE_KODI_GL
|
||||
depends on BR2_PACKAGE_HAS_LIBGL
|
||||
help
|
||||
Ping-pong screensaver for Kodi
|
||||
|
||||
https://github.com/notspiff/screensaver.pingpong
|
||||
|
||||
comment "kodi-screensaver-greynetic needs an OpenGL backend"
|
||||
depends on !BR2_PACKAGE_KODI_GL
|
||||
comment "kodi-screensaver-pingpong needs OpenGL"
|
||||
depends on !BR2_PACKAGE_HAS_LIBGL
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
config BR2_PACKAGE_KODI_SCREENSAVER_PLANESTATE
|
||||
bool "kodi-screensaver-planestate"
|
||||
depends on BR2_PACKAGE_KODI_GL # libsoil
|
||||
depends on BR2_PACKAGE_HAS_LIBGL # libsoil
|
||||
select BR2_PACKAGE_LIBSOIL
|
||||
help
|
||||
PlaneState screensaver for Kodi
|
||||
|
||||
https://github.com/notspiff/screensaver.planestate
|
||||
|
||||
comment "planestate needs an OpenGL backend"
|
||||
depends on !BR2_PACKAGE_KODI_GL
|
||||
comment "kodi-screensaver-planestate needs OpenGL"
|
||||
depends on !BR2_PACKAGE_HAS_LIBGL
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
config BR2_PACKAGE_KODI_SCREENSAVER_PYRO
|
||||
bool "kodi-screensaver-pyro"
|
||||
depends on BR2_PACKAGE_KODI_GL
|
||||
depends on BR2_PACKAGE_HAS_LIBGL
|
||||
help
|
||||
Pyro screensaver for Kodi
|
||||
|
||||
https://github.com/notspiff/screensaver.pyro
|
||||
|
||||
comment "kodi-screensaver-pyro needs an OpenGL backend"
|
||||
depends on !BR2_PACKAGE_KODI_GL
|
||||
comment "kodi-screensaver-pyro needs OpenGL"
|
||||
depends on !BR2_PACKAGE_HAS_LIBGL
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
config BR2_PACKAGE_KODI_SCREENSAVER_RSXS
|
||||
bool "kodi-screensaver-rsxs"
|
||||
depends on BR2_PACKAGE_KODI_GL # libglu
|
||||
depends on BR2_PACKAGE_HAS_LIBGL # libglu
|
||||
depends on BR2_PACKAGE_XORG7 # xlib_libXmu
|
||||
select BR2_PACKAGE_XLIB_LIBXMU
|
||||
help
|
||||
RSXS screensaver add-ons for Kodi
|
||||
|
||||
https://github.com/notspiff/screensavers.rsxs
|
||||
|
||||
comment "kodi-screensaver-rsxs needs an OpenGL backend"
|
||||
depends on !BR2_PACKAGE_KODI_GL
|
||||
comment "kodi-screensaver-rsxs depends on X.org and needs OpenGL"
|
||||
depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_HAS_LIBGL
|
||||
|
||||
@@ -9,6 +9,6 @@ KODI_SCREENSAVER_RSXS_SITE = $(call github,notspiff,screensavers.rsxs,$(KODI_SCR
|
||||
KODI_SCREENSAVER_RSXS_LICENSE = GPLv3
|
||||
KODI_SCREENSAVER_RSXS_LICENSE_FILES = lib/rsxs-1.0/COPYING
|
||||
|
||||
KODI_SCREENSAVER_RSXS_DEPENDENCIES = kodi
|
||||
KODI_SCREENSAVER_RSXS_DEPENDENCIES = kodi xlib_libXmu
|
||||
|
||||
$(eval $(cmake-package))
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
config BR2_PACKAGE_KODI_SCREENSAVER_STARS
|
||||
bool "kodi-screensaver-stars"
|
||||
depends on BR2_PACKAGE_KODI_GL
|
||||
depends on BR2_PACKAGE_HAS_LIBGL
|
||||
help
|
||||
Starfield screensaver for Kodi
|
||||
|
||||
https://github.com/notspiff/screensaver.stars
|
||||
|
||||
comment "kodi-screensaver-starts needs an OpenGL backend"
|
||||
depends on !BR2_PACKAGE_KODI_GL
|
||||
comment "kodi-screensaver-stars needs OpenGL"
|
||||
depends on !BR2_PACKAGE_HAS_LIBGL
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
config BR2_PACKAGE_KODI_VISUALISATION_FISHBMC
|
||||
bool "kodi-visualisation-fishbmc"
|
||||
depends on BR2_PACKAGE_KODI_GL
|
||||
depends on BR2_PACKAGE_HAS_LIBGL
|
||||
help
|
||||
Fische visualiser for Kodi
|
||||
|
||||
https://github.com/notspiff/visualization.fishbmc
|
||||
|
||||
comment "fishbmc needs an OpenGL backend"
|
||||
depends on !BR2_PACKAGE_KODI_GL
|
||||
comment "kodi-visualisation-fishbmc needs OpenGL"
|
||||
depends on !BR2_PACKAGE_HAS_LIBGL
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
config BR2_PACKAGE_KODI_VISUALISATION_FOUNTAIN
|
||||
bool "kodi-visualisation-fountain"
|
||||
depends on BR2_PACKAGE_KODI_GL # libsoil
|
||||
depends on BR2_PACKAGE_HAS_LIBGL # libsoil
|
||||
select BR2_PACKAGE_LIBSOIL
|
||||
help
|
||||
Fountain visualization for Kodi
|
||||
|
||||
https://github.com/notspiff/visualization.fountain
|
||||
|
||||
comment "fountain needs an OpenGL backend"
|
||||
depends on !BR2_PACKAGE_KODI_GL
|
||||
comment "kodi-visualisation-fountain needs OpenGL"
|
||||
depends on !BR2_PACKAGE_HAS_LIBGL
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
config BR2_PACKAGE_KODI_VISUALISATION_GOOM
|
||||
bool "kodi-visualisation-goom"
|
||||
depends on BR2_PACKAGE_KODI_GL
|
||||
depends on BR2_PACKAGE_HAS_LIBGL
|
||||
help
|
||||
GOOM visualiser for Kodi
|
||||
|
||||
https://github.com/notspiff/visualization.goom
|
||||
|
||||
comment "kodi-visualization-goom needs an OpenGL backend"
|
||||
depends on !BR2_PACKAGE_KODI_GL
|
||||
comment "kodi-visualization-goom needs OpenGL"
|
||||
depends on !BR2_PACKAGE_HAS_LIBGL
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
config BR2_PACKAGE_KODI_VISUALISATION_SHADERTOY
|
||||
bool "kodi-visualisation-shadertoy"
|
||||
select BR2_PACKAGE_LIBGLEW if BR2_PACKAGE_HAS_LIBGL
|
||||
select BR2_PACKAGE_LIBPLATFORM
|
||||
help
|
||||
Shadertoy visualiser for Kodi
|
||||
|
||||
|
||||
@@ -10,4 +10,8 @@ KODI_VISUALISATION_SHADERTOY_LICENSE = GPLv2+
|
||||
KODI_VISUALISATION_SHADERTOY_LICENSE_FILES = src/main.cpp
|
||||
KODI_VISUALISATION_SHADERTOY_DEPENDENCIES = kodi libplatform
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBGLEW),y)
|
||||
KODI_VISUALISATION_SHADERTOY_DEPENDENCIES += libglew
|
||||
endif
|
||||
|
||||
$(eval $(cmake-package))
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
From f63563615e357b7d794a38e1d37276c325d1466f Mon Sep 17 00:00:00 2001
|
||||
From: popcornmix <popcornmix@gmail.com>
|
||||
Date: Sat, 7 May 2016 13:47:42 +0100
|
||||
Subject: [PATCH] [exif] Fix for out-of-memory errors with large numbers
|
||||
of jpegs
|
||||
|
||||
This reverts part of https://github.com/xbmc/xbmc/pull/7472
|
||||
|
||||
Basically the commit made the 4 comments in the exif block increase
|
||||
from 2K to 64K each, so you now need 256K per photo.
|
||||
|
||||
When opening a folder exif information for all photos is extracted.
|
||||
So, for a folder of 5000 jpegs, 1.2GB of RAM is needed just for
|
||||
the comments.
|
||||
|
||||
As a 64K comment string is of no use to kodi, just truncate them to 2K
|
||||
like we used to.
|
||||
|
||||
See:
|
||||
http://trac.kodi.tv/ticket/16193
|
||||
http://forum.kodi.tv/showthread.php?tid=251908
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
(backported from upstream commit in master branch:
|
||||
https://github.com/xbmc/xbmc/commit/f63563615e357b7d794a38e1d37276c325d1466f)
|
||||
---
|
||||
lib/libexif/libexif.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/libexif/libexif.h b/lib/libexif/libexif.h
|
||||
index aa8da07..519ac30 100644
|
||||
--- a/lib/libexif/libexif.h
|
||||
+++ b/lib/libexif/libexif.h
|
||||
@@ -81,7 +81,7 @@ typedef struct {
|
||||
#define EXIF_COMMENT_CHARSET_UNICODE 3 // Exif: Unicode (UTF-16)
|
||||
#define EXIF_COMMENT_CHARSET_JIS 4 // Exif: JIS X208-1990
|
||||
|
||||
-#define MAX_COMMENT 65533 // 2 bytes - 2 for the length param
|
||||
+#define MAX_COMMENT 2000
|
||||
#define MAX_DATE_COPIES 10
|
||||
|
||||
typedef struct {
|
||||
--
|
||||
2.8.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
config BR2_PACKAGE_KODI_ARCH_SUPPORTS
|
||||
bool
|
||||
default y if (BR2_arm || (BR2_mipsel && BR2_TOOLCHAIN_USES_GLIBC) || BR2_i386 || BR2_x86_64) \
|
||||
&& BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS \
|
||||
&& BR2_PACKAGE_BOOST_ARCH_SUPPORTS \
|
||||
&& BR2_TOOLCHAIN_HAS_SYNC_8
|
||||
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
From d0331e8e5b05b475f20b1f3101fe1ad772d7e7e7 Mon Sep 17 00:00:00 2001
|
||||
From: Tim Kientzle <kientzle@acm.org>
|
||||
Date: Sun, 24 Apr 2016 17:13:45 -0700
|
||||
Subject: [PATCH] Issue #656: Fix CVE-2016-1541, VU#862384
|
||||
|
||||
When reading OS X metadata entries in Zip archives that were stored
|
||||
without compression, libarchive would use the uncompressed entry size
|
||||
to allocate a buffer but would use the compressed entry size to limit
|
||||
the amount of data copied into that buffer. Since the compressed
|
||||
and uncompressed sizes are provided by data in the archive itself,
|
||||
an attacker could manipulate these values to write data beyond
|
||||
the end of the allocated buffer.
|
||||
|
||||
This fix provides three new checks to guard against such
|
||||
manipulation and to make libarchive generally more robust when
|
||||
handling this type of entry:
|
||||
1. If an OS X metadata entry is stored without compression,
|
||||
abort the entire archive if the compressed and uncompressed
|
||||
data sizes do not match.
|
||||
2. When sanity-checking the size of an OS X metadata entry,
|
||||
abort this entry if either the compressed or uncompressed
|
||||
size is larger than 4MB.
|
||||
3. When copying data into the allocated buffer, check the copy
|
||||
size against both the compressed entry size and uncompressed
|
||||
entry size.
|
||||
|
||||
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
---
|
||||
Status: from upstream https://github.com/libarchive/libarchive/issues/656
|
||||
|
||||
libarchive/archive_read_support_format_zip.c | 13 +++++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/libarchive/archive_read_support_format_zip.c b/libarchive/archive_read_support_format_zip.c
|
||||
index 0f8262c..0a0be96 100644
|
||||
--- a/libarchive/archive_read_support_format_zip.c
|
||||
+++ b/libarchive/archive_read_support_format_zip.c
|
||||
@@ -2778,6 +2778,11 @@ zip_read_mac_metadata(struct archive_read *a, struct archive_entry *entry,
|
||||
|
||||
switch(rsrc->compression) {
|
||||
case 0: /* No compression. */
|
||||
+ if (rsrc->uncompressed_size != rsrc->compressed_size) {
|
||||
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
|
||||
+ "Malformed OS X metadata entry: inconsistent size");
|
||||
+ return (ARCHIVE_FATAL);
|
||||
+ }
|
||||
#ifdef HAVE_ZLIB_H
|
||||
case 8: /* Deflate compression. */
|
||||
#endif
|
||||
@@ -2798,6 +2803,12 @@ zip_read_mac_metadata(struct archive_read *a, struct archive_entry *entry,
|
||||
(intmax_t)rsrc->uncompressed_size);
|
||||
return (ARCHIVE_WARN);
|
||||
}
|
||||
+ if (rsrc->compressed_size > (4 * 1024 * 1024)) {
|
||||
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
|
||||
+ "Mac metadata is too large: %jd > 4M bytes",
|
||||
+ (intmax_t)rsrc->compressed_size);
|
||||
+ return (ARCHIVE_WARN);
|
||||
+ }
|
||||
|
||||
metadata = malloc((size_t)rsrc->uncompressed_size);
|
||||
if (metadata == NULL) {
|
||||
@@ -2836,6 +2847,8 @@ zip_read_mac_metadata(struct archive_read *a, struct archive_entry *entry,
|
||||
bytes_avail = remaining_bytes;
|
||||
switch(rsrc->compression) {
|
||||
case 0: /* No compression. */
|
||||
+ if ((size_t)bytes_avail > metadata_bytes)
|
||||
+ bytes_avail = metadata_bytes;
|
||||
memcpy(mp, p, bytes_avail);
|
||||
bytes_used = (size_t)bytes_avail;
|
||||
metadata_bytes -= bytes_used;
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
sha256 864e7819210b586d42c674a1fdd577ce75a78b3dda64c63565abe5aefd72c753 curl-7.48.0.tar.bz2
|
||||
sha256 eb63cec4bef692eab9db459033f409533e6d10e20942f4b060b32819e81885f1 curl-7.49.1.tar.bz2
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBCURL_VERSION = 7.48.0
|
||||
LIBCURL_VERSION = 7.49.1
|
||||
LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.bz2
|
||||
LIBCURL_SITE = http://curl.haxx.se/download
|
||||
LIBCURL_DEPENDENCIES = host-pkgconf \
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From 7384f79f69fdb7b691cc5b0c28c301b3fe8b633e Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Thu, 26 May 2016 10:46:57 +0200
|
||||
Subject: [PATCH] xf86atomic: require CAS support in libatomic_ops
|
||||
|
||||
Since AO_compare_and_swap_full() is used by libdrm, AO_REQUIRE_CAS
|
||||
must be defined before including <atomic_ops.h> so that we are sure
|
||||
that CAS support will be provided. This is necessary to make sure that
|
||||
the AO_compare_and_swap_full() function will be provided on all
|
||||
architectures, including the ones that don't have built-in CAS support
|
||||
such as SPARCv8.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
xf86atomic.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/xf86atomic.h b/xf86atomic.h
|
||||
index 922b37d..d7017a5 100644
|
||||
--- a/xf86atomic.h
|
||||
+++ b/xf86atomic.h
|
||||
@@ -58,6 +58,7 @@ typedef struct {
|
||||
#endif
|
||||
|
||||
#if HAVE_LIB_ATOMIC_OPS
|
||||
+#define AO_REQUIRE_CAS
|
||||
#include <atomic_ops.h>
|
||||
|
||||
#define HAS_ATOMIC_OPS 1
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -9,6 +9,15 @@ config BR2_PACKAGE_LIBDRM
|
||||
|
||||
if BR2_PACKAGE_LIBDRM
|
||||
|
||||
config BR2_PACKAGE_LIBDRM_HAS_ATOMIC
|
||||
bool
|
||||
default y if BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS || \
|
||||
BR2_TOOLCHAIN_HAS_SYNC_4
|
||||
|
||||
config BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC
|
||||
bool
|
||||
select BR2_PACKAGE_LIBATOMIC_OPS if !BR2_TOOLCHAIN_HAS_SYNC_4
|
||||
|
||||
config BR2_PACKAGE_LIBDRM_INSTALL_TESTS
|
||||
bool "Install test programs"
|
||||
help
|
||||
@@ -18,24 +27,31 @@ menu "DRM Drivers"
|
||||
|
||||
config BR2_PACKAGE_LIBDRM_INTEL
|
||||
bool "intel"
|
||||
select BR2_PACKAGE_LIBATOMIC_OPS
|
||||
select BR2_PACKAGE_LIBPCIACCESS
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC
|
||||
select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC
|
||||
help
|
||||
Install intel graphics driver.
|
||||
|
||||
config BR2_PACKAGE_LIBDRM_RADEON
|
||||
bool "radeon"
|
||||
depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC
|
||||
select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC
|
||||
help
|
||||
Install AMD/ATI graphics driver.
|
||||
|
||||
config BR2_PACKAGE_LIBDRM_AMDGPU
|
||||
bool "amdgpu"
|
||||
depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC
|
||||
select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC
|
||||
help
|
||||
Install AMD GPU driver.
|
||||
|
||||
config BR2_PACKAGE_LIBDRM_NOUVEAU
|
||||
bool "nouveau"
|
||||
depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC
|
||||
select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC
|
||||
help
|
||||
Install NVIDIA graphics driver.
|
||||
|
||||
@@ -48,6 +64,8 @@ config BR2_PACKAGE_LIBDRM_VMWGFX
|
||||
config BR2_PACKAGE_LIBDRM_OMAP
|
||||
bool "omap (experimental)"
|
||||
depends on BR2_arm
|
||||
depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC
|
||||
select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC
|
||||
help
|
||||
Install the TI OMAP driver using an experimental API.
|
||||
|
||||
@@ -60,12 +78,16 @@ config BR2_PACKAGE_LIBDRM_EXYNOS
|
||||
config BR2_PACKAGE_LIBDRM_FREEDRENO
|
||||
bool "freedreno"
|
||||
depends on BR2_arm || BR2_aarch64 || BR2_aarch64_be
|
||||
depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC
|
||||
select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC
|
||||
help
|
||||
Install Qualcomm Snapdragon driver.
|
||||
|
||||
config BR2_PACKAGE_LIBDRM_TEGRA
|
||||
bool "tegra (experimental)"
|
||||
depends on BR2_arm
|
||||
depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC
|
||||
select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC
|
||||
help
|
||||
Install NVIDIA Tegra driver using an experimental API.
|
||||
|
||||
|
||||
@@ -21,9 +21,16 @@ LIBDRM_CONF_OPTS = \
|
||||
|
||||
LIBDRM_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99'
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBATOMIC_OPS),y)
|
||||
LIBDRM_DEPENDENCIES += libatomic_ops
|
||||
ifeq ($(BR2_sparc_v8)$(BR2_sparc_leon3),y)
|
||||
LIBDRM_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -DAO_NO_SPARC_V9"
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBDRM_INTEL),y)
|
||||
LIBDRM_CONF_OPTS += --enable-intel
|
||||
LIBDRM_DEPENDENCIES += libatomic_ops libpciaccess
|
||||
LIBDRM_DEPENDENCIES += libpciaccess
|
||||
else
|
||||
LIBDRM_CONF_OPTS += --disable-intel
|
||||
endif
|
||||
|
||||
@@ -7,9 +7,7 @@
|
||||
LIBEPOXY_VERSION = v1.3.1
|
||||
LIBEPOXY_SITE = $(call github,anholt,libepoxy,$(LIBEPOXY_VERSION))
|
||||
LIBEPOXY_INSTALL_STAGING = YES
|
||||
# For patches:
|
||||
# 0001-make-egl-and-glx-conditional.patch
|
||||
# 0002-Forward-egl-cflags-into-epoxy.pc.patch
|
||||
# For patches 0001-0006:
|
||||
LIBEPOXY_AUTORECONF = YES
|
||||
LIBEPOXY_DEPENDENCIES = xutil_util-macros
|
||||
LIBEPOXY_LICENSE = MIT
|
||||
@@ -23,7 +21,7 @@ LIBEPOXY_CONF_OPTS += --disable-egl
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_HAS_LIBGL)$(BR2_PACKAGE_XLIB_LIBX11),yy)
|
||||
LIBEPOXY_CONF_OPTS += --enable-egl
|
||||
LIBEPOXY_CONF_OPTS += --enable-glx
|
||||
LIBEPOXY_DEPENDENCIES += libgl xlib_libX11
|
||||
else
|
||||
LIBEPOXY_CONF_OPTS += --disable-glx
|
||||
|
||||
@@ -23,7 +23,9 @@ LIBGPGME_CONF_OPTS = --with-gpg=/usr/bin/gpg \
|
||||
|
||||
# Handle argp-standalone or it errors out during build
|
||||
ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y)
|
||||
LIBGPGME_CONF_ENV += LIBS="-largp"
|
||||
# musl libc does not define error_t in errno.h, but argp.h does.
|
||||
# Assume we have error_t to avoid collision with the argp.h error_t.
|
||||
LIBGPGME_CONF_ENV += LIBS="-largp" ac_cv_type_error_t=yes
|
||||
LIBGPGME_DEPENDENCIES += argp-standalone
|
||||
endif
|
||||
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 0df21f54942dc82ddde4095824e7b65efb96d261 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Mon, 16 May 2016 13:32:07 +1000
|
||||
Subject: [PATCH] Add configure.ac check for static_assert
|
||||
|
||||
Part of C11, defined via assert.h.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||
---
|
||||
Patch status: suggested upstream
|
||||
(https://lists.freedesktop.org/archives/wayland-devel/2016-May/028881.html)
|
||||
|
||||
configure.ac | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 602a86026544..28a5197cfa2e 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -55,6 +55,10 @@ AC_CHECK_DECL(TFD_CLOEXEC,[],
|
||||
AC_CHECK_DECL(CLOCK_MONOTONIC,[],
|
||||
[AC_MSG_ERROR("CLOCK_MONOTONIC is needed to compile libinput")],
|
||||
[[#include <time.h>]])
|
||||
+AC_CHECK_DECL(static_assert, [],
|
||||
+ [AC_DEFINE(static_assert(...), [/* */], [noop static_assert() replacement]),
|
||||
+ AC_MSG_RESULT([no])],
|
||||
+ [[#include <assert.h>]])
|
||||
|
||||
PKG_PROG_PKG_CONFIG()
|
||||
PKG_CHECK_MODULES(MTDEV, [mtdev >= 1.1.0])
|
||||
--
|
||||
2.8.1
|
||||
|
||||
@@ -13,12 +13,14 @@ LIBINPUT_LICENSE = MIT
|
||||
LIBINPUT_LICENSE_FILES = COPYING
|
||||
# Tests need fork, so just disable them everywhere.
|
||||
LIBINPUT_CONF_OPTS = --disable-tests --disable-libwacom
|
||||
# Patching configure.ac
|
||||
LIBINPUT_AUTORECONF = YES
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBGTK3),y)
|
||||
LIBINPUT_CONF_OPTS += --enable-event-gui
|
||||
LIBINPUT_DEPENDENCIES += libgtk3
|
||||
else
|
||||
LIBINOUT_CONF_OPTS += --disable-event-gui
|
||||
LIBINPUT_CONF_OPTS += --disable-event-gui
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -11,6 +11,7 @@ LIBPJSIP_DEPENDENCIES = libsrtp
|
||||
LIBPJSIP_LICENSE = GPLv2+
|
||||
LIBPJSIP_LICENSE_FILES = COPYING
|
||||
LIBPJSIP_INSTALL_STAGING = YES
|
||||
LIBPJSIP_MAKE = $(MAKE1)
|
||||
|
||||
LIBPJSIP_CONF_ENV = \
|
||||
LD="$(TARGET_CC)" \
|
||||
|
||||
@@ -5,6 +5,7 @@ config BR2_PACKAGE_LIBSEMANAGE
|
||||
select BR2_PACKAGE_BZIP2
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_STATIC_LIBS
|
||||
depends on !BR2_TOOLCHAIN_USES_MUSL # getpwent_r()
|
||||
depends on !BR2_arc
|
||||
help
|
||||
libsemanage is the policy management library. It uses
|
||||
@@ -19,4 +20,5 @@ config BR2_PACKAGE_LIBSEMANAGE
|
||||
|
||||
comment "libsemanage needs a toolchain w/ threads, dynamic library"
|
||||
depends on !BR2_arc
|
||||
depends on !BR2_TOOLCHAIN_USES_MUSL
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
|
||||
|
||||
@@ -3,12 +3,12 @@ config BR2_PACKAGE_LIBSIGSEGV
|
||||
depends on !BR2_xtensa
|
||||
depends on !BR2_arc # no ucontext_i.sym file
|
||||
depends on !BR2_microblaze
|
||||
# No ucontext support in uclibc for powerpc and superh
|
||||
depends on !((BR2_powerpc || BR2_sh) && BR2_TOOLCHAIN_USES_UCLIBC)
|
||||
# No ucontext support in uclibc for powerpc, sparc and superh
|
||||
depends on !((BR2_powerpc || BR2_sh || BR2_sparc ) && BR2_TOOLCHAIN_USES_UCLIBC)
|
||||
help
|
||||
Library for handling page faults in user mode.
|
||||
|
||||
http://libsigsegv.sourceforge.net/
|
||||
|
||||
comment "libsigsegv needs an (e)glibc toolchain"
|
||||
depends on (BR2_powerpc || BR2_sh) && BR2_TOOLCHAIN_USES_UCLIBC
|
||||
depends on (BR2_powerpc || BR2_sh || BR2_sparc) && BR2_TOOLCHAIN_USES_UCLIBC
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
sha256 4de9e31f46b44d34871c22f54bfc54398ef124d6f7cafb1f4a5958fbcd3ba12d libxml2-2.9.3.tar.gz
|
||||
sha256 ffb911191e509b966deb55de705387f14156e1a56b21824357cdf0053233633c libxml2-2.9.4.tar.gz
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBXML2_VERSION = 2.9.3
|
||||
LIBXML2_VERSION = 2.9.4
|
||||
LIBXML2_SITE = ftp://xmlsoft.org/libxml2
|
||||
LIBXML2_INSTALL_STAGING = YES
|
||||
LIBXML2_LICENSE = MIT
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
From 5af7ad745323004984287e48b42712e7305de35c Mon Sep 17 00:00:00 2001
|
||||
From: Per Hedeland <per@hedeland.org>
|
||||
Date: Fri, 13 Dec 2013 14:43:06 +0100
|
||||
Subject: [PATCH] Make --maxvars option work
|
||||
|
||||
From upstream: https://gitorious.org/libxslt/libxslt/commit/5af7ad745323004984287e48b42
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
xsltproc/xsltproc.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/xsltproc/xsltproc.c b/xsltproc/xsltproc.c
|
||||
index b22df37..66d8cbb 100644
|
||||
--- a/xsltproc/xsltproc.c
|
||||
+++ b/xsltproc/xsltproc.c
|
||||
@@ -803,6 +803,10 @@ main(int argc, char **argv)
|
||||
(!strcmp(argv[i], "--maxdepth"))) {
|
||||
i++;
|
||||
continue;
|
||||
+ } else if ((!strcmp(argv[i], "-maxvars")) ||
|
||||
+ (!strcmp(argv[i], "--maxvars"))) {
|
||||
+ i++;
|
||||
+ continue;
|
||||
} else if ((!strcmp(argv[i], "-maxparserdepth")) ||
|
||||
(!strcmp(argv[i], "--maxparserdepth"))) {
|
||||
i++;
|
||||
--
|
||||
2.1.0
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 5fc7151a57b89c03d7b825df5a0fae0a8d5f05674c0e7cf2937ecec4d54a028c libxslt-1.1.28.tar.gz
|
||||
# Locally calculated after checking pgp signature
|
||||
sha256 b5976e3857837e7617b29f2249ebb5eeac34e249208d31f1fbf7a6ba7a4090ce libxslt-1.1.29.tar.gz
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBXSLT_VERSION = 1.1.28
|
||||
LIBXSLT_VERSION = 1.1.29
|
||||
LIBXSLT_SITE = ftp://xmlsoft.org/libxslt
|
||||
LIBXSLT_INSTALL_STAGING = YES
|
||||
LIBXSLT_LICENSE = MIT
|
||||
|
||||
@@ -214,13 +214,13 @@ config BR2_DEFAULT_KERNEL_HEADERS
|
||||
default "3.4.112" if BR2_KERNEL_HEADERS_3_4
|
||||
default "3.10.101" if BR2_KERNEL_HEADERS_3_10
|
||||
default "3.12.59" if BR2_KERNEL_HEADERS_3_12
|
||||
default "3.14.68" if BR2_KERNEL_HEADERS_3_14
|
||||
default "3.18.32" if BR2_KERNEL_HEADERS_3_18
|
||||
default "3.14.70" if BR2_KERNEL_HEADERS_3_14
|
||||
default "3.18.33" if BR2_KERNEL_HEADERS_3_18
|
||||
default "3.19.8" if BR2_KERNEL_HEADERS_3_19
|
||||
default "4.0.9" if BR2_KERNEL_HEADERS_4_0
|
||||
default "4.1.23" if BR2_KERNEL_HEADERS_4_1
|
||||
default "4.1.24" if BR2_KERNEL_HEADERS_4_1
|
||||
default "4.2.8" if BR2_KERNEL_HEADERS_4_2
|
||||
default "4.3.6" if BR2_KERNEL_HEADERS_4_3
|
||||
default "4.4.9" if BR2_KERNEL_HEADERS_4_4
|
||||
default "4.5.3" if BR2_KERNEL_HEADERS_4_5
|
||||
default "4.4.11" if BR2_KERNEL_HEADERS_4_4
|
||||
default "4.5.5" if BR2_KERNEL_HEADERS_4_5
|
||||
default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
From 3055eb3da9d0a202c1a975f7db0c8370a09a30bc Mon Sep 17 00:00:00 2001
|
||||
From: "Joseph D. Gaeddert" <joseph@liquidsdr.org>
|
||||
Date: Thu, 25 Feb 2016 17:47:07 -0500
|
||||
Subject: [PATCH] math/poly: wrapping isnan in T_ABS to help compilation w/
|
||||
certain gcc versions
|
||||
|
||||
This is an upstreamed patch backported from here:
|
||||
|
||||
https://github.com/jgaeddert/liquid-dsp/commit/3055eb3da9d0a202c1a975f7db0c8370a09a30bc
|
||||
|
||||
It fixes the following error:
|
||||
|
||||
src/math/src/poly.findroots.c: In function
|
||||
'polyc_findroots_bairstow_recursion':
|
||||
src/math/src/poly.findroots.c:305:9: error: non-floating-point argument
|
||||
in call to function '__builtin_isnan'
|
||||
if (isnan(du) || isnan(dv)) {
|
||||
|
||||
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
|
||||
---
|
||||
src/math/src/poly.findroots.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/math/src/poly.findroots.c b/src/math/src/poly.findroots.c
|
||||
index 21b5756..e000ee8 100644
|
||||
--- a/src/math/src/poly.findroots.c
|
||||
+++ b/src/math/src/poly.findroots.c
|
||||
@@ -302,7 +302,7 @@ void POLY(_findroots_bairstow_recursion)(T * _p,
|
||||
#endif
|
||||
|
||||
// adjust u, v
|
||||
- if (isnan(du) || isnan(dv)) {
|
||||
+ if (isnan(T_ABS(du)) || isnan(T_ABS(dv))) {
|
||||
u *= 0.5f;
|
||||
v *= 0.5f;
|
||||
} else {
|
||||
--
|
||||
2.7.3
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user