initial work on merging with buildroot 2016.05

This commit is contained in:
Calin Crisan 2016-08-14 19:46:22 +03:00
parent e818a1957f
commit 9821bdb5dc
1675 changed files with 27024 additions and 12053 deletions

1
.gitignore vendored
View File

@ -4,7 +4,6 @@
/.config.old
/..config.tmp
/.config
/defconfig
*.depend
*.o
/*.patch

16
COPYING
View File

@ -1,3 +1,19 @@
With the exceptions below, Buildroot is distributed under the terms of
the GNU General Public License, reproduced below; either version 2 of
the License, or (at your option) any later version.
Some files in Buildroot contain a different license statement. Those
files are licensed under the license contained in the file itself.
Buildroot also bundles patch files, which are applied to the sources
of the various packages. Those patches are not covered by the license
of Buildroot. Instead, they are covered by the license of the software
to which the patches are applied. When said software is available
under multiple licenses, the Buildroot patches are only provided under
the publicly accessible licenses.
-----------------------------------------------------------------
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991

131
Config.in
View File

@ -18,6 +18,35 @@ config BR2_EXTERNAL
string
option env="BR2_EXTERNAL"
# Hidden config symbols for packages to check system gcc version
config BR2_HOST_GCC_VERSION
string
option env="HOST_GCC_VERSION"
config BR2_HOST_GCC_AT_LEAST_4_6
bool
default y if BR2_HOST_GCC_VERSION = "4 6"
config BR2_HOST_GCC_AT_LEAST_4_7
bool
default y if BR2_HOST_GCC_VERSION = "4 7"
select BR2_HOST_GCC_AT_LEAST_4_6
config BR2_HOST_GCC_AT_LEAST_4_8
bool
default y if BR2_HOST_GCC_VERSION = "4 8"
select BR2_HOST_GCC_AT_LEAST_4_7
config BR2_HOST_GCC_AT_LEAST_4_9
bool
default y if BR2_HOST_GCC_VERSION = "4 9"
select BR2_HOST_GCC_AT_LEAST_4_8
config BR2_HOST_GCC_AT_LEAST_5
bool
default y if BR2_HOST_GCC_VERSION = "5"
select BR2_HOST_GCC_AT_LEAST_4_9
# Hidden boolean selected by packages in need of Java in order to build
# (example: xbmc)
config BR2_NEEDS_HOST_JAVA
@ -165,8 +194,10 @@ config BR2_PRIMARY_SITE
Primary site to download from. If this option is set then buildroot
will try to download package source first from this site and try the
default if the file is not found.
Valid URIs are URIs recognized by $(WGET) and scp URIs of the form
scp://[user@]host:path.
Valid URIs are:
- URIs recognized by $(WGET)
- local URIs of the form file://absolutepath
- scp URIs of the form scp://[user@]host:path.
config BR2_PRIMARY_SITE_ONLY
bool "Only allow downloads from primary download site"
@ -286,6 +317,33 @@ config BR2_CCACHE_INITIAL_SETUP
These initial settings are applied after ccache has been compiled.
config BR2_CCACHE_USE_BASEDIR
bool "Use relative paths"
default y
help
Allow ccache to convert absolute paths within the output
directory into relative paths.
During the build, many -I include directives are given with
an absolute path. These absolute paths end up in the hashes
that are computed by ccache. Therefore, when you build from a
different directory, the hash will be different and the
cached object will not be used.
To improve cache performance, set this option to y. This
allows ccache to rewrite absolute paths within the output
directory into relative paths. Note that only paths within
the output directory will be rewritten; therefore, if you
change BR2_HOST_DIR to point outside the output directory and
subsequently move it to a different location, this will lead
to cache misses.
This option has as a result that the debug information in the
object files also has only relative paths. Therefore, make
sure you cd to the build directory before starting gdb. See
the section "COMPILING IN DIFFERENT DIRECTORIES" in the
ccache manual for more information.
endif
config BR2_DEPRECATED
@ -296,14 +354,6 @@ config BR2_DEPRECATED
if BR2_DEPRECATED
config BR2_DEPRECATED_SINCE_2014_08
bool
default y
config BR2_DEPRECATED_SINCE_2015_02
bool
default y
config BR2_DEPRECATED_SINCE_2015_05
bool
default y
@ -312,6 +362,18 @@ config BR2_DEPRECATED_SINCE_2015_08
bool
default y
config BR2_DEPRECATED_SINCE_2015_11
bool
default y
config BR2_DEPRECATED_SINCE_2016_02
bool
default y
config BR2_DEPRECATED_SINCE_2016_05
bool
default y
endif
config BR2_ENABLE_DEBUG
@ -493,12 +555,13 @@ config BR2_GOOGLE_BREAKPAD_INCLUDE_FILES
endif
config BR2_ENABLE_SSP
choice
bool "build code with Stack Smashing Protection"
default BR2_SSP_ALL if BR2_ENABLE_SSP # legacy
depends on BR2_TOOLCHAIN_HAS_SSP
help
Enable stack smashing protection support using GCCs
-fstack-protector-all option.
Enable stack smashing protection support using GCC's
-fstack-protector option family.
See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
for details.
@ -507,7 +570,43 @@ config BR2_ENABLE_SSP
support. This is always the case for glibc and eglibc
toolchain, but is optional in uClibc toolchains.
comment "enabling Stack Smashing Protection requires support in the toolchain"
config BR2_SSP_NONE
bool "None"
help
Disable stack-smashing protection.
config BR2_SSP_REGULAR
bool "-fstack-protector"
help
Emit extra code to check for buffer overflows, such as stack
smashing attacks. This is done by adding a guard variable to
functions with vulnerable objects. This includes functions
that call alloca, and functions with buffers larger than 8
bytes. The guards are initialized when a function is entered
and then checked when the function exits. If a guard check
fails, an error message is printed and the program exits.
config BR2_SSP_STRONG
bool "-fstack-protector-strong"
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
help
Like -fstack-protector but includes additional functions to be
protected - those that have local array definitions, or have
references to local frame addresses.
comment "Stack Smashing Protection strong needs a toolchain w/ gcc >= 4.9"
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
config BR2_SSP_ALL
bool "-fstack-protector-all"
help
Like -fstack-protector except that all functions are
protected. This option might have a significant performance
impact on the compiled binaries.
endchoice
comment "Stack Smashing Protection needs a toolchain w/ SSP"
depends on !BR2_TOOLCHAIN_HAS_SSP
choice
@ -595,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

File diff suppressed because it is too large Load Diff

View File

@ -41,7 +41,7 @@ else # umask
all:
# Set and export the version string
export BR2_VERSION := 2016.02
export BR2_VERSION := 2016.05
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
@ -69,7 +69,7 @@ endif
.NOTPARALLEL:
# absolute path
TOPDIR := $(shell pwd)
TOPDIR := $(CURDIR)
CONFIG_CONFIG_IN = Config.in
CONFIG = support/kconfig
DATE := $(shell date +%Y%m%d)
@ -343,6 +343,8 @@ ifeq ($(BR2_HAVE_DOT_CONFIG),y)
unexport CROSS_COMPILE
unexport ARCH
unexport CC
unexport LD
unexport AR
unexport CXX
unexport CPP
unexport RANLIB
@ -581,7 +583,10 @@ define PURGE_LOCALES
do \
for langdir in $$dir/*; \
do \
grep -qx $${langdir##*/} $(LOCALE_WHITELIST) || rm -rf $$langdir; \
if [ -e "$${langdir}" ]; \
then \
grep -qx "$${langdir##*/}" $(LOCALE_WHITELIST) || rm -rf $$langdir; \
fi \
done; \
done
if [ -d $(TARGET_DIR)/usr/share/X11/locale ]; \
@ -655,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))

View File

@ -94,8 +94,7 @@ config BR2_i386
config BR2_m68k
bool "m68k"
select BR2_ARCH_HAS_MMU_MANDATORY
depends on BROKEN # ice in uclibc / inet_ntoa_r
# MMU support is set by the subarchitecture file, arch/Config.in.m68k
help
Motorola 68000 family microprocessor
http://en.wikipedia.org/wiki/M68k

View File

@ -52,6 +52,9 @@ config BR2_ARM_CPU_ARMV6
config BR2_ARM_CPU_ARMV7A
bool
config BR2_ARM_CPU_ARMV7M
bool
choice
prompt "Target Architecture Variant"
depends on BR2_arm || BR2_armeb
@ -159,10 +162,22 @@ config BR2_cortex_a15
select BR2_ARM_CPU_HAS_THUMB2
select BR2_ARM_CPU_ARMV7A
select BR2_ARCH_HAS_MMU_OPTIONAL
config BR2_cortex_a17
bool "cortex-A17"
select BR2_ARM_CPU_HAS_ARM
select BR2_ARM_CPU_HAS_NEON
select BR2_ARM_CPU_HAS_VFPV4
select BR2_ARM_CPU_HAS_THUMB2
select BR2_ARM_CPU_ARMV7A
select BR2_ARCH_HAS_MMU_OPTIONAL
config BR2_cortex_m3
bool "cortex-M3"
select BR2_ARM_CPU_HAS_THUMB
select BR2_ARM_CPU_HAS_THUMB2
select BR2_ARM_CPU_ARMV7M
config BR2_cortex_m4
bool "cortex-M4"
select BR2_ARM_CPU_HAS_THUMB2
select BR2_ARM_CPU_ARMV7M
config BR2_fa526
bool "fa526/626"
select BR2_ARM_CPU_HAS_ARM
@ -442,7 +457,9 @@ config BR2_GCC_TARGET_CPU
default "cortex-a9" if BR2_cortex_a9
default "cortex-a12" if BR2_cortex_a12
default "cortex-a15" if BR2_cortex_a15
default "cortex-a17" if BR2_cortex_a17
default "cortex-m3" if BR2_cortex_m3
default "cortex-m4" if BR2_cortex_m4
default "fa526" if BR2_fa526
default "marvell-pj4" if BR2_pj4
default "strongarm" if BR2_strongarm

View File

@ -4,10 +4,38 @@ config BR2_ARCH
config BR2_ENDIAN
default "BIG"
config BR2_GCC_TARGET_ARCH
default "68000" if BR2_m68k_68000
default "68010" if BR2_m68k_68010
default "68020" if BR2_m68k_68020
default "68030" if BR2_m68k_68030
# symbols used to distinguish between m68k and coldfire
# for gcc multilib
config BR2_m68k_m68k
bool
config BR2_m68k_cf
bool
# coldfire variants will be added later
choice
prompt "Target CPU"
depends on BR2_m68k
default BR2_m68k_68040
help
Specific CPU variant to use
config BR2_m68k_68040
bool "68040"
select BR2_m68k_m68k
select BR2_ARCH_HAS_MMU_MANDATORY
config BR2_m68k_cf5208
bool "5208"
select BR2_m68k_cf
select BR2_SOFT_FLOAT
endchoice
config BR2_GCC_TARGET_CPU
default "68040" if BR2_m68k_68040
default "68060" if BR2_m68k_68060
default "5208" if BR2_m68k_cf5208
config BR2_GCC_TARGET_ARCH
default "m68k" if BR2_m68k_m68k
default "cf" if BR2_m68k_cf

View File

@ -25,9 +25,6 @@ choice
help
Specific CPU variant to use
config BR2_x86_i386
bool "i386"
depends on !BR2_x86_64
config BR2_x86_i486
bool "i486"
depends on !BR2_x86_64
@ -210,7 +207,6 @@ config BR2_x86_winchip2
endchoice
config BR2_ARCH
default "i386" if BR2_x86_i386
default "i486" if BR2_x86_i486
default "i586" if BR2_x86_i586
default "i586" if BR2_x86_x1000
@ -230,6 +226,8 @@ config BR2_ARCH
default "i686" if BR2_x86_nocona && BR2_i386
default "i686" if BR2_x86_core2 && BR2_i386
default "i686" if BR2_x86_corei7 && BR2_i386
default "i686" if BR2_x86_corei7_avx && BR2_i386
default "i686" if BR2_x86_corei7_avx2 && BR2_i386
default "i686" if BR2_x86_atom && BR2_i386
default "i686" if BR2_x86_opteron && BR2_i386
default "i686" if BR2_x86_opteron_sse3 && BR2_i386
@ -246,7 +244,6 @@ config BR2_ENDIAN
default "LITTLE"
config BR2_GCC_TARGET_ARCH
default "i386" if BR2_x86_i386
default "i486" if BR2_x86_i486
default "i586" if BR2_x86_i586
default "i586" if BR2_x86_x1000

View File

@ -13,4 +13,4 @@ background cccccc
title Buildroot
root (hd0,0)
kernel /boot/bzImage rw root=/dev/sda1
kernel /boot/bzImage rw root=/dev/sda1 rootwait

View File

@ -154,8 +154,8 @@ endif # BR2_TARGET_GRUB2_I386_PC
config BR2_TARGET_GRUB2_BUILTIN_MODULES
string "builtin modules"
default "boot linux ext2 fat part_msdos part_gpt normal biosdisk" if BR2_TARGET_GRUB2_I386_PC
default "boot linux ext2 fat part_msdos part_gpt normal efi_gop" \
default "boot linux ext2 fat squash4 part_msdos part_gpt normal biosdisk" if BR2_TARGET_GRUB2_I386_PC
default "boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop" \
if BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI
config BR2_TARGET_GRUB2_BUILTIN_CONFIG

View File

@ -2,5 +2,5 @@ set default="0"
set timeout="5"
menuentry "Buildroot" {
linux /boot/bzImage root=/dev/sda1 console=tty1
linux /boot/bzImage root=/dev/sda1 rootwait console=tty1
}

View File

@ -0,0 +1,76 @@
commit e5f2b577ded109291c9632dacb6eaa621d8a59fe
Author: Sylvain Gault <sylvain.gault@gmail.com>
Date: Tue Sep 29 02:38:25 2015 +0200
bios: Fix alignment change with gcc 5
The section aligment specified in the ld scripts have to be greater or
equal to those in the .o files generated by gcc.
Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
Tested-by: poma <pomidorabelisima@gmail.com>
Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld
index 7b4e012..7390451 100644
--- a/core/i386/syslinux.ld
+++ b/core/i386/syslinux.ld
@@ -266,7 +266,7 @@ SECTIONS
__text_end = .;
}
- . = ALIGN(16);
+ . = ALIGN(32);
__rodata_vma = .;
__rodata_lma = __rodata_vma + __text_lma - __text_vma;
@@ -361,7 +361,7 @@ SECTIONS
__dynamic_end = .;
}
- . = ALIGN(16);
+ . = ALIGN(32);
__data_vma = .;
__data_lma = __data_vma + __text_lma - __text_vma;
@@ -377,7 +377,7 @@ SECTIONS
__pm_code_dwords = (__pm_code_len + 3) >> 2;
. = ALIGN(128);
-
+
__bss_vma = .;
__bss_lma = .; /* Dummy */
.bss (NOLOAD) : AT (__bss_lma) {
diff --git a/core/x86_64/syslinux.ld b/core/x86_64/syslinux.ld
index 1057112..bf815c4 100644
--- a/core/x86_64/syslinux.ld
+++ b/core/x86_64/syslinux.ld
@@ -266,7 +266,7 @@ SECTIONS
__text_end = .;
}
- . = ALIGN(16);
+ . = ALIGN(32);
__rodata_vma = .;
__rodata_lma = __rodata_vma + __text_lma - __text_vma;
@@ -361,7 +361,7 @@ SECTIONS
__dynamic_end = .;
}
- . = ALIGN(16);
+ . = ALIGN(32);
__data_vma = .;
__data_lma = __data_vma + __text_lma - __text_vma;
@@ -377,7 +377,7 @@ SECTIONS
__pm_code_dwords = (__pm_code_len + 3) >> 2;
. = ALIGN(128);
-
+
__bss_vma = .;
__bss_lma = .; /* Dummy */
.bss (NOLOAD) : AT (__bss_lma) {

View File

@ -2,6 +2,11 @@ config BR2_TARGET_SYSLINUX
bool "syslinux"
depends on BR2_i386 || BR2_x86_64
select BR2_HOSTARCH_NEEDS_IA32_COMPILER
# Make sure at least one of the flavors is installed
select BR2_TARGET_SYSLINUX_ISOLINUX \
if !BR2_TARGET_SYSLINUX_PXELINUX && \
!BR2_TARGET_SYSLINUX_MBR && \
!BR2_TARGET_SYSLINUX_EFI
help
The syslinux bootloader for x86 systems.
This includes: syslinux, pxelinux, extlinux.
@ -13,25 +18,22 @@ if BR2_TARGET_SYSLINUX
config BR2_TARGET_SYSLINUX_LEGACY_BIOS
bool
choice
bool "Image to install"
config BR2_TARGET_SYSLINUX_ISOLINUX
bool "isolinux"
bool "install isolinux"
select BR2_TARGET_SYSLINUX_LEGACY_BIOS
help
Install the legacy-BIOS 'isolinux' image, to boot off
optical media (CDROM, DVD.)
config BR2_TARGET_SYSLINUX_PXELINUX
bool "pxelinux"
bool "install pxelinux"
select BR2_TARGET_SYSLINUX_LEGACY_BIOS
help
Install the legacy-BIOS 'pxelinux' image, to boot off
the network using PXE.
config BR2_TARGET_SYSLINUX_MBR
bool "mbr"
bool "install mbr"
select BR2_TARGET_SYSLINUX_LEGACY_BIOS
help
Install the legacy-BIOS 'mbr' image, to boot off a
@ -39,12 +41,11 @@ config BR2_TARGET_SYSLINUX_MBR
or 'syslinux').
config BR2_TARGET_SYSLINUX_EFI
bool "efi"
bool "install efi"
select BR2_PACKAGE_GNU_EFI
help
Install the 'efi' image, to boot from an EFI environment.
endchoice
if BR2_TARGET_SYSLINUX_LEGACY_BIOS

View File

@ -16,7 +16,7 @@ SYSLINUX_INSTALL_IMAGES = YES
SYSLINUX_DEPENDENCIES = host-nasm host-util-linux host-upx
ifeq ($(BR2_TARGET_SYSLINUX_LEGACY_BIOS),y)
SYSLINUX_TARGET = bios
SYSLINUX_TARGET += bios
endif
# The syslinux build system must be forced to use Buildroot's gnu-efi
@ -30,7 +30,7 @@ else
SYSLINUX_EFI_BITS = efi32
endif # 64-bit
SYSLINUX_DEPENDENCIES += gnu-efi
SYSLINUX_TARGET = $(SYSLINUX_EFI_BITS)
SYSLINUX_TARGET += $(SYSLINUX_EFI_BITS)
SYSLINUX_EFI_ARGS = \
EFIINC=$(STAGING_DIR)/usr/include/efi \
LIBDIR=$(STAGING_DIR)/usr/lib \

View File

@ -38,7 +38,7 @@ choice
Select the specific U-Boot version you want to use
config BR2_TARGET_UBOOT_LATEST_VERSION
bool "2016.01"
bool "2016.03"
config BR2_TARGET_UBOOT_CUSTOM_VERSION
bool "Custom version"
@ -54,6 +54,9 @@ config BR2_TARGET_UBOOT_CUSTOM_GIT
config BR2_TARGET_UBOOT_CUSTOM_HG
bool "Custom Mercurial repository"
config BR2_TARGET_UBOOT_CUSTOM_SVN
bool "Custom Subversion repository"
endchoice
config BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE
@ -64,7 +67,7 @@ config BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION
string "URL of custom U-Boot tarball"
depends on BR2_TARGET_UBOOT_CUSTOM_TARBALL
if BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG
if BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG || BR2_TARGET_UBOOT_CUSTOM_SVN
config BR2_TARGET_UBOOT_CUSTOM_REPO_URL
string "URL of custom repository"
@ -76,31 +79,19 @@ config BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION
default BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION \
if BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION != "" # legacy
help
Revision to use in the typical format used by Git/Mercurial
Revision to use in the typical format used by Git/Mercurial/Subversion
E.G. a sha id, a tag, branch, ..
endif
config BR2_TARGET_UBOOT_VERSION
string
default "2016.01" if BR2_TARGET_UBOOT_LATEST_VERSION
default "2016.03" if BR2_TARGET_UBOOT_LATEST_VERSION
default BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE \
if BR2_TARGET_UBOOT_CUSTOM_VERSION
default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL
default BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION \
if BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG
config BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR
string "custom patch dir"
depends on BR2_DEPRECATED_SINCE_2015_05
help
If your board requires custom patches, add the path to the
directory containing the patches here. The patches must be
named uboot-<something>.patch.
Most users may leave this empty
NOTE: Use BR2_TARGET_UBOOT_PATCH instead.
if BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG || BR2_TARGET_UBOOT_CUSTOM_SVN
config BR2_TARGET_UBOOT_PATCH
string "Custom U-Boot patches"
@ -332,11 +323,19 @@ config BR2_TARGET_UBOOT_ZYNQ_IMAGE
depends on BR2_TARGET_UBOOT_SPL
depends on BR2_TARGET_UBOOT_FORMAT_DTB_IMG
help
Generate the BOOT.BIN file from U-Boot's SPL. The image
boots the Xilinx Zynq chip without any FPGA bitstream.
A bitstream can be loaded by the U-Boot. The SPL searchs
for u-boot-dtb.img file so this U-Boot format is required
to be set.
Generate the BOOT.BIN file from U-Boot's SPL. The image
boots the Xilinx Zynq chip without any FPGA bitstream.
A bitstream can be loaded by the U-Boot. The SPL searchs
for u-boot-dtb.img file so this U-Boot format is required
to be set.
config BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC
bool "CRC SPL image for Altera SoC FPGA"
depends on BR2_arm
depends on BR2_TARGET_UBOOT_SPL
help
Generate SPL image fixed by the mkpimage tool to enable
booting on the Altera SoC FPGA based platforms.
menuconfig BR2_TARGET_UBOOT_ENVIMAGE
bool "Environment image"

View File

@ -1,2 +1,2 @@
# Locally computed:
sha256 e5792fba9399d9804aa2ef667f14ff771e2cdece72367d340250265bf095a5d5 u-boot-2016.01.tar.bz2
sha256 e49337262ecac44dbdeac140f2c6ebd1eba345e0162b0464172e7f05583ed7bb u-boot-2016.03.tar.bz2

View File

@ -24,6 +24,9 @@ UBOOT_SITE_METHOD = git
else ifeq ($(BR2_TARGET_UBOOT_CUSTOM_HG),y)
UBOOT_SITE = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_REPO_URL))
UBOOT_SITE_METHOD = hg
else ifeq ($(BR2_TARGET_UBOOT_CUSTOM_SVN),y)
UBOOT_SITE = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_REPO_URL))
UBOOT_SITE_METHOD = svn
else
# Handle stable official U-Boot versions
UBOOT_SITE = ftp://ftp.denx.de/pub/u-boot
@ -47,6 +50,7 @@ else ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND_BIN),y)
UBOOT_BIN = u-boot-nand.bin
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_DTB_IMG),y)
UBOOT_BIN = u-boot-dtb.img
UBOOT_MAKE_TARGET = all $(UBOOT_BIN)
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_IMG),y)
UBOOT_BIN = u-boot.img
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_IMX),y)
@ -54,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
@ -83,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
@ -100,16 +107,6 @@ endef
UBOOT_POST_EXTRACT_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
UBOOT_POST_RSYNC_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
# Prior to Buildroot 2015.05, only patch directories were supported. New
# configurations use BR2_TARGET_UBOOT_PATCH instead.
ifneq ($(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR)),)
define UBOOT_APPLY_CUSTOM_PATCHES
$(APPLY_PATCHES) $(@D) $(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR) \*.patch
endef
UBOOT_POST_PATCH_HOOKS += UBOOT_APPLY_CUSTOM_PATCHES
endif
# Analogous code exists in linux/linux.mk. Basically, the generic
# package infrastructure handles downloading and applying remote
# patches. Local patches are handled depending on whether they are
@ -204,6 +201,15 @@ UBOOT_DEPENDENCIES += host-zynq-boot-bin
UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_GENERATE_ZYNQ_IMAGE
endif
ifeq ($(BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC),y)
define UBOOT_CRC_ALTERA_SOCFPGA_IMAGE
$(HOST_DIR)/usr/bin/mkpimage -o $(BINARIES_DIR)/$(notdir $(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME))).crc \
$(@D)/$(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME))
endef
UBOOT_DEPENDENCIES += host-mkpimage
UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_CRC_ALTERA_SOCFPGA_IMAGE
endif
ifeq ($(BR2_TARGET_UBOOT_ENVIMAGE),y)
ifeq ($(BR_BUILDING),y)
ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)),)

View File

@ -7,8 +7,6 @@ BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-bananapi"
BR2_OPTIMIZE_2=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_GLIBC_VERSION_2_22=y
BR2_BINUTILS_VERSION_2_25_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_TARGET_OPTIMIZATION="-pipe"
BR2_TARGET_GENERIC_HOSTNAME=""
@ -63,6 +61,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y
BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y

View File

@ -7,8 +7,6 @@ BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-cubietruck"
BR2_OPTIMIZE_2=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_GLIBC_VERSION_2_22=y
BR2_BINUTILS_VERSION_2_25_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_TARGET_OPTIMIZATION="-pipe"
BR2_TARGET_GENERIC_HOSTNAME=""
@ -63,6 +61,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y
BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y

View File

@ -65,6 +65,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y
BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y

View File

@ -3,9 +3,7 @@ BR2_DL_DIR="$(TOPDIR)/.download"
BR2_CCACHE=y
BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-odroidc2"
BR2_OPTIMIZE_2=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14=y
BR2_GLIBC_VERSION_2_22=y
BR2_BINUTILS_VERSION_2_25_X=y
BR2_KERNEL_HEADERS_3_14=y
BR2_TARGET_OPTIMIZATION="-pipe"
BR2_TARGET_GENERIC_HOSTNAME=""
BR2_TARGET_GENERIC_ISSUE=""
@ -55,6 +53,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y
BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y

View File

@ -56,6 +56,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y
BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y

View File

@ -7,8 +7,6 @@ BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-raspberrypi2"
BR2_OPTIMIZE_2=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_GLIBC_VERSION_2_22=y
BR2_BINUTILS_VERSION_2_25_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_TARGET_OPTIMIZATION="-pipe"
BR2_TARGET_GENERIC_HOSTNAME=""
@ -63,6 +61,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y
BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y

View File

@ -7,8 +7,6 @@ BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-raspberrypi3"
BR2_OPTIMIZE_2=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_GLIBC_VERSION_2_22=y
BR2_BINUTILS_VERSION_2_25_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_TARGET_OPTIMIZATION="-pipe"
BR2_TARGET_GENERIC_HOSTNAME=""
@ -63,6 +61,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y
BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y

View File

@ -6,8 +6,6 @@ BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-raspberrypi"
BR2_OPTIMIZE_2=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_GLIBC_VERSION_2_22=y
BR2_BINUTILS_VERSION_2_25_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_TARGET_OPTIMIZATION="-pipe"
BR2_TARGET_GENERIC_HOSTNAME=""
@ -62,6 +60,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y
BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y

View File

@ -26,7 +26,7 @@
# In terms of configuration option, this macro assumes that the
# BR2_TARGET_ROOTFS_$(FSTYPE) config option allows to enable/disable
# the generation of a filesystem image of a particular type. If
# configura options BR2_TARGET_ROOTFS_$(FSTYPE)_GZIP,
# the configuration options BR2_TARGET_ROOTFS_$(FSTYPE)_GZIP,
# BR2_TARGET_ROOTFS_$(FSTYPE)_BZIP2 or
# BR2_TARGET_ROOTFS_$(FSTYPE)_LZMA exist and are enabled, then the
# macro will automatically generate a compressed filesystem image.

View File

@ -16,6 +16,7 @@ menu "Audio and video applications"
source "package/ffmpeg/Config.in"
source "package/flac/Config.in"
source "package/flite/Config.in"
source "package/gmrender-resurrect/Config.in"
source "package/gstreamer/Config.in"
source "package/gstreamer1/Config.in"
source "package/jack2/Config.in"
@ -33,6 +34,8 @@ menu "Audio and video applications"
source "package/mpd-mpc/Config.in"
source "package/mpg123/Config.in"
source "package/mplayer/Config.in"
source "package/mpv/Config.in"
source "package/multicat/Config.in"
source "package/musepack/Config.in"
source "package/ncmpc/Config.in"
source "package/on2-8170-libs/Config.in"
@ -78,6 +81,7 @@ menu "Debugging, profiling and benchmark"
source "package/dmalloc/Config.in"
source "package/dropwatch/Config.in"
source "package/dstat/Config.in"
source "package/dt/Config.in"
source "package/duma/Config.in"
source "package/fio/Config.in"
source "package/gdb/Config.in"
@ -205,6 +209,7 @@ comment "Fonts"
source "package/bitstream-vera/Config.in"
source "package/cantarell/Config.in"
source "package/dejavu/Config.in"
source "package/font-awesome/Config.in"
source "package/ghostscript-fonts/Config.in"
source "package/inconsolata/Config.in"
source "package/liberation/Config.in"
@ -338,10 +343,12 @@ menu "Firmware"
source "package/rpi-firmware/Config.in"
source "package/sunxi-boards/Config.in"
source "package/ux500-firmware/Config.in"
source "package/wilc1000-firmware/Config.in"
source "package/zd1211-firmware/Config.in"
endmenu
source "package/a10disp/Config.in"
source "package/acpid/Config.in"
source "package/aer-inject/Config.in"
source "package/am335x-pru-package/Config.in"
source "package/avrdude/Config.in"
source "package/bcache-tools/Config.in"
@ -387,6 +394,7 @@ endif
source "package/hwdata/Config.in"
source "package/hwloc/Config.in"
source "package/i2c-tools/Config.in"
source "package/i7z/Config.in"
source "package/input-event-daemon/Config.in"
source "package/input-tools/Config.in"
source "package/intel-microcode/Config.in"
@ -405,14 +413,17 @@ endif
source "package/lshw/Config.in"
source "package/lsuio/Config.in"
source "package/lvm2/Config.in"
source "package/mali-t76x/Config.in"
source "package/mdadm/Config.in"
source "package/memtest86/Config.in"
source "package/memtester/Config.in"
source "package/minicom/Config.in"
source "package/msr-tools/Config.in"
source "package/nanocom/Config.in"
source "package/neard/Config.in"
source "package/nvidia-driver/Config.in"
source "package/nvidia-tegra23/Config.in"
source "package/nvme/Config.in"
source "package/ofono/Config.in"
source "package/ola/Config.in"
source "package/on2-8170-modules/Config.in"
@ -540,6 +551,7 @@ menu "Lua libraries/modules"
source "package/lzlib/Config.in"
source "package/orbit/Config.in"
source "package/rings/Config.in"
source "package/turbolua/Config.in"
source "package/wsapi/Config.in"
source "package/xavante/Config.in"
endmenu
@ -625,6 +637,7 @@ endif
if BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
menu "External python modules"
source "package/python-alsaaudio/Config.in"
source "package/python-autobahn/Config.in"
source "package/python-backports-abc/Config.in"
source "package/python-beautifulsoup4/Config.in"
source "package/python-bottle/Config.in"
@ -632,6 +645,7 @@ menu "External python modules"
source "package/python-cbor/Config.in"
source "package/python-certifi/Config.in"
source "package/python-cffi/Config.in"
source "package/python-characteristic/Config.in"
source "package/python-cheetah/Config.in"
source "package/python-cherrypy/Config.in"
source "package/python-click/Config.in"
@ -639,6 +653,8 @@ menu "External python modules"
source "package/python-configobj/Config.in"
source "package/python-configshell-fb/Config.in"
source "package/python-crc16/Config.in"
source "package/python-crossbar/Config.in"
source "package/python-cryptography/Config.in"
source "package/python-cssselect/Config.in"
source "package/python-daemon/Config.in"
source "package/python-dialog/Config.in"
@ -655,6 +671,8 @@ menu "External python modules"
source "package/python-httplib2/Config.in"
source "package/python-id3/Config.in"
source "package/python-idna/Config.in"
source "package/python-iniparse/Config.in"
source "package/python-iowait/Config.in"
source "package/python-ipaddr/Config.in"
source "package/python-ipaddress/Config.in"
source "package/python-ipy/Config.in"
@ -664,6 +682,7 @@ menu "External python modules"
source "package/python-json-schema-validator/Config.in"
source "package/python-keyring/Config.in"
source "package/python-libconfig/Config.in"
source "package/python-lmdb/Config.in"
source "package/python-lxml/Config.in"
source "package/python-mad/Config.in"
source "package/python-mako/Config.in"
@ -680,19 +699,27 @@ menu "External python modules"
source "package/python-paho-mqtt/Config.in"
source "package/python-pam/Config.in"
source "package/python-paramiko/Config.in"
source "package/python-pexpect/Config.in"
source "package/python-picamera/Config.in"
source "package/python-pillow/Config.in"
source "package/python-posix-ipc/Config.in"
source "package/python-protobuf/Config.in"
source "package/python-psutil/Config.in"
source "package/python-ptyprocess/Config.in"
source "package/python-pyasn/Config.in"
source "package/python-pyasn-modules/Config.in"
source "package/python-pycli/Config.in"
source "package/python-pycparser/Config.in"
source "package/python-pycrypto/Config.in"
source "package/python-pycurl/Config.in"
source "package/python-pydal/Config.in"
source "package/python-pyftpdlib/Config.in"
source "package/python-pygame/Config.in"
source "package/python-pygments/Config.in"
source "package/python-pyinotify/Config.in"
source "package/python-pymysql/Config.in"
source "package/python-pynacl/Config.in"
source "package/python-pyopenssl/Config.in"
source "package/python-pyparsing/Config.in"
source "package/python-pyparted/Config.in"
source "package/python-pypcap/Config.in"
@ -705,6 +732,8 @@ menu "External python modules"
source "package/python-pysnmp/Config.in"
source "package/python-pysnmp-apps/Config.in"
source "package/python-pysnmp-mibs/Config.in"
source "package/python-pysocks/Config.in"
source "package/python-pytrie/Config.in"
source "package/python-pytz/Config.in"
source "package/python-pyudev/Config.in"
source "package/python-pyusb/Config.in"
@ -715,7 +744,10 @@ menu "External python modules"
source "package/python-rpi-gpio/Config.in"
source "package/python-rtslib-fb/Config.in"
source "package/python-serial/Config.in"
source "package/python-service-identity/Config.in"
source "package/python-setproctitle/Config.in"
source "package/python-setuptools/Config.in"
source "package/python-shutilwhich/Config.in"
source "package/python-simplejson/Config.in"
source "package/python-singledispatch/Config.in"
source "package/python-sip/Config.in"
@ -724,7 +756,10 @@ menu "External python modules"
source "package/python-spidev/Config.in"
source "package/python-thrift/Config.in"
source "package/python-tornado/Config.in"
source "package/python-treq/Config.in"
source "package/python-twisted/Config.in"
source "package/python-txaio/Config.in"
source "package/python-ujson/Config.in"
source "package/python-urllib3/Config.in"
source "package/python-urwid/Config.in"
source "package/python-versiontools/Config.in"
@ -732,6 +767,7 @@ menu "External python modules"
source "package/python-webpy/Config.in"
source "package/python-werkzeug/Config.in"
source "package/python-ws4py/Config.in"
source "package/python-wsaccel/Config.in"
source "package/python-zope-interface/Config.in"
endmenu
endif
@ -823,6 +859,7 @@ menu "Crypto"
source "package/libsodium/Config.in"
source "package/libssh/Config.in"
source "package/libssh2/Config.in"
source "package/libtomcrypt/Config.in"
source "package/libuecc/Config.in"
source "package/mbedtls/Config.in"
source "package/nettle/Config.in"
@ -872,6 +909,7 @@ menu "Graphics"
source "package/gdk-pixbuf/Config.in"
source "package/giblib/Config.in"
source "package/giflib/Config.in"
source "package/granite/Config.in"
source "package/graphite2/Config.in"
source "package/gtkmm3/Config.in"
source "package/harfbuzz/Config.in"
@ -885,6 +923,7 @@ menu "Graphics"
source "package/libdmtx/Config.in"
source "package/libdri2/Config.in"
source "package/libdrm/Config.in"
source "package/libepoxy/Config.in"
source "package/libevas-generic-loaders/Config.in"
source "package/libexif/Config.in"
source "package/libfm/Config.in"
@ -924,7 +963,9 @@ menu "Graphics"
source "package/powervr/Config.in"
source "package/tiff/Config.in"
source "package/wayland/Config.in"
source "package/wayland-protocols/Config.in"
source "package/webkit/Config.in"
source "package/webkitgtk/Config.in"
source "package/webkitgtk24/Config.in"
source "package/webp/Config.in"
source "package/zbar/Config.in"
@ -967,12 +1008,14 @@ menu "Hardware handling"
source "package/libsoc/Config.in"
source "package/libusb/Config.in"
source "package/libusb-compat/Config.in"
source "package/libusbgx/Config.in"
source "package/libv4l/Config.in"
source "package/libxkbcommon/Config.in"
source "package/mraa/Config.in"
source "package/mtdev/Config.in"
source "package/ne10/Config.in"
source "package/neardal/Config.in"
source "package/owfs/Config.in"
source "package/pcsc-lite/Config.in"
source "package/tslib/Config.in"
source "package/urg/Config.in"
@ -1020,8 +1063,10 @@ menu "JSON/XML"
source "package/mxml/Config.in"
source "package/rapidjson/Config.in"
source "package/rapidxml/Config.in"
source "package/raptor/Config.in"
source "package/tinyxml/Config.in"
source "package/tinyxml2/Config.in"
source "package/valijson/Config.in"
source "package/xerces/Config.in"
source "package/yajl/Config.in"
source "package/yaml-cpp/Config.in"
@ -1052,6 +1097,7 @@ menu "Multimedia"
source "package/libfslparser/Config.in"
source "package/libfslvpuwrap/Config.in"
source "package/libhdhomerun/Config.in"
source "package/libimxvpuapi/Config.in"
source "package/libmatroska/Config.in"
source "package/libmms/Config.in"
source "package/libmpeg2/Config.in"
@ -1117,6 +1163,7 @@ menu "Networking"
source "package/liboping/Config.in"
source "package/libosip2/Config.in"
source "package/libpcap/Config.in"
source "package/libpjsip/Config.in"
source "package/librsync/Config.in"
source "package/libshairplay/Config.in"
source "package/libshout/Config.in"
@ -1132,8 +1179,10 @@ menu "Networking"
source "package/libvncserver/Config.in"
source "package/libwebsock/Config.in"
source "package/libwebsockets/Config.in"
source "package/lksctp-tools/Config.in"
source "package/mongoose/Config.in"
source "package/neon/Config.in"
source "package/norm/Config.in"
source "package/nss-mdns/Config.in"
source "package/nss-pam-ldapd/Config.in"
source "package/omniorb/Config.in"
@ -1194,6 +1243,7 @@ menu "Other"
source "package/libevdev/Config.in"
source "package/libevent/Config.in"
source "package/libffi/Config.in"
source "package/libgee/Config.in"
source "package/libglib2/Config.in"
source "package/libical/Config.in"
source "package/liblinear/Config.in"
@ -1207,6 +1257,7 @@ menu "Other"
source "package/libsigc/Config.in"
source "package/libsigsegv/Config.in"
source "package/libtasn1/Config.in"
source "package/libtommath/Config.in"
source "package/libtpl/Config.in"
source "package/libubox/Config.in"
source "package/libuci/Config.in"
@ -1288,6 +1339,7 @@ menu "Miscellaneous"
source "package/empty/Config.in"
source "package/gnuradio/Config.in"
source "package/googlefontdirectory/Config.in"
source "package/gr-osmosdr/Config.in"
source "package/haveged/Config.in"
source "package/mcrypt/Config.in"
source "package/mobile-broadband-provider-info/Config.in"
@ -1295,6 +1347,7 @@ menu "Miscellaneous"
source "package/qpdf/Config.in"
source "package/shared-mime-info/Config.in"
source "package/snowball-init/Config.in"
source "package/taskd/Config.in"
source "package/wine/Config.in"
source "package/xutil_util-macros/Config.in"
endmenu
@ -1321,10 +1374,12 @@ menu "Networking applications"
source "package/bwm-ng/Config.in"
source "package/c-icap/Config.in"
source "package/c-icap-modules/Config.in"
source "package/cannelloni/Config.in"
source "package/can-utils/Config.in"
source "package/chrony/Config.in"
source "package/civetweb/Config.in"
source "package/connman/Config.in"
source "package/connman-gtk/Config.in"
source "package/conntrack-tools/Config.in"
source "package/crda/Config.in"
source "package/ctorrent/Config.in"
@ -1343,9 +1398,10 @@ endif
source "package/faifa/Config.in"
source "package/fastd/Config.in"
source "package/fcgiwrap/Config.in"
source "package/flannel/Config.in"
source "package/fmc/Config.in"
source "package/foomatic-filters/Config.in"
source "package/fping/Config.in"
source "package/freeswitch/Config.in"
source "package/gesftpserver/Config.in"
source "package/gutenprint/Config.in"
source "package/hans/Config.in"
@ -1420,6 +1476,7 @@ endif
source "package/nginx/Config.in"
source "package/ngircd/Config.in"
source "package/ngrep/Config.in"
source "package/nload/Config.in"
source "package/nmap/Config.in"
source "package/noip/Config.in"
source "package/ntp/Config.in"
@ -1436,13 +1493,16 @@ endif
source "package/p910nd/Config.in"
source "package/phidgetwebservice/Config.in"
source "package/portmap/Config.in"
source "package/pound/Config.in"
source "package/pppd/Config.in"
source "package/pptp-linux/Config.in"
source "package/privoxy/Config.in"
source "package/proftpd/Config.in"
source "package/proxychains-ng/Config.in"
source "package/ptpd/Config.in"
source "package/ptpd2/Config.in"
source "package/pure-ftpd/Config.in"
source "package/putty/Config.in"
source "package/quagga/Config.in"
source "package/radvd/Config.in"
source "package/rp-pppoe/Config.in"
@ -1451,7 +1511,6 @@ endif
source "package/rsync/Config.in"
source "package/rtorrent/Config.in"
source "package/rtptools/Config.in"
source "package/samba/Config.in"
source "package/samba4/Config.in"
source "package/sconeserver/Config.in"
source "package/ser2net/Config.in"
@ -1497,6 +1556,7 @@ endif
source "package/wireless_tools/Config.in"
source "package/wireshark/Config.in"
source "package/wpa_supplicant/Config.in"
source "package/wpan-tools/Config.in"
source "package/wvdial/Config.in"
source "package/xinetd/Config.in"
source "package/xl2tp/Config.in"
@ -1543,6 +1603,7 @@ endif
comment "Utilities"
source "package/at/Config.in"
source "package/ccrypt/Config.in"
source "package/crudini/Config.in"
source "package/dialog/Config.in"
source "package/dtach/Config.in"
source "package/file/Config.in"
@ -1569,6 +1630,7 @@ endmenu
menu "System tools"
source "package/acl/Config.in"
source "package/android-tools/Config.in"
source "package/attr/Config.in"
source "package/audit/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
@ -1580,6 +1642,7 @@ if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/dcron/Config.in"
source "package/debianutils/Config.in"
endif
source "package/cgroupfs-mount/Config.in"
source "package/dsp-tools/Config.in"
source "package/emlog/Config.in"
source "package/ftop/Config.in"
@ -1602,6 +1665,9 @@ endif
source "package/powerpc-utils/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/procps-ng/Config.in"
endif
source "package/procrank_linux/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/psmisc/Config.in"
endif
source "package/pwgen/Config.in"
@ -1609,6 +1675,7 @@ endif
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/rsyslog/Config.in"
endif
source "package/scrub/Config.in"
source "package/scrypt/Config.in"
source "package/smack/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS

View File

@ -1,6 +1,8 @@
menu "Host utilities"
source "package/aespipe/Config.in.host"
source "package/android-tools/Config.in.host"
source "package/cbootimage/Config.in.host"
source "package/checkpolicy/Config.in.host"
source "package/cramfs/Config.in.host"
source "package/dfu-util/Config.in.host"
@ -13,6 +15,7 @@ menu "Host utilities"
source "package/genext2fs/Config.in.host"
source "package/genimage/Config.in.host"
source "package/genpart/Config.in.host"
source "package/go/Config.in.host"
source "package/gptfdisk/Config.in.host"
source "package/imx-usb-loader/Config.in.host"
source "package/jq/Config.in.host"
@ -29,8 +32,11 @@ menu "Host utilities"
source "package/sam-ba/Config.in.host"
source "package/squashfs/Config.in.host"
source "package/sunxi-tools/Config.in.host"
source "package/tegrarcm/Config.in.host"
source "package/uboot-tools/Config.in.host"
source "package/util-linux/Config.in.host"
source "package/vboot-utils/Config.in.host"
source "package/xorriso/Config.in.host"
source "package/zip/Config.in.host"
endmenu

View File

@ -145,7 +145,7 @@ TARGET_CFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FL
-Wl$(comma)-elf2flt)
TARGET_CXXFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\
-Wl$(comma)-elf2flt)
TARGET_LDFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),-elf2flt)
TARGET_LDFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt)
endif
ifeq ($(BR2_BINFMT_FLAT_SHARED),y)

View File

@ -0,0 +1,2 @@
# Locally calculated
sha256 5077405030e8f97a1edd4b86d469466abbc4d32b4a4609e58459347fcd1ba35b a10disp-v0.6.1.tar.gz

View File

@ -16,15 +16,15 @@ ACL_LICENSE_FILES = doc/COPYING doc/COPYING.LGPL
# While the configuration system uses autoconf, the Makefiles are
# hand-written and do not use automake. Therefore, we have to hack
# around their deficiencies by passing installation paths.
ACL_INSTALL_STAGING_OPTS = \
prefix=$(STAGING_DIR)/usr \
exec_prefix=$(STAGING_DIR)/usr \
PKG_DEVLIB_DIR=$(STAGING_DIR)/usr/lib \
ACL_INSTALL_STAGING_OPTS = \
prefix=$(STAGING_DIR)/usr \
exec_prefix=$(STAGING_DIR)/usr \
PKG_DEVLIB_DIR=$(STAGING_DIR)/usr/lib \
install-dev install-lib
ACL_INSTALL_TARGET_OPTS = \
prefix=$(TARGET_DIR)/usr \
exec_prefix=$(TARGET_DIR)/usr \
ACL_INSTALL_TARGET_OPTS = \
prefix=$(TARGET_DIR)/usr \
exec_prefix=$(TARGET_DIR)/usr \
install install-lib
# The libdir variable in libacl.la is empty, so let's fix it. This is

View File

@ -1,184 +0,0 @@
From a3dac1c3cee169e52c7d644dd565235a1cd833e3 Mon Sep 17 00:00:00 2001
From: Brendan Heading <brendanheading@gmail.com>
Date: Wed, 22 Jul 2015 23:10:11 +0100
Subject: [PATCH] support for non-glibc libcs
Added a TEMP_FAILURE_RETRY macro. This is a glibcism provided by
glibc and uclibc, but missing from musl (& possibly other libcs).
Upstream-status: submitted (see https://sourceforge.net/p/acpid2/tickets/7/)
---
acpi_listen.c | 2 ++
acpid.c | 1 +
event.c | 2 ++
input_layer.c | 1 +
kacpimon/libnetlink.h | 2 ++
libc_compat.h | 40 ++++++++++++++++++++++++++++++++++++++++
libnetlink.c | 2 ++
netlink.c | 1 +
proc.c | 1 +
ud_socket.c | 1 +
10 files changed, 53 insertions(+)
create mode 100644 libc_compat.h
diff --git a/acpi_listen.c b/acpi_listen.c
index d0bc175..839e4f9 100644
--- a/acpi_listen.c
+++ b/acpi_listen.c
@@ -39,6 +39,8 @@
#include "acpid.h"
#include "ud_socket.h"
+#include "libc_compat.h"
+
static int handle_cmdline(int *argc, char ***argv);
static char *read_line(int fd);
diff --git a/acpid.c b/acpid.c
index 23f1e58..8555c82 100644
--- a/acpid.c
+++ b/acpid.c
@@ -41,6 +41,7 @@
#include "input_layer.h"
#include "inotify_handler.h"
#include "netlink.h"
+#include "libc_compat.h"
static int handle_cmdline(int *argc, char ***argv);
static void close_fds(void);
diff --git a/event.c b/event.c
index 324078f..3b069a2 100644
--- a/event.c
+++ b/event.c
@@ -39,6 +39,8 @@
#include "log.h"
#include "sock.h"
#include "ud_socket.h"
+#include "libc_compat.h"
+
#include "event.h"
/*
* What is a rule? It's polymorphic, pretty much.
diff --git a/input_layer.c b/input_layer.c
index 9aa19c6..cbf8085 100644
--- a/input_layer.c
+++ b/input_layer.c
@@ -42,6 +42,7 @@
#include "log.h"
#include "connection_list.h"
#include "event.h"
+#include "libc_compat.h"
#include "input_layer.h"
diff --git a/kacpimon/libnetlink.h b/kacpimon/libnetlink.h
index 6185cbc..0c61896 100644
--- a/kacpimon/libnetlink.h
+++ b/kacpimon/libnetlink.h
@@ -7,6 +7,8 @@
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
+#include "libc_compat.h"
+
struct rtnl_handle
{
int fd;
diff --git a/libc_compat.h b/libc_compat.h
new file mode 100644
index 0000000..39f2336
--- /dev/null
+++ b/libc_compat.h
@@ -0,0 +1,40 @@
+/*
+ * libc_compat.h - implement defs/macros missing from some libcs
+ *
+ * Copyright (C) 1999-2000 Andrew Henroid
+ * Copyright (C) 2001 Sun Microsystems
+ * Portions Copyright (C) 2004 Tim Hockin (thockin@hockin.org)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef LIBC_COMPAT_H__
+#define LIBC_COMPAT_H__
+
+/* Evaluate EXPRESSION, and repeat as long as it returns -1 with `errno'
+ set to EINTR. This macro is present on glibc/uclibc but may not be in other cases. */
+
+#ifndef ____GLIBC__
+#ifndef TEMP_FAILURE_RETRY
+#define TEMP_FAILURE_RETRY(expression) \
+ (__extension__ \
+ ({ long int __result; \
+ do __result = (long int) (expression); \
+ while (__result == -1L && errno == EINTR); \
+ __result; }))
+#endif
+#endif /* __GLIBC__ */
+
+#endif /* LIBC_COMPAT_H__ */
diff --git a/libnetlink.c b/libnetlink.c
index e61d417..cc7aedc 100644
--- a/libnetlink.c
+++ b/libnetlink.c
@@ -24,6 +24,8 @@
#include <time.h>
#include <sys/uio.h>
+#include "libc_compat.h"
+
#include "libnetlink.h"
void rtnl_close(struct rtnl_handle *rth)
diff --git a/netlink.c b/netlink.c
index c64e878..27e3536 100644
--- a/netlink.c
+++ b/netlink.c
@@ -41,6 +41,7 @@
#include "libnetlink.h"
#include "genetlink.h"
#include "acpi_genetlink.h"
+#include "libc_compat.h"
#include "acpi_ids.h"
#include "connection_list.h"
diff --git a/proc.c b/proc.c
index 5bb8fa2..f96b913 100644
--- a/proc.c
+++ b/proc.c
@@ -31,6 +31,7 @@
#include "log.h"
#include "event.h"
#include "connection_list.h"
+#include "libc_compat.h"
#include "proc.h"
diff --git a/ud_socket.c b/ud_socket.c
index 2790686..1790917 100644
--- a/ud_socket.c
+++ b/ud_socket.c
@@ -21,6 +21,7 @@
#include "acpid.h"
#include "log.h"
#include "ud_socket.h"
+#include "libc_compat.h"
int
ud_create_socket(const char *name, mode_t socketmode)
--
2.4.3

View File

@ -1,2 +1,3 @@
# Locally computed:
sha256 3d11454f4283c8f771d8dbd5eb6b5f2bbd9d94d9f77d68bab89e35d98b67ab31 acpid-2.0.22.tar.xz
# From https://sourceforge.net/projects/acpid2/files/
md5 e41bdf628e122edb4342fca432ea7db9 acpid-2.0.27.tar.xz
sha1 aabf129499f99b3c14e7a9f5b5ec717b0913e9c8 acpid-2.0.27.tar.xz

View File

@ -4,7 +4,7 @@
#
################################################################################
ACPID_VERSION = 2.0.22
ACPID_VERSION = 2.0.27
ACPID_SOURCE = acpid-$(ACPID_VERSION).tar.xz
ACPID_SITE = http://downloads.sourceforge.net/project/acpid2
ACPID_LICENSE = GPLv2+

View File

@ -1,2 +1,2 @@
# From http://ftp.gnome.org/pub/gnome/sources/adwaita-icon-theme/3.18/adwaita-icon-theme-3.18.0.sha256sum
sha256 5e9ce726001fdd8ee93c394fdc3cdb9e1603bbed5b7c62df453ccf521ec50e58 adwaita-icon-theme-3.18.0.tar.xz
# From http://ftp.gnome.org/pub/gnome/sources/adwaita-icon-theme/3.20/adwaita-icon-theme-3.20.sha256sum
sha256 7a0a887349f340dd644032f89d81264b694c4b006bd51af1c2c368d431e7ae35 adwaita-icon-theme-3.20.tar.xz

View File

@ -4,9 +4,8 @@
#
################################################################################
ADWAITA_ICON_THEME_VERSION_MAJOR = 3.18
ADWAITA_ICON_THEME_VERSION = $(ADWAITA_ICON_THEME_VERSION_MAJOR).0
ADWAITA_ICON_THEME_SITE = http://ftp.gnome.org/pub/gnome/sources/adwaita-icon-theme/$(ADWAITA_ICON_THEME_VERSION_MAJOR)
ADWAITA_ICON_THEME_VERSION = 3.20
ADWAITA_ICON_THEME_SITE = http://ftp.gnome.org/pub/gnome/sources/adwaita-icon-theme/$(ADWAITA_ICON_THEME_VERSION)
ADWAITA_ICON_THEME_SOURCE = adwaita-icon-theme-$(ADWAITA_ICON_THEME_VERSION).tar.xz
ADWAITA_ICON_THEME_LICENSE = LGPLv3 or CC-BY-SA-3.0
ADWAITA_ICON_THEME_LICENSE_FILES = COPYING COPYING_LGPL COPYING_CCBYSA3

View File

@ -0,0 +1,12 @@
config BR2_PACKAGE_AER_INJECT
bool "aer-inject"
help
aer-inject allows to inject PCIE AER errors on the software
level into a running Linux kernel. This is intended for
validation of the PCIE driver error recovery handler and
PCIE AER core handler.
Requires a new Linux kernel with PCIE AER error injection
patches.
https://git.kernel.org/cgit/linux/kernel/git/gong.chen/aer-inject.git/

View File

@ -0,0 +1,23 @@
################################################################################
#
# aer-inject
#
################################################################################
AER_INJECT_VERSION = 9bd5e2c7886fca72f139cd8402488a2235957d41
AER_INJECT_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/gong.chen/aer-inject.git
AER_INJECT_SITE_METHOD = git
AER_INJECT_LICENSE = GPLv2
AER_INJECT_LICENSE_FILES = README
AER_INJECT_DEPENDENCIES = host-flex host-bison
define AER_INJECT_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS)
endef
define AER_INJECT_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \
DESTDIR=$(TARGET_DIR) PREFIX=/usr/bin install
endef
$(eval $(generic-package))

View File

@ -3,8 +3,6 @@ config BR2_PACKAGE_AICCU
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork()
# Triggers the _gp link issue
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
select BR2_PACKAGE_GNUTLS
help
SixXS Automatic IPv6 Connectivity Client Utility
@ -23,4 +21,3 @@ config BR2_PACKAGE_AICCU
comment "aiccu needs a toolchain w/ wchar, threads"
depends on BR2_USE_MMU
depends on !(BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS)
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII

View File

@ -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"

View File

@ -1,29 +0,0 @@
Subject: [PATCH] topology: Add missing include sys/stat.h
Necessary for proper definitions of S_IRUSR & co. Otherwise it
results in compile errors with old glibc:
parser.c: In function 'snd_tplg_build_file':
parser.c:262: error: 'S_IRUSR' undeclared (first use in this function)
parser.c:262: error: (Each undeclared identifier is reported only once
parser.c:262: error: for each function it appears in.)
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
Status: upstream
diff --git a/src/topology/parser.c b/src/topology/parser.c
index 80a0ae0..18bb9c7 100644
--- a/src/topology/parser.c
+++ b/src/topology/parser.c
@@ -16,6 +16,7 @@
Liam Girdwood <liam.r.girdwood@linux.intel.com>
*/
+#include <sys/stat.h>
#include "list.h"
#include "tplg_local.h"
--
1.7.11.7

View File

@ -1,2 +1,2 @@
# Locally calculated
sha256 dfde65d11e82b68f82e562ab6228c1fb7c78854345d3c57e2c68a9dd3dae1f15 alsa-lib-1.1.0.tar.bz2
sha256 8ac76c3144ed2ed49da7622ab65ac5415205913ccbedde877972383cbc234269 alsa-lib-1.1.1.tar.bz2

View File

@ -4,7 +4,7 @@
#
################################################################################
ALSA_LIB_VERSION = 1.1.0
ALSA_LIB_VERSION = 1.1.1
ALSA_LIB_SOURCE = alsa-lib-$(ALSA_LIB_VERSION).tar.bz2
ALSA_LIB_SITE = ftp://ftp.alsa-project.org/pub/lib
ALSA_LIB_LICENSE = LGPLv2.1+

View File

@ -1,143 +0,0 @@
bat: Avoid local signal.h file
Patch backported from upstream:
http://git.alsa-project.org/?p=alsa-utils.git;a=commit;h=3bf8e79c3bfee3ca14277aad3d9c406dfc053bbf
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
From 3bf8e79c3bfee3ca14277aad3d9c406dfc053bbf Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Mon, 9 Nov 2015 14:04:11 +0100
Subject: [PATCH 1/2] bat: Avoid local signal.h file
The local header file named as "signal.h" causes mysterious compile
error when built with an old glibc.
signal.h:27: error: conflicting types for 'sin_generator_init'
./signal.h:27: error: previous declaration of 'sin_generator_init' was here
signal.h:28: error: conflicting types for 'sin_generator_next_sample'
./signal.h:28: error: previous declaration of 'sin_generator_next_sample' was here
....
This turned out to be the conflict of signal.h; namely, pthread.h that
is included before our local signal.h also includes "pthread.h".
Since our local "signal.h" has a higher priority, it gets loaded
instead of the expected pthread's one. Then we load it again, and it
screws up.
Although it's basically a bug of pthread, it's anyway not good to have
a header file conflicting with the standard header file. So, let's
name it more explicitly as specific to BAT, bat-signal.h, for avoiding
such a conflict.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
bat/Makefile.am | 2 +-
bat/alsa.c | 2 +-
bat/bat-signal.h | 30 ++++++++++++++++++++++++++++++
bat/signal.h | 30 ------------------------------
4 files changed, 32 insertions(+), 32 deletions(-)
create mode 100644 bat/bat-signal.h
delete mode 100644 bat/signal.h
diff --git a/bat/Makefile.am b/bat/Makefile.am
index 842ae6b..f0dc5ab 100644
--- a/bat/Makefile.am
+++ b/bat/Makefile.am
@@ -13,7 +13,7 @@ bat_SOURCES = \
noinst_HEADERS = \
common.h \
- signal.h \
+ bat-signal.h \
alsa.h \
convert.h \
analyze.h
diff --git a/bat/alsa.c b/bat/alsa.c
index 582c604..d31a633 100644
--- a/bat/alsa.c
+++ b/bat/alsa.c
@@ -27,7 +27,7 @@
#include "common.h"
#include "alsa.h"
-#include "signal.h"
+#include "bat-signal.h"
struct pcm_container {
snd_pcm_t *handle;
diff --git a/bat/bat-signal.h b/bat/bat-signal.h
new file mode 100644
index 0000000..a295517
--- /dev/null
+++ b/bat/bat-signal.h
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2015 Caleb Crome
+ * Copyright (C) 2013-2015 Intel Corporation
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+/*
+ * Here's a generic sine wave generator that will work indefinitely
+ * for any frequency.
+ *
+ * Note: the state & phasor are stored as doubles (and updated as
+ * doubles) because after a million samples the magnitude drifts a
+ * bit. If we really need floats, it can be done with periodic
+ * renormalization of the state_real+state_imag magnitudes.
+ */
+
+int sin_generator_init(struct sin_generator *, float, float, float);
+float sin_generator_next_sample(struct sin_generator *);
+void sin_generator_vfill(struct sin_generator *, float *, int);
+int generate_sine_wave(struct bat *, int, void *);
diff --git a/bat/signal.h b/bat/signal.h
deleted file mode 100644
index a295517..0000000
--- a/bat/signal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2015 Caleb Crome
- * Copyright (C) 2013-2015 Intel Corporation
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
-
-/*
- * Here's a generic sine wave generator that will work indefinitely
- * for any frequency.
- *
- * Note: the state & phasor are stored as doubles (and updated as
- * doubles) because after a million samples the magnitude drifts a
- * bit. If we really need floats, it can be done with periodic
- * renormalization of the state_real+state_imag magnitudes.
- */
-
-int sin_generator_init(struct sin_generator *, float, float, float);
-float sin_generator_next_sample(struct sin_generator *);
-void sin_generator_vfill(struct sin_generator *, float *, int);
-int generate_sine_wave(struct bat *, int, void *);
--
2.4.10

View File

@ -1,61 +0,0 @@
bat: Don't pass incompatible function pointers to pthread_cleanup_push()
Patch backported from upstream:
http://git.alsa-project.org/?p=alsa-utils.git;a=commit;h=ed0cce1b6061aade0077982cb5d22fa68ddffd2f
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
From ed0cce1b6061aade0077982cb5d22fa68ddffd2f Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Mon, 9 Nov 2015 14:09:50 +0100
Subject: [PATCH 2/2] bat: Don't pass incompatible function pointers to
pthread_cleanup_push()
pthread_cleanup_push() takes a function pointer for void (void *).
Although it may work in most cases, we shouldn't pass an incompatible
function pointer there, as some old gcc complains:
alsa.c:560: warning: initialization from incompatible pointer type
alsa.c:562: warning: initialization from incompatible pointer type
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
bat/alsa.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/bat/alsa.c b/bat/alsa.c
index d31a633..5eaa25b 100644
--- a/bat/alsa.c
+++ b/bat/alsa.c
@@ -505,6 +505,16 @@ static int read_from_pcm_loop(FILE *fp, int count,
return 0;
}
+static void pcm_cleanup(void *p)
+{
+ snd_pcm_close(p);
+}
+
+static void file_cleanup(void *p)
+{
+ fclose(p);
+}
+
/**
* Record
*/
@@ -557,9 +567,9 @@ void *record_alsa(struct bat *bat)
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, NULL);
- pthread_cleanup_push(snd_pcm_close, sndpcm.handle);
+ pthread_cleanup_push(pcm_cleanup, sndpcm.handle);
pthread_cleanup_push(free, sndpcm.buffer);
- pthread_cleanup_push(fclose, fp);
+ pthread_cleanup_push(file_cleanup, fp);
err = write_wav_header(fp, &wav, bat);
if (err != 0) {
--
2.4.10

View File

@ -1,2 +1,2 @@
# Locally calculated
sha256 3b1c3135b76e14532d3dd23fb15759ddd7daf9ffbc183f7a9a0a3a86374748f1 alsa-utils-1.1.0.tar.bz2
sha256 89757c9abaf420831b088fce354d492acc170bd02bb50eb7392c175f594b8041 alsa-utils-1.1.1.tar.bz2

View File

@ -4,7 +4,7 @@
#
################################################################################
ALSA_UTILS_VERSION = 1.1.0
ALSA_UTILS_VERSION = 1.1.1
ALSA_UTILS_SOURCE = alsa-utils-$(ALSA_UTILS_VERSION).tar.bz2
ALSA_UTILS_SITE = ftp://ftp.alsa-project.org/pub/utils
ALSA_UTILS_LICENSE = GPLv2
@ -55,7 +55,7 @@ ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ALSATPLG) += usr/bin/alsatplg
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_AMIDI) += usr/bin/amidi
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_AMIXER) += usr/bin/amixer
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_APLAY) += usr/bin/aplay usr/bin/arecord
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_BAT) += usr/bin/bat
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_BAT) += usr/bin/alsabat
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_IECSET) += usr/bin/iecset
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ACONNECT) += usr/bin/aconnect
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ALSAUCM) += usr/bin/alsaucm

View File

@ -0,0 +1,162 @@
[PATCH] Fix makefiles for out-of-tree build
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
debian/makefiles/adb.mk | 10 +++++-----
debian/makefiles/adbd.mk | 33 ++++++++++++++++-----------------
debian/makefiles/fastboot.mk | 17 +++++++++--------
3 files changed, 30 insertions(+), 30 deletions(-)
diff --git a/debian/makefiles/adb.mk b/debian/makefiles/adb.mk
index d9d4feb..654b9f1 100644
--- a/debian/makefiles/adb.mk
+++ b/debian/makefiles/adb.mk
@@ -1,5 +1,6 @@
# Makefile for adb; from https://heiher.info/2227.html
+VPATH+= $(SRCDIR)/core/adb
SRCS+= adb.c
SRCS+= adb_client.c
SRCS+= adb_auth_host.c
@@ -17,7 +18,7 @@ SRCS+= usb_linux.c
SRCS+= usb_vendors.c
SRCS+= utils.c
-VPATH+= ../libcutils
+VPATH+= $(SRCDIR)/core/libcutils
SRCS+= abort_socket.c
SRCS+= socket_inaddr_any_server.c
SRCS+= socket_local_client.c
@@ -28,7 +29,7 @@ SRCS+= socket_network_client.c
SRCS+= list.c
SRCS+= load_file.c
-VPATH+= ../libzipfile
+VPATH+= $(SRCDIR)/core/libzipfile
SRCS+= centraldir.c
SRCS+= zipfile.c
@@ -37,9 +38,8 @@ CPPFLAGS+= -DADB_HOST=1
CPPFLAGS+= -DHAVE_FORKEXEC=1
CPPFLAGS+= -DHAVE_SYMLINKS
CPPFLAGS+= -DHAVE_TERMIO_H
-CPPFLAGS+= -I.
-CPPFLAGS+= -I../include
-CPPFLAGS+= -I../../../external/zlib
+CPPFLAGS+= -I$(SRCDIR)/core/adb
+CPPFLAGS+= -I$(SRCDIR)/core/include
LIBS+= -lc -lpthread -lz -lcrypto
diff --git a/debian/makefiles/adbd.mk b/debian/makefiles/adbd.mk
index 94d3a90..49dab8c 100644
--- a/debian/makefiles/adbd.mk
+++ b/debian/makefiles/adbd.mk
@@ -1,18 +1,6 @@
# Makefile for adbd
-VPATH+= ../libcutils
-SRCS+= abort_socket.c
-SRCS+= socket_inaddr_any_server.c
-SRCS+= socket_local_client.c
-SRCS+= socket_local_server.c
-SRCS+= socket_loopback_client.c
-SRCS+= socket_loopback_server.c
-SRCS+= socket_network_client.c
-SRCS+= list.c
-SRCS+= load_file.c
-SRCS+= android_reboot.c
-
-#VPATH+= ../adb
+VPATH+= $(SRCDIR)/core/adbd
SRCS+= adb.c
SRCS+= backup_service.c
SRCS+= fdevent.c
@@ -31,7 +19,19 @@ SRCS+= log_service.c
SRCS+= utils.c
SRCS+= base64.c
-VPATH+= ../libzipfile
+VPATH+= $(SRCDIR)/core/libcutils
+SRCS+= abort_socket.c
+SRCS+= socket_inaddr_any_server.c
+SRCS+= socket_local_client.c
+SRCS+= socket_local_server.c
+SRCS+= socket_loopback_client.c
+SRCS+= socket_loopback_server.c
+SRCS+= socket_network_client.c
+SRCS+= list.c
+SRCS+= load_file.c
+SRCS+= android_reboot.c
+
+VPATH+= $(SRCDIR)/core/libzipfile
SRCS+= centraldir.c
SRCS+= zipfile.c
@@ -40,10 +40,9 @@ CPPFLAGS+= -O2 -g -Wall -Wno-unused-parameter
CPPFLAGS+= -DADB_HOST=0 -DHAVE_FORKEXEC=1 -D_XOPEN_SOURCE -D_GNU_SOURCE -DALLOW_ADBD_ROOT=1
CPPFLAGS+= -DHAVE_SYMLINKS -DBOARD_ALWAYS_INSECURE
CPPFLAGS+= -DHAVE_TERMIO_H
-CPPFLAGS+= -I.
-CPPFLAGS+= -I../include
-CPPFLAGS+= -I../../../external/zlib
CPPFLAGS+= `pkg-config --cflags glib-2.0 gio-2.0`
+CPPFLAGS+= -I$(SRCDIR)/core/adbd
+CPPFLAGS+= -I$(SRCDIR)/core/include
LIBS+= -lc -lpthread -lz -lcrypto -lcrypt `pkg-config --libs glib-2.0 gio-2.0`
diff --git a/debian/makefiles/fastboot.mk b/debian/makefiles/fastboot.mk
index 9e8b751..94a069b 100644
--- a/debian/makefiles/fastboot.mk
+++ b/debian/makefiles/fastboot.mk
@@ -1,5 +1,6 @@
# Makefile for fastboot; from https://heiher.info/2227.html
+VPATH+= $(SRCDIR)/core/fastboot
SRCS+= bootimg.c
SRCS+= engine.c
SRCS+= fastboot.c
@@ -7,11 +8,11 @@ SRCS+= protocol.c
SRCS+= usb_linux.c
SRCS+= util_linux.c
-VPATH+= ../libzipfile
+VPATH+= $(SRCDIR)/core/libzipfile
SRCS+= centraldir.c
SRCS+= zipfile.c
-VPATH+= ../libsparse
+VPATH+= $(SRCDIR)/core/libsparse
SRCS+= backed_block.c
SRCS+= sparse_crc32.c
SRCS+= sparse.c
@@ -19,7 +20,7 @@ SRCS+= sparse_read.c
SRCS+= sparse_err.c
SRCS+= output_file.c
-VPATH+= ../../extras/ext4_utils/
+VPATH+= $(SRCDIR)/extras/ext4_utils/
SRCS+= make_ext4fs.c
SRCS+= crc16.c
SRCS+= ext4_utils.c
@@ -31,11 +32,11 @@ SRCS+= extent.c
SRCS+= wipe.c
SRCS+= sha1.c
-CPPFLAGS+= -I.
-CPPFLAGS+= -I../include
-CPPFLAGS+= -I../mkbootimg
-CPPFLAGS+= -I../../extras/ext4_utils/
-CPPFLAGS+= -I../libsparse/include/
+CPPFLAGS+= -I$(SRCDIR)/core/fastboot
+CPPFLAGS+= -I$(SRCDIR)/core/include
+CPPFLAGS+= -I$(SRCDIR)/core/mkbootimg
+CPPFLAGS+= -I$(SRCDIR)/extras/ext4_utils/
+CPPFLAGS+= -I$(SRCDIR)/core/libsparse/include/
LIBS+= -lz -lselinux
--
2.5.1

View File

@ -0,0 +1,264 @@
[PATCH] Fix adbd for non-Ubuntu systems
Remove glib/dbus dependencies and partially restore services.c to be
closer to the original source code in order to run on systems without
sudo.
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
core/adbd/adb.c | 1 -
core/adbd/services.c | 160 ++++-------------------------------------------
debian/makefiles/adbd.mk | 4 +-
3 files changed, 14 insertions(+), 151 deletions(-)
diff --git a/core/adbd/adb.c b/core/adbd/adb.c
index d90e6b8..7fe6445 100644
--- a/core/adbd/adb.c
+++ b/core/adbd/adb.c
@@ -1165,7 +1165,6 @@ void build_local_name(char* target_str, size_t target_size, int server_port)
#if !ADB_HOST
static int should_drop_privileges() {
- return 1;
#ifndef ALLOW_ADBD_ROOT
return 1;
#else /* ALLOW_ADBD_ROOT */
diff --git a/core/adbd/services.c b/core/adbd/services.c
index 05bd0d0..5adcefe 100644
--- a/core/adbd/services.c
+++ b/core/adbd/services.c
@@ -20,15 +20,6 @@
#include <string.h>
#include <errno.h>
#include <pwd.h>
-#include <glib.h>
-#include <gio/gio.h>
-
-#define UNITY_SERVICE "com.canonical.UnityGreeter"
-#define GREETER_OBJ "/"
-#define GREETER_INTERFACE "com.canonical.UnityGreeter"
-#define PROPERTIES_INTERFACE "org.freedesktop.DBus.Properties"
-#define ACTIVE_PROPERTY "IsActive"
-#define UNLOCK_PATH "/userdata/.adb_onlock"
#include "sysdeps.h"
@@ -268,11 +259,11 @@ static int create_service_thread(void (*func)(int, void *), void *cookie)
}
#if !ADB_HOST
-static int create_subprocess(const char *cmd, const char *arg0, const char *arg1, const char *arg2, const char *arg3, const char *arg4, pid_t *pid)
+static int create_subprocess(const char *cmd, const char *arg0, const char *arg1, pid_t *pid)
{
#ifdef HAVE_WIN32_PROC
- D("create_subprocess(cmd=%s, arg0=%s, arg1=%s, arg2=%s, arg3=%, arg4=%ss)\n", cmd, arg0, arg1, arg2, arg3, arg4);
- fprintf(stderr, "error: create_subprocess not implemented on Win32 (%s %s %s %s %s %s)\n", cmd, arg0, arg1, arg2, arg3, arg4);
+ D("create_subprocess(cmd=%s, arg0=%s, arg1=%s)\n", cmd, arg0, arg1);
+ fprintf(stderr, "error: create_subprocess not implemented on Win32 (%s %s %s)\n", cmd, arg0, arg1);
return -1;
#else /* !HAVE_WIN32_PROC */
char *devname;
@@ -327,7 +318,7 @@ static int create_subprocess(const char *cmd, const char *arg0, const char *arg1
} else {
D("adb: unable to open %s\n", text);
}
- execl(cmd, cmd, arg0, arg1, arg2, arg3, arg4, NULL);
+ execl(cmd, cmd, arg0, arg1, NULL);
fprintf(stderr, "- exec '%s' failed: %s (%d) -\n",
cmd, strerror(errno), errno);
exit(-1);
@@ -342,7 +333,7 @@ static int create_subprocess(const char *cmd, const char *arg0, const char *arg1
}
#endif /* !ABD_HOST */
-#if ADB_HOST
+#if ADB_HOST || ADBD_NON_ANDROID
#define SHELL_COMMAND "/bin/sh"
#else
#define SHELL_COMMAND "/system/bin/sh"
@@ -380,139 +371,16 @@ static void subproc_waiter_service(int fd, void *cookie)
}
}
-int is_phone_locked() {
- GError *error = NULL;
- GVariant *variant = NULL;
- GDBusConnection *connection = NULL;
-
- if (g_file_test(UNLOCK_PATH, G_FILE_TEST_EXISTS)) {
- D("unlock path present.");
- return 0;
- }
-
- // check if the environment variable is present, if not we grab it from
- // the phablet user
- if (g_getenv("DBUS_SESSION_BUS_ADDRESS") == NULL) {
- D("DBUS_SESSION_BUS_ADDRESS missing.\n");
- struct passwd *pw = getpwuid(AID_SHELL);
- char user_id[15];
- gchar *path = NULL;
- gchar *contents = NULL;
- gchar *session_path = NULL;
-
- snprintf(user_id, sizeof user_id, "%d", pw->pw_uid);
-
- path = g_build_filename("/run", "user", user_id, "dbus-session", NULL);
-
- g_file_get_contents(path, &contents, NULL, &error);
- session_path = g_strstrip(g_strsplit(contents, "DBUS_SESSION_BUS_ADDRESS=", -1)[1]);
- D("Session bus is %s\n", session_path);
-
- // path is not longer used
- g_free(path);
-
- if (error != NULL) {
- g_clear_error(&error);
- D("Couldn't set session bus\n");
- return 1;
- }
-
- g_setenv("DBUS_SESSION_BUS_ADDRESS", session_path, TRUE);
- g_free(contents);
- }
-
- // set the uid to be able to connect to the phablet user session bus
- setuid(AID_SHELL);
- connection = g_dbus_connection_new_for_address_sync(g_getenv("DBUS_SESSION_BUS_ADDRESS"),
- G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT | G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION,
- NULL,
- NULL,
- &error);
- if (connection == NULL) {
- D("session bus not available: %s", error->message);
- g_error_free (error);
- return 1;
- }
-
- variant = g_dbus_connection_call_sync(connection,
- UNITY_SERVICE,
- GREETER_OBJ,
- PROPERTIES_INTERFACE,
- "Get",
- g_variant_new("(ss)", GREETER_INTERFACE, ACTIVE_PROPERTY),
- g_variant_type_new("(v)"),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- NULL,
- &error);
-
- if (error != NULL) {
- D("Could not get property: %s", error->message);
- g_object_unref(connection);
- g_error_free(error);
- return 1;
- }
-
- if (variant == NULL) {
- D("Failed to get property '%s': %s", "IsActive", error->message);
- g_object_unref(connection);
- g_error_free(error);
- return 1;
- }
-
- variant = g_variant_get_variant(g_variant_get_child_value(variant, 0));
-
- int active = 1;
- if (!g_variant_get_boolean(variant)) {
- active = 0;
- }
-
- // get back to be root and return the value
- g_object_unref(connection);
- g_variant_unref(variant);
- setuid(0);
- return active;
-}
-
static int create_subproc_thread(const char *name)
{
- if (is_phone_locked() ) {
- fprintf(stderr, "device is locked\n");
- return -1;
- }
-
stinfo *sti;
adb_thread_t t;
int ret_fd;
pid_t pid;
-
- struct passwd *user = getpwuid(getuid());
- char *shell;
- char *shellopts = "-c";
- char *home;
- char *sudo = "/usr/bin/sudo";
- char useropt[256] = "-u";
-
- if (user->pw_name)
- strcat(useropt, user->pw_name);
-
- if (user && user->pw_shell) {
- shell = user->pw_shell;
- shellopts = "-cl";
- } else {
- shell = SHELL_COMMAND;
- }
-
- if (user->pw_dir)
- home = user->pw_dir;
- if(chdir(home) < 0 )
- return 1;
-
if(name) {
- ret_fd = create_subprocess(sudo, useropt, "-i", shell, shellopts, name, &pid);
+ ret_fd = create_subprocess(SHELL_COMMAND, "-c", name, &pid);
} else {
- shellopts = "-l";
- ret_fd = create_subprocess(sudo, useropt, "-i", shell, shellopts, 0, &pid);
+ ret_fd = create_subprocess(SHELL_COMMAND, "-", 0, &pid);
}
D("create_subprocess() ret_fd=%d pid=%d\n", ret_fd, pid);
@@ -585,17 +453,13 @@ int service_to_fd(const char *name)
} else if (!strncmp(name, "log:", 4)) {
ret = create_service_thread(log_service, get_log_file_path(name + 4));
} else if(!HOST && !strncmp(name, "shell:", 6)) {
- if (!is_phone_locked() ) {
- if(name[6]) {
- ret = create_subproc_thread(name + 6);
- } else {
- ret = create_subproc_thread(0);
- }
+ if(name[6]) {
+ ret = create_subproc_thread(name + 6);
+ } else {
+ ret = create_subproc_thread(0);
}
} else if(!strncmp(name, "sync:", 5)) {
- if (!is_phone_locked() ) {
- ret = create_service_thread(file_sync_service, NULL);
- }
+ ret = create_service_thread(file_sync_service, NULL);
} else if(!strncmp(name, "remount:", 8)) {
ret = create_service_thread(remount_service, NULL);
} else if(!strncmp(name, "reboot:", 7)) {
diff --git a/debian/makefiles/adbd.mk b/debian/makefiles/adbd.mk
index 49dab8c..22c1816 100644
--- a/debian/makefiles/adbd.mk
+++ b/debian/makefiles/adbd.mk
@@ -40,11 +40,11 @@ CPPFLAGS+= -O2 -g -Wall -Wno-unused-parameter
CPPFLAGS+= -DADB_HOST=0 -DHAVE_FORKEXEC=1 -D_XOPEN_SOURCE -D_GNU_SOURCE -DALLOW_ADBD_ROOT=1
CPPFLAGS+= -DHAVE_SYMLINKS -DBOARD_ALWAYS_INSECURE
CPPFLAGS+= -DHAVE_TERMIO_H
-CPPFLAGS+= `pkg-config --cflags glib-2.0 gio-2.0`
+CPPFLAGS+= -DADBD_NON_ANDROID
CPPFLAGS+= -I$(SRCDIR)/core/adbd
CPPFLAGS+= -I$(SRCDIR)/core/include
-LIBS+= -lc -lpthread -lz -lcrypto -lcrypt `pkg-config --libs glib-2.0 gio-2.0`
+LIBS+= -lc -lpthread -lz -lcrypto -lcrypt
OBJS= $(patsubst %, %.o, $(basename $(SRCS)))
--
2.5.1

View File

@ -0,0 +1,36 @@
[PATCH] Fix build issue with uclibc
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
core/adbd/adb_auth_client.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/core/adb/adb_auth_client.c b/core/adb/adb_auth_client.c
index 0b4913e..068d837 100644
--- a/core/adb/adb_auth_client.c
+++ b/core/adb/adb_auth_client.c
@@ -72,7 +72,7 @@ static void read_keys(const char *file, struct listnode *list)
if (sep)
*sep = '\0';
- ret = __b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4);
+ ret = b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4);
if (ret != sizeof(key->key)) {
D("%s: Invalid base64 data ret=%d\n", file, ret);
free(key);
diff --git a/core/adbd/adb_auth_client.c b/core/adbd/adb_auth_client.c
index 0b4913e..068d837 100644
--- a/core/adbd/adb_auth_client.c
+++ b/core/adbd/adb_auth_client.c
@@ -72,7 +72,7 @@ static void read_keys(const char *file, struct listnode *list)
if (sep)
*sep = '\0';
- ret = __b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4);
+ ret = b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4);
if (ret != sizeof(key->key)) {
D("%s: Invalid base64 data ret=%d\n", file, ret);
free(key);
--
2.6.1

View File

@ -0,0 +1,231 @@
[PATCH] Fix build issue with musl
cdefs.h header doesn't exist in musl toolchains:
http://wiki.musl-libc.org/wiki/FAQ
Also arpa/nameser.h doesn't use the same macro name to avoid several
inclusions.
Finally had an issue with framebuffer_service.c since it was missing the
TEMP_FAILURE_RETRY macro.
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
core/adbd/arpa_nameser.h | 12 +++++++++---
core/adbd/base64.c | 1 -
core/adbd/framebuffer_service.c | 1 +
core/adbd/qemu_pipe.h | 1 -
core/include/cutils/android_reboot.h | 8 ++++++--
core/include/cutils/bitops.h | 10 ++++++----
core/include/cutils/partition_utils.h | 8 ++++++--
extras/ext4_utils/sha1.c | 3 ---
extras/ext4_utils/sha1.h | 13 ++++++-------
9 files changed, 34 insertions(+), 23 deletions(-)
diff --git a/core/adbd/arpa_nameser.h b/core/adbd/arpa_nameser.h
index 438dc04..b2a28d6 100644
--- a/core/adbd/arpa_nameser.h
+++ b/core/adbd/arpa_nameser.h
@@ -52,11 +52,12 @@
#ifndef _ARPA_NAMESER_H_
#define _ARPA_NAMESER_H_
+#ifndef _ARPA_NAMESER_H
+#define _ARPA_NAMESER_H
#define BIND_4_COMPAT
#include <sys/types.h>
-#include <sys/cdefs.h>
/*
* Revision information. This is the release date in YYYYMMDD format.
@@ -505,7 +506,9 @@ typedef enum __ns_cert_types {
#define ns_makecanon __ns_makecanon
#define ns_samename __ns_samename
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
int ns_msg_getflag(ns_msg, int);
uint16_t ns_get16(const u_char *);
uint32_t ns_get32(const u_char *);
@@ -560,7 +563,9 @@ int ns_samedomain(const char *, const char *);
int ns_subdomain(const char *, const char *);
int ns_makecanon(const char *, char *, size_t);
int ns_samename(const char *, const char *);
-__END_DECLS
+#ifdef __cplusplus
+}
+#endif
#ifdef BIND_4_COMPAT
#include "arpa_nameser_compat.h"
@@ -574,4 +579,5 @@ __END_DECLS
#define XLOG(...) do {} while (0)
#endif
+#endif /* !_ARPA_NAMESER_H */
#endif /* !_ARPA_NAMESER_H_ */
diff --git a/core/adbd/base64.c b/core/adbd/base64.c
index 7270703..73725f5 100644
--- a/core/adbd/base64.c
+++ b/core/adbd/base64.c
@@ -42,7 +42,6 @@
* IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES.
*/
-#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
__RCSID("$NetBSD: base64.c,v 1.8 2002/11/11 01:15:17 thorpej Exp $");
#endif /* LIBC_SCCS and not lint */
diff --git a/core/adbd/framebuffer_service.c b/core/adbd/framebuffer_service.c
index 20c08d2..48e0241 100644
--- a/core/adbd/framebuffer_service.c
+++ b/core/adbd/framebuffer_service.c
@@ -26,6 +26,7 @@
#include "fdevent.h"
#include "adb.h"
+#include <cutils/fs.h>
#include <linux/fb.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
diff --git a/core/adbd/qemu_pipe.h b/core/adbd/qemu_pipe.h
index 1a67022..572a242 100644
--- a/core/adbd/qemu_pipe.h
+++ b/core/adbd/qemu_pipe.h
@@ -16,7 +16,6 @@
#ifndef ANDROID_INCLUDE_HARDWARE_QEMU_PIPE_H
#define ANDROID_INCLUDE_HARDWARE_QEMU_PIPE_H
-#include <sys/cdefs.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/mman.h>
diff --git a/core/include/cutils/android_reboot.h b/core/include/cutils/android_reboot.h
index 0c79be7..2ebe1cf 100644
--- a/core/include/cutils/android_reboot.h
+++ b/core/include/cutils/android_reboot.h
@@ -17,7 +17,9 @@
#ifndef __CUTILS_ANDROID_REBOOT_H__
#define __CUTILS_ANDROID_REBOOT_H__
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
/* Commands */
#define ANDROID_RB_RESTART 0xDEAD0001
@@ -30,6 +32,8 @@ __BEGIN_DECLS
int android_reboot(int cmd, int flags, char *arg);
-__END_DECLS
+#ifdef __cplusplus
+}
+#endif
#endif /* __CUTILS_ANDROID_REBOOT_H__ */
diff --git a/core/include/cutils/bitops.h b/core/include/cutils/bitops.h
index 1b3b762..a7c8cab 100644
--- a/core/include/cutils/bitops.h
+++ b/core/include/cutils/bitops.h
@@ -17,9 +17,9 @@
#ifndef __CUTILS_BITOPS_H
#define __CUTILS_BITOPS_H
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
static inline int popcount(unsigned int x)
{
@@ -36,6 +36,8 @@ static inline int popcountll(unsigned long long x)
return __builtin_popcountll(x);
}
-__END_DECLS
+#ifdef __cplusplus
+}
+#endif
#endif /* __CUTILS_BITOPS_H */
diff --git a/core/include/cutils/partition_utils.h b/core/include/cutils/partition_utils.h
index 597df92..0da9d5b 100644
--- a/core/include/cutils/partition_utils.h
+++ b/core/include/cutils/partition_utils.h
@@ -17,11 +17,15 @@
#ifndef __CUTILS_PARTITION_WIPED_H__
#define __CUTILS_PARTITION_WIPED_H__
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
int partition_wiped(char *source);
void erase_footer(const char *dev_path, long long size);
-__END_DECLS
+#ifdef __cplusplus
+}
+#endif
#endif /* __CUTILS_PARTITION_WIPED_H__ */
diff --git a/extras/ext4_utils/sha1.c b/extras/ext4_utils/sha1.c
index 463ec38..e2e29cf 100644
--- a/extras/ext4_utils/sha1.c
+++ b/extras/ext4_utils/sha1.c
@@ -17,9 +17,6 @@
#define SHA1HANDSOFF /* Copies data before messing with it. */
-#ifndef USE_MINGW
-#include <sys/cdefs.h>
-#endif
#include <sys/types.h>
#include <assert.h>
#include <string.h>
diff --git a/extras/ext4_utils/sha1.h b/extras/ext4_utils/sha1.h
index 9a8f7e3..fe3217e 100644
--- a/extras/ext4_utils/sha1.h
+++ b/extras/ext4_utils/sha1.h
@@ -17,11 +17,6 @@ typedef unsigned char u_char;
typedef unsigned int uint32_t;
typedef unsigned int u_int32_t;
typedef unsigned int u_int;
-
-#define __BEGIN_DECLS
-#define __END_DECLS
-#else
-#include <sys/cdefs.h>
#endif
#define SHA1_DIGEST_LENGTH 20
@@ -33,11 +28,15 @@ typedef struct {
u_char buffer[64];
} SHA1_CTX;
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
void SHA1Transform(uint32_t[5], const u_char[64]);
void SHA1Init(SHA1_CTX *);
void SHA1Update(SHA1_CTX *, const u_char *, u_int);
void SHA1Final(u_char[SHA1_DIGEST_LENGTH], SHA1_CTX *);
-__END_DECLS
+#ifdef __cplusplus
+}
+#endif
#endif /* _SYS_SHA1_H_ */
--
2.6.1

View File

@ -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
{

View File

@ -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)))

View File

@ -0,0 +1,60 @@
config BR2_PACKAGE_ANDROID_TOOLS
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
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"
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"
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

View File

@ -0,0 +1,26 @@
config BR2_PACKAGE_HOST_ANDROID_TOOLS
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.
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.
endif

View File

@ -0,0 +1,3 @@
# locally computed
sha256 9bfba987e1351b12aa983787b9ae4424ab752e9e646d8e93771538dc1e5d932f android-tools_4.2.2+git20130218.orig.tar.xz
sha256 73c3078de3e44d8a3cadf7a360863c63155d9d558c2f0933cf38ad901a3f5998 android-tools_4.2.2+git20130218-3ubuntu41.debian.tar.gz

View File

@ -0,0 +1,85 @@
################################################################################
#
# android-tools
#
################################################################################
ANDROID_TOOLS_SITE = https://launchpad.net/ubuntu/+archive/primary/+files
ANDROID_TOOLS_VERSION = 4.2.2+git20130218
ANDROID_TOOLS_SOURCE = android-tools_$(ANDROID_TOOLS_VERSION).orig.tar.xz
ANDROID_TOOLS_EXTRA_DOWNLOADS = android-tools_$(ANDROID_TOOLS_VERSION)-3ubuntu41.debian.tar.gz
HOST_ANDROID_TOOLS_EXTRA_DOWNLOADS = $(ANDROID_TOOLS_EXTRA_DOWNLOADS)
ANDROID_TOOLS_LICENSE = Apache-2.0
ANDROID_TOOLS_LICENSE_FILES = debian/copyright
# Extract the Debian tarball inside the sources
define ANDROID_TOOLS_DEBIAN_EXTRACT
$(call suitable-extractor,$(notdir $(ANDROID_TOOLS_EXTRA_DOWNLOADS))) \
$(DL_DIR)/$(notdir $(ANDROID_TOOLS_EXTRA_DOWNLOADS)) | \
$(TAR) -C $(@D) $(TAR_OPTIONS) -
endef
HOST_ANDROID_TOOLS_POST_EXTRACT_HOOKS += ANDROID_TOOLS_DEBIAN_EXTRACT
ANDROID_TOOLS_POST_EXTRACT_HOOKS += ANDROID_TOOLS_DEBIAN_EXTRACT
# Apply the Debian patches before applying the Buildroot patches
define ANDROID_TOOLS_DEBIAN_PATCH
$(APPLY_PATCHES) $(@D) $(@D)/debian/patches \*
endef
HOST_ANDROID_TOOLS_PRE_PATCH_HOOKS += ANDROID_TOOLS_DEBIAN_PATCH
ANDROID_TOOLS_PRE_PATCH_HOOKS += ANDROID_TOOLS_DEBIAN_PATCH
ifeq ($(BR2_PACKAGE_HOST_ANDROID_TOOLS_FASTBOOT),y)
HOST_ANDROID_TOOLS_TARGETS += fastboot
HOST_ANDROID_TOOLS_DEPENDENCIES += host-zlib host-libselinux
endif
ifeq ($(BR2_PACKAGE_HOST_ANDROID_TOOLS_ADB),y)
HOST_ANDROID_TOOLS_TARGETS += adb
HOST_ANDROID_TOOLS_DEPENDENCIES += host-zlib host-openssl
endif
ifeq ($(BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT),y)
ANDROID_TOOLS_TARGETS += fastboot
ANDROID_TOOLS_DEPENDENCIES += zlib libselinux
endif
ifeq ($(BR2_PACKAGE_ANDROID_TOOLS_ADB),y)
ANDROID_TOOLS_TARGETS += adb
ANDROID_TOOLS_DEPENDENCIES += zlib openssl
endif
ifeq ($(BR2_PACKAGE_ANDROID_TOOLS_ADBD),y)
ANDROID_TOOLS_TARGETS += adbd
ANDROID_TOOLS_DEPENDENCIES += zlib openssl
endif
# Build each tool in its own directory not to share object files
define HOST_ANDROID_TOOLS_BUILD_CMDS
$(foreach t,$(HOST_ANDROID_TOOLS_TARGETS),\
mkdir -p $(@D)/build-$(t) && \
$(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) SRCDIR=$(@D) \
-C $(@D)/build-$(t) -f $(@D)/debian/makefiles/$(t).mk$(sep))
endef
define ANDROID_TOOLS_BUILD_CMDS
$(foreach t,$(ANDROID_TOOLS_TARGETS),\
mkdir -p $(@D)/build-$(t) && \
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) SRCDIR=$(@D) \
-C $(@D)/build-$(t) -f $(@D)/debian/makefiles/$(t).mk$(sep))
endef
define HOST_ANDROID_TOOLS_INSTALL_CMDS
$(foreach t,$(HOST_ANDROID_TOOLS_TARGETS),\
$(INSTALL) -D -m 0755 $(@D)/build-$(t)/$(t) $(HOST_DIR)/usr/bin/$(t)$(sep))
endef
define ANDROID_TOOLS_INSTALL_TARGET_CMDS
$(foreach t,$(ANDROID_TOOLS_TARGETS),\
$(INSTALL) -D -m 0755 $(@D)/build-$(t)/$(t) $(TARGET_DIR)/usr/bin/$(t)$(sep))
endef
$(eval $(host-generic-package))
$(eval $(generic-package))

View File

@ -1,2 +1,2 @@
# From http://www.apache.org/dist/httpd/httpd-2.4.18.tar.bz2.sha1
sha1 271a129f2f04e3aa694e5c2091df9b707bf8ef80 httpd-2.4.18.tar.bz2
# From http://www.apache.org/dist/httpd/httpd-2.4.20.tar.bz2.sha1
sha1 cefe8ea4a3f81c7a08e36c80ebbd792c67ab361b httpd-2.4.20.tar.bz2

View File

@ -4,7 +4,7 @@
#
################################################################################
APACHE_VERSION = 2.4.18
APACHE_VERSION = 2.4.20
APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2
APACHE_SITE = http://archive.apache.org/dist/httpd
APACHE_LICENSE = Apache-2.0

View File

@ -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

View File

@ -1,2 +1,2 @@
# From http://ftp.gnome.org/pub/gnome/sources/atk/2.18/atk-2.18.0.sha256sum
sha256 ce6c48d77bf951083029d5a396dd552d836fff3c1715d3a7022e917e46d0c92b atk-2.18.0.tar.xz
# From http://ftp.gnome.org/pub/gnome/sources/atk/2.20/atk-2.20.0.sha256sum
sha256 493a50f6c4a025f588d380a551ec277e070b28a82e63ef8e3c06b3ee7c1238f0 atk-2.20.0.tar.xz

View File

@ -4,7 +4,7 @@
#
################################################################################
ATK_VERSION_MAJOR = 2.18
ATK_VERSION_MAJOR = 2.20
ATK_VERSION = $(ATK_VERSION_MAJOR).0
ATK_SOURCE = atk-$(ATK_VERSION).tar.xz
ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/atk/$(ATK_VERSION_MAJOR)

View File

@ -9,23 +9,29 @@ ATTR_SOURCE = attr-$(ATTR_VERSION).src.tar.gz
ATTR_SITE = http://download.savannah.gnu.org/releases/attr
ATTR_INSTALL_STAGING = YES
ATTR_CONF_OPTS = --enable-gettext=no
HOST_ATTR_CONF_OPTS = --enable-gettext=no
ATTR_LICENSE = GPLv2+ (programs), LGPLv2.1+ (libraries)
ATTR_LICENSE_FILES = doc/COPYING doc/COPYING.LGPL
# While the configuration system uses autoconf, the Makefiles are
# hand-written and do not use automake. Therefore, we have to hack
# around their deficiencies by passing installation paths.
ATTR_INSTALL_STAGING_OPTS = \
prefix=$(STAGING_DIR)/usr \
exec_prefix=$(STAGING_DIR)/usr \
PKG_DEVLIB_DIR=$(STAGING_DIR)/usr/lib \
ATTR_INSTALL_STAGING_OPTS = \
prefix=$(STAGING_DIR)/usr \
exec_prefix=$(STAGING_DIR)/usr \
PKG_DEVLIB_DIR=$(STAGING_DIR)/usr/lib \
install-dev install-lib
ATTR_INSTALL_TARGET_OPTS = \
prefix=$(TARGET_DIR)/usr \
exec_prefix=$(TARGET_DIR)/usr \
ATTR_INSTALL_TARGET_OPTS = \
prefix=$(TARGET_DIR)/usr \
exec_prefix=$(TARGET_DIR)/usr \
install install-lib
HOST_ATTR_INSTALL_OPTS = \
prefix=$(HOST_DIR)/usr \
exec_prefix=$(HOST_DIR)/usr \
install-dev install-lib
# The libdir variable in libattr.la is empty, so let's fix it. This is
# probably due to attr not using automake, and not doing fully the
# right thing with libtool.
@ -37,3 +43,4 @@ endef
ATTR_POST_INSTALL_STAGING_HOOKS += ATTR_FIX_LIBTOOL_LA_LIBDIR
$(eval $(autotools-package))
$(eval $(host-autotools-package))

View File

@ -1,30 +0,0 @@
Patch from http://pkgs.fedoraproject.org/cgit/avahi.git/plain/avahi-0.6.31-no-deprecations.patch?id=b3f4de05e331258c5123e3acc144e452595c2112
Don't disable deprecated GTK support, as that breaks builds with modern GTK3
versions.
For more details, see the Fedora bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=1001676
[Peter: patch Makefile.in so we don't need autoreconf]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
avahi-ui/Makefile.am | 2 +-
avahi-ui/Makefile.in | 3 +--
configure.ac | 2 +-
3 files changed, 3 insertions(+), 4 deletions(-)
Index: avahi-0.6.31/avahi-ui/Makefile.in
===================================================================
--- avahi-0.6.31.orig/avahi-ui/Makefile.in
+++ avahi-0.6.31/avahi-ui/Makefile.in
@@ -464,8 +464,7 @@
top_srcdir = @top_srcdir@
# This cool debug trap works on i386/gcc only
-AM_CFLAGS = -I$(top_srcdir) -DG_DISABLE_DEPRECATED=1 \
- -DGDK_DISABLE_DEPRECATED=1 -DGTK_DISABLE_DEPRECATED=1 \
+AM_CFLAGS = -I$(top_srcdir) \
'-DDEBUG_TRAP=__asm__("int $$3")' $(am__append_1)
pkglibdatadir = $(libdir)/avahi
desktopdir = $(datadir)/applications

View File

@ -1,2 +1,2 @@
# Locally calculated
sha256 8372719b24e2dd75de6f59bb1315e600db4fd092805bd1201ed0cb651a2dab48 avahi-0.6.31.tar.gz
sha256 d54991185d514a0aba54ebeb408d7575b60f5818a772e28fa0e18b98bc1db454 avahi-0.6.32.tar.gz

View File

@ -11,8 +11,8 @@
# either version 2.1 of the License, or (at your option) any
# later version.
AVAHI_VERSION = 0.6.31
AVAHI_SITE = http://www.avahi.org/download
AVAHI_VERSION = 0.6.32
AVAHI_SITE = https://github.com/lathiat/avahi/releases/download/v$(AVAHI_VERSION)
AVAHI_LICENSE = LGPLv2.1+
AVAHI_LICENSE_FILES = LICENSE
AVAHI_INSTALL_STAGING = YES
@ -220,13 +220,13 @@ define AVAHI_INSTALL_INIT_SYSV
$(AVAHI_INSTALL_DAEMON_INIT_SYSV)
endef
ifeq ($(BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY),y)
# applications expects to be able to #include <dns_sd.h>
define AVAHI_STAGING_INSTALL_LIBDNSSD_LINK
ln -sf avahi-compat-libdns_sd/dns_sd.h \
$(STAGING_DIR)/usr/include/dns_sd.h
endef
ifeq ($(BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY),y)
AVAHI_POST_INSTALL_STAGING_HOOKS += AVAHI_STAGING_INSTALL_LIBDNSSD_LINK
endif

View File

@ -22,10 +22,6 @@ BASH_CONF_ENV += \
bash_cv_func_sigsetjmp=present \
bash_cv_printf_a_format=yes
# Parallel build sometimes fails because some of the generator tools
# are built twice (i.e. while executing).
BASH_MAKE = $(MAKE1)
# The static build needs some trickery
ifeq ($(BR2_STATIC_LIBS),y)
BASH_CONF_OPTS += --enable-static-link --without-bash-malloc

View File

@ -1,129 +0,0 @@
From f824c65d1fb6a2490b03228e63cc43dae6844f73 Mon Sep 17 00:00:00 2001
From: Mark Andrews <marka@isc.org>
Date: Mon, 19 Oct 2015 10:43:58 +1100
Subject: [PATCH] 4340. [port] Fix LibreSSL compatibility. [RT
#40977]
Status: upstream git
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
lib/dns/dst_openssl.h | 2 +-
lib/dns/openssl_link.c | 8 ++++----
lib/dns/openssldh_link.c | 4 ++--
lib/dns/openssldsa_link.c | 4 ++--
lib/dns/opensslrsa_link.c | 2 +-
diff --git a/lib/dns/dst_openssl.h b/lib/dns/dst_openssl.h
index dd67405..12f8bfc 100644
--- a/lib/dns/dst_openssl.h
+++ b/lib/dns/dst_openssl.h
@@ -36,7 +36,7 @@
#define USE_ENGINE 1
#endif
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
/*
* These are new in OpenSSL 1.1.0. BN_GENCB _cb needs to be declared in
* the function like this before the BN_GENCB_new call:
diff --git a/lib/dns/openssl_link.c b/lib/dns/openssl_link.c
index 8683bee..6a52b31 100644
--- a/lib/dns/openssl_link.c
+++ b/lib/dns/openssl_link.c
@@ -88,7 +88,7 @@ entropy_getpseudo(unsigned char *buf, int num) {
return (result == ISC_R_SUCCESS ? 1 : -1);
}
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
static void
entropy_add(const void *buf, int num, double entropy) {
/*
@@ -121,7 +121,7 @@ lock_callback(int mode, int type, const char *file, int line) {
UNLOCK(&locks[type]);
}
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
static unsigned long
id_callback(void) {
return ((unsigned long)isc_thread_self());
@@ -187,7 +187,7 @@ dst__openssl_init(const char *engine) {
if (result != ISC_R_SUCCESS)
goto cleanup_mutexalloc;
CRYPTO_set_locking_callback(lock_callback);
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
CRYPTO_set_id_callback(id_callback);
#endif
@@ -287,7 +287,7 @@ dst__openssl_destroy(void) {
CRYPTO_cleanup_all_ex_data();
#endif
ERR_clear_error();
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
ERR_remove_state(0);
#endif
ERR_free_strings();
diff --git a/lib/dns/openssldh_link.c b/lib/dns/openssldh_link.c
index 9f42219..67fbf69 100644
--- a/lib/dns/openssldh_link.c
+++ b/lib/dns/openssldh_link.c
@@ -173,7 +173,7 @@ openssldh_generate(dst_key_t *key, int generator, void (*callback)(int)) {
DH *dh = NULL;
#if OPENSSL_VERSION_NUMBER > 0x00908000L
BN_GENCB *cb;
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
BN_GENCB _cb;
#endif
union {
@@ -210,7 +210,7 @@ openssldh_generate(dst_key_t *key, int generator, void (*callback)(int)) {
if (dh == NULL)
return (dst__openssl_toresult(ISC_R_NOMEMORY));
cb = BN_GENCB_new();
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
if (cb == NULL) {
DH_free(dh);
return (dst__openssl_toresult(ISC_R_NOMEMORY));
diff --git a/lib/dns/openssldsa_link.c b/lib/dns/openssldsa_link.c
index 963e2f5..d47b265 100644
--- a/lib/dns/openssldsa_link.c
+++ b/lib/dns/openssldsa_link.c
@@ -359,7 +359,7 @@ openssldsa_generate(dst_key_t *key, int unused, void (*callback)(int)) {
isc_result_t result;
#if OPENSSL_VERSION_NUMBER > 0x00908000L
BN_GENCB *cb;
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
BN_GENCB _cb;
#endif
union {
@@ -383,7 +383,7 @@ openssldsa_generate(dst_key_t *key, int unused, void (*callback)(int)) {
if (dsa == NULL)
return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
cb = BN_GENCB_new();
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
if (cb == NULL) {
DSA_free(dsa);
return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
diff --git a/lib/dns/opensslrsa_link.c b/lib/dns/opensslrsa_link.c
index 94aced2..d799be0 100644
--- a/lib/dns/opensslrsa_link.c
+++ b/lib/dns/opensslrsa_link.c
@@ -771,7 +771,7 @@ opensslrsa_generate(dst_key_t *key, int exp, void (*callback)(int)) {
} u;
RSA *rsa = RSA_new();
BIGNUM *e = BN_new();
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
BN_GENCB _cb;
#endif
BN_GENCB *cb = BN_GENCB_new();
--
2.4.10

View File

@ -1,2 +1,2 @@
# Verified from ftp://ftp.isc.org/isc/bind9/9.10.3-P3/bind-9.10.3-P3.tar.gz.sha256.asc
sha256 690810d1fbb72afa629e74638d19cd44e28d2b2e5eb63f55c705ad85d1a4cb83 bind-9.10.3-P3.tar.gz
# Verified from ftp://ftp.isc.org/isc/bind9/9.10.4/bind-9.10.4.tar.gz.sha256.asc
sha256 f8d412b38d5ac390275b943bde69f4608f67862a45487ec854b30e4448fcb056 bind-9.10.4.tar.gz

View File

@ -4,7 +4,7 @@
#
################################################################################
BIND_VERSION = 9.10.3-P3
BIND_VERSION = 9.10.4
BIND_SITE = ftp://ftp.isc.org/isc/bind9/$(BIND_VERSION)
# bind does not support parallel builds.
BIND_MAKE = $(MAKE1)

View File

@ -0,0 +1,46 @@
From 1ceee199e9a32034c6def7700fdbb26335ca76a3 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Fri, 25 Dec 2015 11:38:13 +0100
Subject: [PATCH] sh-conf
Likewise, binutils has no idea about any of these new targets either, so we
fix that up too.. now we're able to actually build a real toolchain for
sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more
inept targets than that one, really. Go look, I promise).
[Romain: rebase on top of 2.26]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
configure | 2 +-
configure.ac | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 34b66f7..905bc7b 100755
--- a/configure
+++ b/configure
@@ -3939,7 +3939,7 @@ case "${target}" in
or1k*-*-*)
noconfigdirs="$noconfigdirs gdb"
;;
- sh-*-* | sh64-*-*)
+ sh*-*-* | sh64-*-*)
case "${target}" in
sh*-*-elf)
;;
diff --git a/configure.ac b/configure.ac
index 4977d97..1e69ee2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1276,7 +1276,7 @@ case "${target}" in
or1k*-*-*)
noconfigdirs="$noconfigdirs gdb"
;;
- sh-*-* | sh64-*-*)
+ sh*-*-* | sh64-*-*)
case "${target}" in
sh*-*-elf)
;;
--
2.4.3

View File

@ -0,0 +1,41 @@
From d76a7549b43974fe8564971a3f40459bc495a8a7 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Fri, 25 Dec 2015 11:40:53 +0100
Subject: [PATCH] ld-makefile
[Romain: rebase on top of 2.26]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
ld/Makefile.am | 2 +-
ld/Makefile.in | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/ld/Makefile.am b/ld/Makefile.am
index 0b3b049..3871c74 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -57,7 +57,7 @@ endif
# We put the scripts in the directory $(scriptdir)/ldscripts.
# We can't put the scripts in $(datadir) because the SEARCH_DIR
# directives need to be different for native and cross linkers.
-scriptdir = $(tooldir)/lib
+scriptdir = $(libdir)
EMUL = @EMUL@
EMULATION_OFILES = @EMULATION_OFILES@
diff --git a/ld/Makefile.in b/ld/Makefile.in
index ed98f87..530e4c9 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -413,7 +413,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS)
# We put the scripts in the directory $(scriptdir)/ldscripts.
# We can't put the scripts in $(datadir) because the SEARCH_DIR
# directives need to be different for native and cross linkers.
-scriptdir = $(tooldir)/lib
+scriptdir = $(libdir)
BASEDIR = $(srcdir)/..
BFDDIR = $(BASEDIR)/bfd
INCDIR = $(BASEDIR)/include
--
2.4.3

View File

@ -0,0 +1,36 @@
From ebe1cba46df52d7bf86def3d681271fd05fb453b Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Fri, 25 Dec 2015 11:41:47 +0100
Subject: [PATCH] check-ldrunpath-length
[Romain: rebase on top of 2.26]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
ld/emultempl/elf32.em | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index 0405d4f..efd3300 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -1242,6 +1242,8 @@ fragment <<EOF
&& command_line.rpath == NULL)
{
lib_path = (const char *) getenv ("LD_RUN_PATH");
+ if ((lib_path) && (strlen (lib_path) == 0))
+ lib_path = NULL;
if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
force))
break;
@@ -1523,6 +1525,8 @@ gld${EMULATION_NAME}_before_allocation (void)
rpath = command_line.rpath;
if (rpath == NULL)
rpath = (const char *) getenv ("LD_RUN_PATH");
+ if ((rpath) && (strlen (rpath) == 0))
+ rpath = NULL;
for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
--
2.4.3

View File

@ -0,0 +1,52 @@
From 30628870e583375f8927c04398c7219c6e9f703c Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Fri, 25 Dec 2015 11:42:48 +0100
Subject: [PATCH] add sysroot fix from bug #3049
Always try to prepend the sysroot prefix to absolute filenames first.
http://bugs.gentoo.org/275666
http://sourceware.org/bugzilla/show_bug.cgi?id=10340
Signed-off-by: Sven Rebhan <odinshorse@googlemail.com>
[Romain: rebase on top of 2.26]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
ld/ldfile.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/ld/ldfile.c b/ld/ldfile.c
index 96f9ecc..1439309 100644
--- a/ld/ldfile.c
+++ b/ld/ldfile.c
@@ -335,18 +335,25 @@ ldfile_open_file_search (const char *arch,
directory first. */
if (! entry->flags.maybe_archive)
{
- if (entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename))
+ /* For absolute pathnames, try to always open the file in the
+ sysroot first. If this fails, try to open the file at the
+ given location. */
+ entry->flags.sysrooted = is_sysrooted_pathname (entry->filename);
+ if (!entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename)
+ && ld_sysroot)
{
char *name = concat (ld_sysroot, entry->filename,
(const char *) NULL);
if (ldfile_try_open_bfd (name, entry))
{
entry->filename = name;
+ entry->flags.sysrooted = TRUE;
return TRUE;
}
free (name);
}
- else if (ldfile_try_open_bfd (entry->filename, entry))
+
+ if (ldfile_try_open_bfd (entry->filename, entry))
return TRUE;
if (IS_ABSOLUTE_PATH (entry->filename))
--
2.4.3

View File

@ -0,0 +1,306 @@
From be366461dd49e760440fb28eaee5164eb281adcc Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Fri, 25 Dec 2015 11:45:38 +0100
Subject: [PATCH] poison-system-directories
Patch adapted to binutils 2.23.2 and extended to use
BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni.
[Romain: rebase on top of 2.26]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Gustavo: adapt to binutils 2.25]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Upstream-Status: Inappropriate [distribution: codesourcery]
Patch originally created by Mark Hatle, forward-ported to
binutils 2.21 by Scott Garman.
purpose: warn for uses of system directories when cross linking
Code Merged from Sourcery G++ binutils 2.19 - 4.4-277
2008-07-02 Joseph Myers <joseph@codesourcery.com>
ld/
* ld.h (args_type): Add error_poison_system_directories.
* ld.texinfo (--error-poison-system-directories): Document.
* ldfile.c (ldfile_add_library_path): Check
command_line.error_poison_system_directories.
* ldmain.c (main): Initialize
command_line.error_poison_system_directories.
* lexsup.c (enum option_values): Add
OPTION_ERROR_POISON_SYSTEM_DIRECTORIES.
(ld_options): Add --error-poison-system-directories.
(parse_args): Handle new option.
2007-06-13 Joseph Myers <joseph@codesourcery.com>
ld/
* config.in: Regenerate.
* ld.h (args_type): Add poison_system_directories.
* ld.texinfo (--no-poison-system-directories): Document.
* ldfile.c (ldfile_add_library_path): Check
command_line.poison_system_directories.
* ldmain.c (main): Initialize
command_line.poison_system_directories.
* lexsup.c (enum option_values): Add
OPTION_NO_POISON_SYSTEM_DIRECTORIES.
(ld_options): Add --no-poison-system-directories.
(parse_args): Handle new option.
2007-04-20 Joseph Myers <joseph@codesourcery.com>
Merge from Sourcery G++ binutils 2.17:
2007-03-20 Joseph Myers <joseph@codesourcery.com>
Based on patch by Mark Hatle <mark.hatle@windriver.com>.
ld/
* configure.ac (--enable-poison-system-directories): New option.
* configure, config.in: Regenerate.
* ldfile.c (ldfile_add_library_path): If
ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib,
/usr/lib, /usr/local/lib or /usr/X11R6/lib.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
---
ld/config.in | 3 +++
ld/configure | 14 ++++++++++++++
ld/configure.ac | 10 ++++++++++
ld/ld.h | 8 ++++++++
ld/ld.texinfo | 12 ++++++++++++
ld/ldfile.c | 17 +++++++++++++++++
ld/ldlex.h | 2 ++
ld/ldmain.c | 2 ++
ld/lexsup.c | 21 +++++++++++++++++++++
9 files changed, 89 insertions(+)
diff --git a/ld/config.in b/ld/config.in
index 276fb77..35c58eb 100644
--- a/ld/config.in
+++ b/ld/config.in
@@ -14,6 +14,9 @@
language is requested. */
#undef ENABLE_NLS
+/* Define to warn for use of native system library directories */
+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
+
/* Additional extension a shared object might have. */
#undef EXTRA_SHLIB_EXTENSION
diff --git a/ld/configure b/ld/configure
index a446283..d1f9504 100755
--- a/ld/configure
+++ b/ld/configure
@@ -786,6 +786,7 @@ with_lib_path
enable_targets
enable_64_bit_bfd
with_sysroot
+enable_poison_system_directories
enable_gold
enable_got
enable_compressed_debug_sections
@@ -1442,6 +1443,8 @@ Optional Features:
--disable-largefile omit support for large files
--enable-targets alternative target configurations
--enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
+ --enable-poison-system-directories
+ warn for use of native system library directories
--enable-gold[=ARG] build gold [ARG={default,yes,no}]
--enable-got=<type> GOT handling scheme (target, single, negative,
multigot)
@@ -15491,7 +15494,18 @@ else
fi
+# Check whether --enable-poison-system-directories was given.
+if test "${enable_poison_system_directories+set}" = set; then :
+ enableval=$enable_poison_system_directories;
+else
+ enable_poison_system_directories=no
+fi
+
+if test "x${enable_poison_system_directories}" = "xyes"; then
+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
+
+fi
# Check whether --enable-got was given.
if test "${enable_got+set}" = set; then :
diff --git a/ld/configure.ac b/ld/configure.ac
index 188172d..2cd8443 100644
--- a/ld/configure.ac
+++ b/ld/configure.ac
@@ -95,6 +95,16 @@ AC_SUBST(use_sysroot)
AC_SUBST(TARGET_SYSTEM_ROOT)
AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
+AC_ARG_ENABLE([poison-system-directories],
+ AS_HELP_STRING([--enable-poison-system-directories],
+ [warn for use of native system library directories]),,
+ [enable_poison_system_directories=no])
+if test "x${enable_poison_system_directories}" = "xyes"; then
+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
+ [1],
+ [Define to warn for use of native system library directories])
+fi
+
dnl Use --enable-gold to decide if this linker should be the default.
dnl "install_as_default" is set to false if gold is the default linker.
dnl "installed_linker" is the installed BFD linker name.
diff --git a/ld/ld.h b/ld/ld.h
index d84ec4e..3476b26 100644
--- a/ld/ld.h
+++ b/ld/ld.h
@@ -164,6 +164,14 @@ typedef struct {
/* If set, display the target memory usage (per memory region). */
bfd_boolean print_memory_usage;
+ /* If TRUE (the default) warn for uses of system directories when
+ cross linking. */
+ bfd_boolean poison_system_directories;
+
+ /* If TRUE (default FALSE) give an error for uses of system
+ directories when cross linking instead of a warning. */
+ bfd_boolean error_poison_system_directories;
+
/* Big or little endian as set on command line. */
enum endian_enum endian;
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index 1dd7492..fb1438e 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -2332,6 +2332,18 @@ string identifying the original linked file does not change.
Passing @code{none} for @var{style} disables the setting from any
@code{--build-id} options earlier on the command line.
+
+@kindex --no-poison-system-directories
+@item --no-poison-system-directories
+Do not warn for @option{-L} options using system directories such as
+@file{/usr/lib} when cross linking. This option is intended for use
+in chroot environments when such directories contain the correct
+libraries for the target system rather than the host.
+
+@kindex --error-poison-system-directories
+@item --error-poison-system-directories
+Give an error instead of a warning for @option{-L} options using
+system directories when cross linking.
@end table
@c man end
diff --git a/ld/ldfile.c b/ld/ldfile.c
index 1439309..086b354 100644
--- a/ld/ldfile.c
+++ b/ld/ldfile.c
@@ -114,6 +114,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline)
new_dirs->name = concat (ld_sysroot, name + 1, (const char *) NULL);
else
new_dirs->name = xstrdup (name);
+
+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
+ if (command_line.poison_system_directories
+ && ((!strncmp (name, "/lib", 4))
+ || (!strncmp (name, "/usr/lib", 8))
+ || (!strncmp (name, "/usr/local/lib", 14))
+ || (!strncmp (name, "/usr/X11R6/lib", 14))))
+ {
+ if (command_line.error_poison_system_directories)
+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for "
+ "cross-compilation\n"), name);
+ else
+ einfo (_("%P: warning: library search path \"%s\" is unsafe for "
+ "cross-compilation\n"), name);
+ }
+#endif
+
}
/* Try to open a BFD for a lang_input_statement. */
diff --git a/ld/ldlex.h b/ld/ldlex.h
index 6f11e7b..0ca3110 100644
--- a/ld/ldlex.h
+++ b/ld/ldlex.h
@@ -144,6 +144,8 @@ enum option_values
OPTION_PRINT_MEMORY_USAGE,
OPTION_REQUIRE_DEFINED_SYMBOL,
OPTION_ORPHAN_HANDLING,
+ OPTION_NO_POISON_SYSTEM_DIRECTORIES,
+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES,
};
/* The initial parser states. */
diff --git a/ld/ldmain.c b/ld/ldmain.c
index bb0b9cc..a23c56c 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -257,6 +257,8 @@ main (int argc, char **argv)
command_line.warn_mismatch = TRUE;
command_line.warn_search_mismatch = TRUE;
command_line.check_section_addresses = -1;
+ command_line.poison_system_directories = TRUE;
+ command_line.error_poison_system_directories = FALSE;
/* We initialize DEMANGLING based on the environment variable
COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the
diff --git a/ld/lexsup.c b/ld/lexsup.c
index 4cad209..be7d584 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
@@ -530,6 +530,14 @@ static const struct ld_option ld_options[] =
{ {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING},
'\0', N_("=MODE"), N_("Control how orphan sections are handled."),
TWO_DASHES },
+ { {"no-poison-system-directories", no_argument, NULL,
+ OPTION_NO_POISON_SYSTEM_DIRECTORIES},
+ '\0', NULL, N_("Do not warn for -L options using system directories"),
+ TWO_DASHES },
+ { {"error-poison-system-directories", no_argument, NULL,
+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES},
+ '\0', NULL, N_("Give an error for -L options using system directories"),
+ TWO_DASHES },
};
#define OPTION_COUNT ARRAY_SIZE (ld_options)
@@ -542,6 +550,7 @@ parse_args (unsigned argc, char **argv)
int ingroup = 0;
char *default_dirlist = NULL;
char *shortopts;
+ char *BR_paranoid_env;
struct option *longopts;
struct option *really_longopts;
int last_optind;
@@ -1516,6 +1525,14 @@ parse_args (unsigned argc, char **argv)
}
break;
+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES:
+ command_line.poison_system_directories = FALSE;
+ break;
+
+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES:
+ command_line.error_poison_system_directories = TRUE;
+ break;
+
case OPTION_PUSH_STATE:
input_flags.pushed = xmemdup (&input_flags,
sizeof (input_flags),
@@ -1559,6 +1576,10 @@ parse_args (unsigned argc, char **argv)
command_line.soname = NULL;
}
+ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH");
+ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0)
+ command_line.error_poison_system_directories = TRUE;
+
while (ingroup)
{
lang_leave_group ();
--
2.4.3

View File

@ -0,0 +1,108 @@
From 5eeb7401eed2f26d5fc255de816ca70a2cb9374e Mon Sep 17 00:00:00 2001
From: Sandra Loosemore <sandra@codesourcery.com>
Date: Sun, 27 Dec 2015 12:30:26 -0800
Subject: [PATCH 900/901] Correct nios2 _gp address computation.
2015-12-27 Sandra Loosemore <sandra@codesourcery.com>
bfd/
* elf32-nios2.c (nios2_elf_assign_gp): Correct computation of _gp
address.
(nios2_elf32_relocate_section): Tidy code for R_NIOS2_GPREL error
messages.
[Romain:
- backport upstream patch on 2.26
- drop bfd/ChangeLog entry]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
bfd/elf32-nios2.c | 31 +++++++++++++++++++++----------
1 file changed, 21 insertions(+), 10 deletions(-)
diff --git a/bfd/elf32-nios2.c b/bfd/elf32-nios2.c
index 6b29d8b..01ebd6e 100644
--- a/bfd/elf32-nios2.c
+++ b/bfd/elf32-nios2.c
@@ -3086,7 +3086,15 @@ lookup:
case bfd_link_hash_defined:
case bfd_link_hash_defweak:
gp_found = TRUE;
- *pgp = lh->u.def.value;
+ {
+ asection *sym_sec = lh->u.def.section;
+ bfd_vma sym_value = lh->u.def.value;
+
+ if (sym_sec->output_section)
+ sym_value = (sym_value + sym_sec->output_offset
+ + sym_sec->output_section->vma);
+ *pgp = sym_value;
+ }
break;
case bfd_link_hash_indirect:
case bfd_link_hash_warning:
@@ -3719,7 +3727,6 @@ nios2_elf32_relocate_section (bfd *output_bfd,
struct elf32_nios2_link_hash_entry *eh;
bfd_vma relocation;
bfd_vma gp;
- bfd_vma reloc_address;
bfd_reloc_status_type r = bfd_reloc_ok;
const char *name = NULL;
int r_type;
@@ -3762,12 +3769,6 @@ nios2_elf32_relocate_section (bfd *output_bfd,
if (bfd_link_relocatable (info))
continue;
- if (sec && sec->output_section)
- reloc_address = (sec->output_section->vma + sec->output_offset
- + rel->r_offset);
- else
- reloc_address = 0;
-
if (howto)
{
switch (howto->type)
@@ -3816,6 +3817,15 @@ nios2_elf32_relocate_section (bfd *output_bfd,
/* Turns an absolute address into a gp-relative address. */
if (!nios2_elf_assign_gp (output_bfd, &gp, info))
{
+ bfd_vma reloc_address;
+
+ if (sec && sec->output_section)
+ reloc_address = (sec->output_section->vma
+ + sec->output_offset
+ + rel->r_offset);
+ else
+ reloc_address = 0;
+
format = _("global pointer relative relocation at address "
"0x%08x when _gp not defined\n");
sprintf (msgbuf, format, reloc_address);
@@ -3825,7 +3835,7 @@ nios2_elf32_relocate_section (bfd *output_bfd,
else
{
bfd_vma symbol_address = rel->r_addend + relocation;
- relocation = relocation + rel->r_addend - gp;
+ relocation = symbol_address - gp;
rel->r_addend = 0;
if (((signed) relocation < -32768
|| (signed) relocation > 32767)
@@ -3833,6 +3843,8 @@ nios2_elf32_relocate_section (bfd *output_bfd,
|| h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak))
{
+ if (h)
+ name = h->root.root.string;
format = _("Unable to reach %s (at 0x%08x) from the "
"global pointer (at 0x%08x) because the "
"offset (%d) is out of the allowed range, "
@@ -3848,7 +3860,6 @@ nios2_elf32_relocate_section (bfd *output_bfd,
rel->r_offset, relocation,
rel->r_addend);
}
-
break;
case R_NIOS2_UJMP:
r = nios2_elf32_do_ujmp_relocate (input_bfd, howto,
--
2.4.3

View File

@ -0,0 +1,67 @@
From 39c481c2fb0e7fb127a15facf70b55d517462809 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Sat, 6 Feb 2016 00:35:31 +0100
Subject: [PATCH 901/901] Fix assertion, reduce number of messages about FDE
encoding
Patch by Nick Clifton [1]
[1] https://sourceware.org/bugzilla/show_bug.cgi?id=19405
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
bfd/elf-eh-frame.c | 17 ++++++++++++++---
bfd/elf32-nios2.c | 4 ++--
2 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
index e303189..e79bff0 100644
--- a/bfd/elf-eh-frame.c
+++ b/bfd/elf-eh-frame.c
@@ -1369,14 +1369,25 @@ _bfd_elf_discard_section_eh_frame
&& ent->make_relative == 0)
|| (ent->fde_encoding & 0x70) == DW_EH_PE_aligned))
{
+ static int num_warnings_issued = 0;
/* If a shared library uses absolute pointers
which we cannot turn into PC relative,
don't create the binary search table,
since it is affected by runtime relocations. */
hdr_info->u.dwarf.table = FALSE;
- (*info->callbacks->einfo)
- (_("%P: FDE encoding in %B(%A) prevents .eh_frame_hdr"
- " table being created.\n"), abfd, sec);
+ if (num_warnings_issued < 10)
+ {
+ (*info->callbacks->einfo)
+ (_("%P: FDE encoding in %B(%A) prevents .eh_frame_hdr"
+ " table being created.\n"), abfd, sec);
+ num_warnings_issued ++;
+ }
+ else if (num_warnings_issued == 10)
+ {
+ (*info->callbacks->einfo)
+ (_("%P: Further warnings about FDE encoding preventing .eh_frame_hdr generation dropped.\n"));
+ num_warnings_issued ++;
+ }
}
ent->removed = 0;
hdr_info->u.dwarf.fde_count++;
diff --git a/bfd/elf32-nios2.c b/bfd/elf32-nios2.c
index 01ebd6e..d1b7f83 100644
--- a/bfd/elf32-nios2.c
+++ b/bfd/elf32-nios2.c
@@ -1905,8 +1905,8 @@ nios2_elf32_install_imm16 (asection *sec, bfd_vma offset, bfd_vma value)
{
bfd_vma word = bfd_get_32 (sec->owner, sec->contents + offset);
- BFD_ASSERT(value <= 0xffff);
-
+ BFD_ASSERT (value <= 0xffff || ((bfd_signed_vma) value) >= -0xffff);
+
bfd_put_32 (sec->owner, word | ((value & 0xffff) << 6),
sec->contents + offset);
}
--
2.4.3

View File

@ -0,0 +1,101 @@
From eb3e02b484ff75f4a2f54192422a88baa275bdfc Mon Sep 17 00:00:00 2001
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Tue, 2 Feb 2016 17:11:38 +0300
Subject: [PATCH] xtensa: fix signedness of gas relocations
Change 1058c7532d0b "Use signed data type for R_XTENSA_DIFF* relocation
offsets." changed signedness of BFD_RELOC_XTENSA_DIFF* relocations
substituted for BFD_RELOC_*. This made it impossible to encode arbitrary
8-, 16- and 32-bit values, which broke e.g. debug info encoding by .loc
directive. Revert this part and add test.
gas/
2016-02-03 Max Filippov <jcmvbkbc@gmail.com>
* config/tc-xtensa.c (md_apply_fix): Mark BFD_RELOC_XTENSA_DIFF*
substitutions for BFD_RELOC_* as unsigned.
gas/testsuite/
2016-02-03 Max Filippov <jcmvbkbc@gmail.com>
* gas/xtensa/all.exp: Add loc to list of xtensa tests.
* gas/xtensa/loc.d: New file: loc test result patterns.
* gas/xtensa/loc.s: New file: loc test.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
[Rebase on 2.26]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
gas/config/tc-xtensa.c | 6 +++---
gas/testsuite/gas/xtensa/all.exp | 1 +
gas/testsuite/gas/xtensa/loc.d | 10 ++++++++++
gas/testsuite/gas/xtensa/loc.s | 7 +++++++
4 files changed, 21 insertions(+), 3 deletions(-)
create mode 100644 gas/testsuite/gas/xtensa/loc.d
create mode 100644 gas/testsuite/gas/xtensa/loc.s
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index d707da8..f623add 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -5961,15 +5961,15 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg)
{
case BFD_RELOC_8:
fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF8;
- fixP->fx_signed = 1;
+ fixP->fx_signed = 0;
break;
case BFD_RELOC_16:
fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF16;
- fixP->fx_signed = 1;
+ fixP->fx_signed = 0;
break;
case BFD_RELOC_32:
fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF32;
- fixP->fx_signed = 1;
+ fixP->fx_signed = 0;
break;
default:
break;
diff --git a/gas/testsuite/gas/xtensa/all.exp b/gas/testsuite/gas/xtensa/all.exp
index db39629..4daeff2 100644
--- a/gas/testsuite/gas/xtensa/all.exp
+++ b/gas/testsuite/gas/xtensa/all.exp
@@ -101,6 +101,7 @@ if [istarget xtensa*-*-*] then {
run_dump_test "trampoline"
run_dump_test "first_frag_align"
run_dump_test "auto-litpools"
+ run_dump_test "loc"
}
if [info exists errorInfo] then {
diff --git a/gas/testsuite/gas/xtensa/loc.d b/gas/testsuite/gas/xtensa/loc.d
new file mode 100644
index 0000000..71983cc
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/loc.d
@@ -0,0 +1,10 @@
+#as:
+#objdump: -r
+#name: .loc directive relocs
+
+.*: +file format .*xtensa.*
+
+RELOCATION RECORDS FOR \[\.debug_line\]:
+#...
+.*R_XTENSA_DIFF16.*\.text\+0x00009c42
+#...
diff --git a/gas/testsuite/gas/xtensa/loc.s b/gas/testsuite/gas/xtensa/loc.s
new file mode 100644
index 0000000..029e14e
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/loc.s
@@ -0,0 +1,7 @@
+ .text
+ .file 1 "loc.s"
+ .loc 1 3
+ nop
+ .space 40000
+ .loc 1 5
+ nop
--
2.4.3

View File

@ -0,0 +1,149 @@
From 7db2accc3fdea0aaa0c3a76a413d8e8030e022c3 Mon Sep 17 00:00:00 2001
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Tue, 16 Feb 2016 02:23:28 +0300
Subject: [PATCH] xtensa: fix .init/.fini literals moving
Despite the documentation and the comment in xtensa_move_literals, in
the presence of --text-section-literals and --auto-litpools literals are
moved from the separate literal sections into .init and .fini, because
the check in the xtensa_move_literals is incorrect.
This moving was broken with introduction of auto litpools: some literals
now may be lost. This happens because literal frags emitted from .init
and .fini are not closed when new .literal_position marks new literal
pool. Then frag_align(2, 0, 0) changes type of the last literal frag to
rs_align. rs_align frags are skipped in the xtensa_move_literals. As a
result fixups against such literals are not moved out of .init.literal/
.fini.literal sections producing the following assembler error:
test.S: Warning: fixes not all moved from .init.literal
test.S: Internal error!
Fix check for .init.literal/.fini.literal in the xtensa_move_literals
and don't let it move literals from there in the presence of
--text-section-literals or --auto-litpools.
2016-02-17 Max Filippov <jcmvbkbc@gmail.com>
gas/
* config/tc-xtensa.c (xtensa_move_literals): Fix check for
.init.literal/.fini.literal section name.
* testsuite/gas/xtensa/all.exp: Add init-fini-literals to the
list of xtensa tests.
* testsuite/gas/xtensa/init-fini-literals.d: New file:
init-fini-literals test result patterns.
* testsuite/gas/xtensa/init-fini-literals.s: New file:
init-fini-literals test.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
Backported from: 4111950f363221c4641dc2f33bea61cc94f34906
gas/config/tc-xtensa.c | 12 ++++++++++--
gas/testsuite/gas/xtensa/all.exp | 1 +
gas/testsuite/gas/xtensa/init-fini-literals.d | 24 ++++++++++++++++++++++++
gas/testsuite/gas/xtensa/init-fini-literals.s | 19 +++++++++++++++++++
4 files changed, 54 insertions(+), 2 deletions(-)
create mode 100644 gas/testsuite/gas/xtensa/init-fini-literals.d
create mode 100644 gas/testsuite/gas/xtensa/init-fini-literals.s
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index 36a06cc..5773634 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -11061,6 +11061,10 @@ xtensa_move_literals (void)
fixS *fix, *next_fix, **fix_splice;
sym_list *lit;
struct litpool_seg *lps;
+ const char *init_name = INIT_SECTION_NAME;
+ const char *fini_name = FINI_SECTION_NAME;
+ int init_name_len = strlen(init_name);
+ int fini_name_len = strlen(fini_name);
mark_literal_frags (literal_head->next);
@@ -11171,9 +11175,13 @@ xtensa_move_literals (void)
for (segment = literal_head->next; segment; segment = segment->next)
{
+ const char *seg_name = segment_name (segment->seg);
+
/* Keep the literals for .init and .fini in separate sections. */
- if (!strcmp (segment_name (segment->seg), INIT_SECTION_NAME)
- || !strcmp (segment_name (segment->seg), FINI_SECTION_NAME))
+ if ((!memcmp (seg_name, init_name, init_name_len) &&
+ !strcmp (seg_name + init_name_len, ".literal")) ||
+ (!memcmp (seg_name, fini_name, fini_name_len) &&
+ !strcmp (seg_name + fini_name_len, ".literal")))
continue;
frchain_from = seg_info (segment->seg)->frchainP;
diff --git a/gas/testsuite/gas/xtensa/all.exp b/gas/testsuite/gas/xtensa/all.exp
index 7ff7bd7..6b67320 100644
--- a/gas/testsuite/gas/xtensa/all.exp
+++ b/gas/testsuite/gas/xtensa/all.exp
@@ -102,6 +102,7 @@ if [istarget xtensa*-*-*] then {
run_dump_test "first_frag_align"
run_dump_test "auto-litpools"
run_dump_test "loc"
+ run_dump_test "init-fini-literals"
}
if [info exists errorInfo] then {
diff --git a/gas/testsuite/gas/xtensa/init-fini-literals.d b/gas/testsuite/gas/xtensa/init-fini-literals.d
new file mode 100644
index 0000000..19ed121
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/init-fini-literals.d
@@ -0,0 +1,24 @@
+#as: --text-section-literals
+#objdump: -r
+#name: check that literals for .init and .fini always go to separate sections
+
+.*: +file format .*xtensa.*
+#...
+RELOCATION RECORDS FOR \[\.init\.literal\]:
+#...
+00000000 R_XTENSA_PLT init
+#...
+RELOCATION RECORDS FOR \[\.fini\.literal\]:
+#...
+00000000 R_XTENSA_PLT fini
+#...
+RELOCATION RECORDS FOR \[\.init\]:
+#...
+.* R_XTENSA_SLOT0_OP \.init\.literal
+.* R_XTENSA_SLOT0_OP \.init\.literal\+0x00000004
+#...
+RELOCATION RECORDS FOR \[\.fini\]:
+#...
+.* R_XTENSA_SLOT0_OP \.fini\.literal
+.* R_XTENSA_SLOT0_OP \.fini\.literal\+0x00000004
+#...
diff --git a/gas/testsuite/gas/xtensa/init-fini-literals.s b/gas/testsuite/gas/xtensa/init-fini-literals.s
new file mode 100644
index 0000000..7c9ec17
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/init-fini-literals.s
@@ -0,0 +1,19 @@
+ .section .init,"ax",@progbits
+ .literal_position
+ .literal .LC0, init@PLT
+ .literal_position
+ .literal .LC1, 1
+ .align 4
+
+ l32r a2, .LC0
+ l32r a2, .LC1
+
+ .section .fini,"ax",@progbits
+ .literal_position
+ .literal .LC2, fini@PLT
+ .literal_position
+ .literal .LC3, 1
+ .align 4
+
+ l32r a2, .LC2
+ l32r a2, .LC3
--
2.1.4

View File

@ -3,7 +3,7 @@ comment "Binutils Options"
choice
prompt "Binutils Version"
depends on !BR2_arc
default BR2_BINUTILS_VERSION_2_24_X
default BR2_BINUTILS_VERSION_2_25_X
help
Select the version of binutils you wish to use.
@ -12,6 +12,8 @@ choice
!BR2_powerpc64le && !BR2_nios2
# Unsupported for MIPS R6
depends on !BR2_mips_32r6 && !BR2_mips_64r6
# Unsupported ARM cores
depends on !BR2_cortex_a17
bool "binutils 2.23.2"
config BR2_BINUTILS_VERSION_2_24_X
@ -19,11 +21,16 @@ choice
depends on !BR2_nios2 && !BR2_powerpc64le
# Unsupported for MIPS R6
depends on !BR2_mips_32r6 && !BR2_mips_64r6
# Unsupported ARM cores
depends on !BR2_cortex_a17
bool "binutils 2.24"
config BR2_BINUTILS_VERSION_2_25_X
bool "binutils 2.25.1"
config BR2_BINUTILS_VERSION_2_26_X
bool "binutils 2.26"
endchoice
config BR2_BINUTILS_VERSION
@ -32,6 +39,7 @@ config BR2_BINUTILS_VERSION
default "2.23.2" if BR2_BINUTILS_VERSION_2_23_X
default "2.24" if BR2_BINUTILS_VERSION_2_24_X
default "2.25.1" if BR2_BINUTILS_VERSION_2_25_X
default "2.26" if BR2_BINUTILS_VERSION_2_26_X
config BR2_BINUTILS_ENABLE_LTO
bool

View File

@ -1,7 +1,7 @@
# From ftp://gcc.gnu.org/pub/binutils/releases/sha512.sum
sha512 ffe8ef263ef99183e8cc823fe8487ff7d0f7bf9a8efd2853b5f4636aca0023850d13de4eac7d77a5f69413d8a50e6f95bb14569be53df86c0bce38034525ab74 binutils-2.22.tar.bz2
sha512 dec753bbba008f1526b89cf1bd85feba78f362f5333ffdf93953fd131eb755976dec82a0a4ba38c43d2434da007137780cfe674de5414be5cf7ce7fbc6af6d16 binutils-2.23.2.tar.bz2
sha512 5ec95ad47d49b12c4558a8db0ca2109d3ee1955e3776057f3330c4506f8f4d1cf5e505fbf8a16b98403a0fcdeaaf986fe0a22be6456247dbdace63ce1f776b12 binutils-2.24.tar.bz2
sha512 0b36dda0e6d32cd25613c0e64b56b28312515c54d6a159efd3db9a86717f114ab0a0a1f69d08975084d55713ebaeab64e4085c9b3d1c3fa86712869f80eb954d binutils-2.25.1.tar.bz2
sha512 e77e1b8dbbcbaf9ac2fae95c4403615808af3be03b2e1d32448cd3a7d32c43273f8bcace3f2de84ec120a982879295673029da306e2885dbf5f990584932cfc7 binutils-2.26.tar.bz2
# No hash for the ARC variant, comes from the github-helper:
none xxx binutils-arc-2015.12.tar.gz

View File

@ -11,7 +11,7 @@ ifeq ($(BINUTILS_VERSION),)
ifeq ($(BR2_arc),y)
BINUTILS_VERSION = arc-2015.12
else
BINUTILS_VERSION = 2.24
BINUTILS_VERSION = 2.25.1
endif
endif # BINUTILS_VERSION
@ -51,6 +51,10 @@ BINUTILS_CONF_OPTS = \
$(BINUTILS_DISABLE_GDB_CONF_OPTS) \
$(BINUTILS_EXTRA_CONFIG_OPTIONS)
ifeq ($(BR2_STATIC_LIBS),y)
BINUTILS_CONF_OPTS += --disable-plugins
endif
# Don't build documentation. It takes up extra space / build time,
# and sometimes needs specific makeinfo versions to work
BINUTILS_CONF_ENV += ac_cv_prog_MAKEINFO=missing

View File

@ -1,39 +0,0 @@
From 01d85fdf6a45150e82143803be3373d779d18522 Mon Sep 17 00:00:00 2001
From: John Keeping <john@metanate.com>
Date: Wed, 24 Feb 2016 13:57:38 +0000
Subject: [PATCH] tools/avinfo: Fix big endian build
Commit 101b439 (tools/avinfo: Add partial support for Sony LDAC) added a
new a2dp_ldac_t structure but only inside a little endian ifdef. Add
the same structure in the big endian code.
The structure definition doesn't differ for the big/little endian cases
but if the unknown fields are discovered in the future it might, so a
copy is added rather than pulling the existing definition below the
endif.
[John: backport from upstream commit 01d85fdf6a45150e82143803be3373d779d18522.]
Signed-off-by: John Keeping <john@metanate.com>
---
profiles/audio/a2dp-codecs.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/profiles/audio/a2dp-codecs.h b/profiles/audio/a2dp-codecs.h
index e9da0bf..4fb5c0c 100644
--- a/profiles/audio/a2dp-codecs.h
+++ b/profiles/audio/a2dp-codecs.h
@@ -234,6 +234,11 @@ typedef struct {
uint8_t channel_mode:4;
} __attribute__ ((packed)) a2dp_aptx_t;
+typedef struct {
+ a2dp_vendor_codec_t info;
+ uint8_t unknown[2];
+} __attribute__ ((packed)) a2dp_ldac_t;
+
#else
#error "Unknown byte order"
#endif
--
2.7.0.226.gfe986fe

View File

@ -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

View File

@ -1,2 +1,2 @@
# From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc:
sha256 c14ba9ddcb0055522073477b8fd8bf1ddf5d219e75fdfd4699b7e0ce5350d6b0 bluez-5.37.tar.xz
sha256 21d1bc9150d3576296595217efb98a746b592389d25d5637e8bee5da7272593b bluez-5.39.tar.xz

View File

@ -4,7 +4,7 @@
#
################################################################################
BLUEZ5_UTILS_VERSION = 5.37
BLUEZ5_UTILS_VERSION = 5.39
BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz
BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth
BLUEZ5_UTILS_INSTALL_STAGING = YES
@ -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 \
@ -79,4 +76,10 @@ else
BLUEZ5_UTILS_CONF_OPTS += --disable-systemd
endif
define BLUEZ5_UTILS_INSTALL_INIT_SYSTEMD
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/
ln -fs ../../../../usr/lib/systemd/system/bluetooth.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/bluetooth.service
endef
$(eval $(autotools-package))

View File

@ -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:
//

View File

@ -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:
//

View File

@ -0,0 +1,45 @@
From 4f1c6784b37a11c78fe84bb238fb7cc377ce0d36 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
Date: Wed, 30 Mar 2016 23:28:33 +0200
Subject: [PATCH] Fix for uClibc and gcc <= 4.8.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
getchar() is defined as a macro in uClibc. This hits gcc bug 58952 [1] for all
gcc version <= 4.8.2 and building boost/test fails:
./boost/test/impl/unit_test_main.ipp: In function 'int boost::unit_test::unit_test_main(boost::unit_test::init_unit_test_func, int, char**)':
./boost/test/impl/unit_test_main.ipp:194:18: error: expected unqualified-id before '(' token
To allow building boost/test with uClibc based toolchains with gcc <= 4.8.2 use
parenthesis for std::getchar.
[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58952
Upstream status: Pending
https://github.com/boostorg/test/pull/97
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
include/boost/test/impl/unit_test_main.ipp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/boost/test/impl/unit_test_main.ipp b/boost/test/impl/unit_test_main.ipp
index 1f30c02..db61930 100644
--- a/boost/test/impl/unit_test_main.ipp
+++ b/boost/test/impl/unit_test_main.ipp
@@ -191,7 +191,9 @@ unit_test_main( init_unit_test_func init_func, int argc, char* argv[] )
if( runtime_config::get<bool>( runtime_config::WAIT_FOR_DEBUGGER ) ) {
results_reporter::get_stream() << "Press any key to continue..." << std::endl;
- std::getchar();
+ // getchar is defined as a macro in uClibc. Use parenthesis to fix
+ // gcc bug 58952 for gcc <= 4.8.2.
+ (std::getchar)();
results_reporter::get_stream() << "Continuing..." << std::endl;
}
--
2.7.4

View File

@ -1,111 +0,0 @@
From 1de25a6e87e0e627aa34298105a3d17c60a1f44e Mon Sep 17 00:00:00 2001
From: Denys Vlasenko <vda.linux@googlemail.com>
Date: Mon, 26 Oct 2015 19:33:05 +0100
Subject: [PATCH] unzip: test for bad archive SEGVing
function old new delta
huft_build 1296 1300 +4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
archival/libarchive/decompress_gunzip.c | 11 +++++++----
testsuite/unzip.tests | 23 ++++++++++++++++++++++-
2 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/archival/libarchive/decompress_gunzip.c b/archival/libarchive/decompress_gunzip.c
index 7b6f459..30bf451 100644
--- a/archival/libarchive/decompress_gunzip.c
+++ b/archival/libarchive/decompress_gunzip.c
@@ -305,11 +305,12 @@ static int huft_build(const unsigned *b, const unsigned n,
unsigned i; /* counter, current code */
unsigned j; /* counter */
int k; /* number of bits in current code */
- unsigned *p; /* pointer into c[], b[], or v[] */
+ const unsigned *p; /* pointer into c[], b[], or v[] */
huft_t *q; /* points to current table */
huft_t r; /* table entry for structure assignment */
huft_t *u[BMAX]; /* table stack */
unsigned v[N_MAX]; /* values in order of bit length */
+ unsigned v_end;
int ws[BMAX + 1]; /* bits decoded stack */
int w; /* bits decoded */
unsigned x[BMAX + 1]; /* bit offsets, then code stack */
@@ -324,7 +325,7 @@ static int huft_build(const unsigned *b, const unsigned n,
/* Generate counts for each bit length */
memset(c, 0, sizeof(c));
- p = (unsigned *) b; /* cast allows us to reuse p for pointing to b */
+ p = b;
i = n;
do {
c[*p]++; /* assume all entries <= BMAX */
@@ -365,12 +366,14 @@ static int huft_build(const unsigned *b, const unsigned n,
}
/* Make a table of values in order of bit lengths */
- p = (unsigned *) b;
+ p = b;
i = 0;
+ v_end = 0;
do {
j = *p++;
if (j != 0) {
v[x[j]++] = i;
+ v_end = x[j];
}
} while (++i < n);
@@ -432,7 +435,7 @@ static int huft_build(const unsigned *b, const unsigned n,
/* set up table entry in r */
r.b = (unsigned char) (k - w);
- if (p >= v + n) {
+ if (p >= v + v_end) { // Was "if (p >= v + n)" but v[] can be shorter!
r.e = 99; /* out of values--invalid code */
} else if (*p < s) {
r.e = (unsigned char) (*p < 256 ? 16 : 15); /* 256 is EOB code */
diff --git a/testsuite/unzip.tests b/testsuite/unzip.tests
index 8677a03..ca0a458 100755
--- a/testsuite/unzip.tests
+++ b/testsuite/unzip.tests
@@ -7,7 +7,7 @@
. ./testing.sh
-# testing "test name" "options" "expected result" "file input" "stdin"
+# testing "test name" "commands" "expected result" "file input" "stdin"
# file input will be file called "input"
# test can create a file "actual" instead of writing to stdout
@@ -30,6 +30,27 @@ testing "unzip (subdir only)" "unzip -q foo.zip foo/ && test -d foo && test ! -f
rmdir foo
rm foo.zip
+# File containing some damaged encrypted stream
+testing "unzip (bad archive)" "uudecode; unzip bad.zip 2>&1; echo \$?" \
+"Archive: bad.zip
+ inflating: ]3j½r«IK-%Ix
+unzip: inflate error
+1
+" \
+"" "\
+begin-base64 644 bad.zip
+UEsDBBQAAgkIAAAAIQA5AAAANwAAADwAAAAQAAcAXTNqwr1ywqtJGxJLLSVJ
+eCkBD0AdKBk8JzQsIj01JC0/ORJQSwMEFAECCAAAAAAhADoAAAAPAAAANgAA
+AAwAAQASw73Ct1DCokohPXQiNjoUNTUiHRwgLT4WHlBLAQIQABQAAggIAAAA
+oQA5AAAANwAAADwAAAAQQAcADAAAACwAMgCAAAAAAABdM2rCvXLCq0kbEkst
+JUl4KQEPQB0oGSY4Cz4QNgEnJSYIPVBLAQIAABQAAggAAAAAIQAqAAAADwAA
+BDYAAAAMAAEADQAAADIADQAAAEEAAAASw73Ct1DKokohPXQiNzA+FAI1HCcW
+NzITNFBLBQUKAC4JAA04Cw0EOhZQSwUGAQAABAIAAgCZAAAAeQAAAAIALhM=
+====
+"
+
+rm *
+
# Clean up scratch directory.
cd ..
--
2.6.2

View File

@ -0,0 +1,84 @@
From 4194c2875310c13ee3ca2bb0e1aea6a2ae67c55a Mon Sep 17 00:00:00 2001
From: Ron Yorston <rmy@pobox.com>
Date: Thu, 29 Oct 2015 16:44:56 +0000
Subject: [PATCH] ash: fix error during recursive processing of here document
Save the value of the checkkwd flag to prevent it being clobbered
during recursion.
Based on commit ec2c84d from git://git.kernel.org/pub/scm/utils/dash/dash.git
by Herbert Xu.
function old new delta
readtoken 190 203 +13
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/0 up/down: 13/0) Total: 13 bytes
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
(cherry picked from commit 713f07d906d9171953be0c12e2369869855b6ca6)
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
shell/ash.c | 5 +++--
shell/ash_test/ash-heredoc/heredoc3.right | 1 +
shell/ash_test/ash-heredoc/heredoc3.tests | 9 +++++++++
3 files changed, 13 insertions(+), 2 deletions(-)
create mode 100644 shell/ash_test/ash-heredoc/heredoc3.right
create mode 100755 shell/ash_test/ash-heredoc/heredoc3.tests
diff --git a/shell/ash.c b/shell/ash.c
index 8a1628e..256e933 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -11893,6 +11893,7 @@ static int
readtoken(void)
{
int t;
+ int kwd = checkkwd;
#if DEBUG
smallint alreadyseen = tokpushback;
#endif
@@ -11906,7 +11907,7 @@ readtoken(void)
/*
* eat newlines
*/
- if (checkkwd & CHKNL) {
+ if (kwd & CHKNL) {
while (t == TNL) {
parseheredoc();
t = xxreadtoken();
@@ -11920,7 +11921,7 @@ readtoken(void)
/*
* check for keywords
*/
- if (checkkwd & CHKKWD) {
+ if (kwd & CHKKWD) {
const char *const *pp;
pp = findkwd(wordtext);
diff --git a/shell/ash_test/ash-heredoc/heredoc3.right b/shell/ash_test/ash-heredoc/heredoc3.right
new file mode 100644
index 0000000..ce01362
--- /dev/null
+++ b/shell/ash_test/ash-heredoc/heredoc3.right
@@ -0,0 +1 @@
+hello
diff --git a/shell/ash_test/ash-heredoc/heredoc3.tests b/shell/ash_test/ash-heredoc/heredoc3.tests
new file mode 100755
index 0000000..96c227c
--- /dev/null
+++ b/shell/ash_test/ash-heredoc/heredoc3.tests
@@ -0,0 +1,9 @@
+echo hello >greeting
+cat <<EOF &&
+$(cat greeting)
+EOF
+{
+ echo $?
+ cat greeting
+} >/dev/null
+rm greeting
--
2.7.4

View File

@ -1,134 +0,0 @@
From 6bd3fff51aa74e2ee2d87887b12182a3b09792ef Mon Sep 17 00:00:00 2001
From: Denys Vlasenko <vda.linux@googlemail.com>
Date: Fri, 30 Oct 2015 23:41:53 +0100
Subject: [PATCH] [g]unzip: fix recent breakage.
Also, do emit error message we so painstakingly pass from gzip internals
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
archival/libarchive/decompress_gunzip.c | 33 +++++++++++++++++++++------------
testsuite/unzip.tests | 1 +
2 files changed, 22 insertions(+), 12 deletions(-)
diff --git a/archival/libarchive/decompress_gunzip.c b/archival/libarchive/decompress_gunzip.c
index 30bf451..20e4d9a 100644
--- a/archival/libarchive/decompress_gunzip.c
+++ b/archival/libarchive/decompress_gunzip.c
@@ -309,8 +309,7 @@ static int huft_build(const unsigned *b, const unsigned n,
huft_t *q; /* points to current table */
huft_t r; /* table entry for structure assignment */
huft_t *u[BMAX]; /* table stack */
- unsigned v[N_MAX]; /* values in order of bit length */
- unsigned v_end;
+ unsigned v[N_MAX + 1]; /* values in order of bit length. last v[] is never used */
int ws[BMAX + 1]; /* bits decoded stack */
int w; /* bits decoded */
unsigned x[BMAX + 1]; /* bit offsets, then code stack */
@@ -365,15 +364,17 @@ static int huft_build(const unsigned *b, const unsigned n,
*xp++ = j;
}
- /* Make a table of values in order of bit lengths */
+ /* Make a table of values in order of bit lengths.
+ * To detect bad input, unused v[i]'s are set to invalid value UINT_MAX.
+ * In particular, last v[i] is never filled and must not be accessed.
+ */
+ memset(v, 0xff, sizeof(v));
p = b;
i = 0;
- v_end = 0;
do {
j = *p++;
if (j != 0) {
v[x[j]++] = i;
- v_end = x[j];
}
} while (++i < n);
@@ -435,7 +436,9 @@ static int huft_build(const unsigned *b, const unsigned n,
/* set up table entry in r */
r.b = (unsigned char) (k - w);
- if (p >= v + v_end) { // Was "if (p >= v + n)" but v[] can be shorter!
+ if (/*p >= v + n || -- redundant, caught by the second check: */
+ *p == UINT_MAX /* do we access uninited v[i]? (see memset(v))*/
+ ) {
r.e = 99; /* out of values--invalid code */
} else if (*p < s) {
r.e = (unsigned char) (*p < 256 ? 16 : 15); /* 256 is EOB code */
@@ -520,8 +523,9 @@ static NOINLINE int inflate_codes(STATE_PARAM_ONLY)
e = t->e;
if (e > 16)
do {
- if (e == 99)
- abort_unzip(PASS_STATE_ONLY);;
+ if (e == 99) {
+ abort_unzip(PASS_STATE_ONLY);
+ }
bb >>= t->b;
k -= t->b;
e -= 16;
@@ -557,8 +561,9 @@ static NOINLINE int inflate_codes(STATE_PARAM_ONLY)
e = t->e;
if (e > 16)
do {
- if (e == 99)
+ if (e == 99) {
abort_unzip(PASS_STATE_ONLY);
+ }
bb >>= t->b;
k -= t->b;
e -= 16;
@@ -824,8 +829,9 @@ static int inflate_block(STATE_PARAM smallint *e)
b_dynamic >>= 4;
k_dynamic -= 4;
- if (nl > 286 || nd > 30)
+ if (nl > 286 || nd > 30) {
abort_unzip(PASS_STATE_ONLY); /* bad lengths */
+ }
/* read in bit-length-code lengths */
for (j = 0; j < nb; j++) {
@@ -906,12 +912,14 @@ static int inflate_block(STATE_PARAM smallint *e)
bl = lbits;
i = huft_build(ll, nl, 257, cplens, cplext, &inflate_codes_tl, &bl);
- if (i != 0)
+ if (i != 0) {
abort_unzip(PASS_STATE_ONLY);
+ }
bd = dbits;
i = huft_build(ll + nl, nd, 0, cpdist, cpdext, &inflate_codes_td, &bd);
- if (i != 0)
+ if (i != 0) {
abort_unzip(PASS_STATE_ONLY);
+ }
/* set up data for inflate_codes() */
inflate_codes_setup(PASS_STATE bl, bd);
@@ -999,6 +1007,7 @@ inflate_unzip_internal(STATE_PARAM transformer_state_t *xstate)
error_msg = "corrupted data";
if (setjmp(error_jmp)) {
/* Error from deep inside zip machinery */
+ bb_error_msg(error_msg);
n = -1;
goto ret;
}
diff --git a/testsuite/unzip.tests b/testsuite/unzip.tests
index ca0a458..d8738a3 100755
--- a/testsuite/unzip.tests
+++ b/testsuite/unzip.tests
@@ -34,6 +34,7 @@ rm foo.zip
testing "unzip (bad archive)" "uudecode; unzip bad.zip 2>&1; echo \$?" \
"Archive: bad.zip
inflating: ]3j½r«IK-%Ix
+unzip: corrupted data
unzip: inflate error
1
" \
--
2.6.2

View File

@ -0,0 +1,73 @@
From 3c4de6e36c4d387a648622e7b828a05f2b1b47e6 Mon Sep 17 00:00:00 2001
From: Denys Vlasenko <vda.linux@googlemail.com>
Date: Fri, 26 Feb 2016 15:54:56 +0100
Subject: [PATCH] udhcpc: fix OPTION_6RD parsing (could overflow its malloced
buffer)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
(cherry picked from commit 352f79acbd759c14399e39baef21fc4ffe180ac2)
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
networking/udhcp/common.c | 15 +++++++++++++--
networking/udhcp/dhcpc.c | 4 ++--
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/networking/udhcp/common.c b/networking/udhcp/common.c
index bc41c8d..680852c 100644
--- a/networking/udhcp/common.c
+++ b/networking/udhcp/common.c
@@ -142,7 +142,7 @@ const char dhcp_option_strings[] ALIGN1 =
* udhcp_str2optset: to determine how many bytes to allocate.
* xmalloc_optname_optval: to estimate string length
* from binary option length: (option[LEN] / dhcp_option_lengths[opt_type])
- * is the number of elements, multiply in by one element's string width
+ * is the number of elements, multiply it by one element's string width
* (len_of_option_as_string[opt_type]) and you know how wide string you need.
*/
const uint8_t dhcp_option_lengths[] ALIGN1 = {
@@ -162,7 +162,18 @@ const uint8_t dhcp_option_lengths[] ALIGN1 = {
[OPTION_S32] = 4,
/* Just like OPTION_STRING, we use minimum length here */
[OPTION_STATIC_ROUTES] = 5,
- [OPTION_6RD] = 22, /* ignored by udhcp_str2optset */
+ [OPTION_6RD] = 12, /* ignored by udhcp_str2optset */
+ /* The above value was chosen as follows:
+ * len_of_option_as_string[] for this option is >60: it's a string of the form
+ * "32 128 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 255.255.255.255 ".
+ * Each additional ipv4 address takes 4 bytes in binary option and appends
+ * another "255.255.255.255 " 16-byte string. We can set [OPTION_6RD] = 4
+ * but this severely overestimates string length: instead of 16 bytes,
+ * it adds >60 for every 4 bytes in binary option.
+ * We cheat and declare here that option is in units of 12 bytes.
+ * This adds more than 60 bytes for every three ipv4 addresses - more than enough.
+ * (Even 16 instead of 12 should work, but let's be paranoid).
+ */
};
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c
index 915f659..2332b57 100644
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -113,7 +113,7 @@ static const uint8_t len_of_option_as_string[] = {
[OPTION_IP ] = sizeof("255.255.255.255 "),
[OPTION_IP_PAIR ] = sizeof("255.255.255.255 ") * 2,
[OPTION_STATIC_ROUTES ] = sizeof("255.255.255.255/32 255.255.255.255 "),
- [OPTION_6RD ] = sizeof("32 128 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 255.255.255.255 "),
+ [OPTION_6RD ] = sizeof("132 128 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 255.255.255.255 "),
[OPTION_STRING ] = 1,
[OPTION_STRING_HOST ] = 1,
#if ENABLE_FEATURE_UDHCP_RFC3397
@@ -220,7 +220,7 @@ static NOINLINE char *xmalloc_optname_optval(uint8_t *option, const struct dhcp_
type = optflag->flags & OPTION_TYPE_MASK;
optlen = dhcp_option_lengths[type];
upper_length = len_of_option_as_string[type]
- * ((unsigned)(len + optlen - 1) / (unsigned)optlen);
+ * ((unsigned)(len + optlen) / (unsigned)optlen);
dest = ret = xmalloc(upper_length + strlen(opt_name) + 2);
dest += sprintf(ret, "%s=", opt_name);
--
2.7.4

View File

@ -1,74 +0,0 @@
From be729c1d3b5c923f10871dd68ea94156d0f8c803 Mon Sep 17 00:00:00 2001
From: Ari Sundholm <ari@tuxera.com>
Date: Mon, 4 Jan 2016 15:40:37 +0200
Subject: [PATCH] truncate: always set mode when opening file to avoid fortify
errors
Busybox crashes due to no mode being given when opening:
$ ./busybox truncate -s 1M foo
*** invalid open64 call: O_CREAT without mode ***: ./busybox terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7338f)[0x7f66d921338f]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x5c)[0x7f66d92aac9c]
/lib/x86_64-linux-gnu/libc.so.6(+0xeb6aa)[0x7f66d928b6aa]
./busybox[0x4899f9]
======= Memory map: ========
00400000-004d0000 r-xp 00000000 00:1a 137559 /home/ari/busybox/busybox
006cf000-006d0000 r--p 000cf000 00:1a 137559 /home/ari/busybox/busybox
006d0000-006d1000 rw-p 000d0000 00:1a 137559 /home/ari/busybox/busybox
006d1000-006d4000 rw-p 00000000 00:00 0
014e7000-01508000 rw-p 00000000 00:00 0 [heap]
7f66d8f8a000-7f66d8fa0000 r-xp 00000000 08:07 1579008 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f66d8fa0000-7f66d919f000 ---p 00016000 08:07 1579008 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f66d919f000-7f66d91a0000 rw-p 00015000 08:07 1579008 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f66d91a0000-7f66d935b000 r-xp 00000000 08:07 1578994 /lib/x86_64-linux-gnu/libc-2.19.so
7f66d935b000-7f66d955a000 ---p 001bb000 08:07 1578994 /lib/x86_64-linux-gnu/libc-2.19.so
7f66d955a000-7f66d955e000 r--p 001ba000 08:07 1578994 /lib/x86_64-linux-gnu/libc-2.19.so
7f66d955e000-7f66d9560000 rw-p 001be000 08:07 1578994 /lib/x86_64-linux-gnu/libc-2.19.so
7f66d9560000-7f66d9565000 rw-p 00000000 00:00 0
7f66d9565000-7f66d966a000 r-xp 00000000 08:07 1579020 /lib/x86_64-linux-gnu/libm-2.19.so
7f66d966a000-7f66d9869000 ---p 00105000 08:07 1579020 /lib/x86_64-linux-gnu/libm-2.19.so
7f66d9869000-7f66d986a000 r--p 00104000 08:07 1579020 /lib/x86_64-linux-gnu/libm-2.19.so
7f66d986a000-7f66d986b000 rw-p 00105000 08:07 1579020 /lib/x86_64-linux-gnu/libm-2.19.so
7f66d986b000-7f66d988e000 r-xp 00000000 08:07 1578981 /lib/x86_64-linux-gnu/ld-2.19.so
7f66d9a64000-7f66d9a67000 rw-p 00000000 00:00 0
7f66d9a8a000-7f66d9a8d000 rw-p 00000000 00:00 0
7f66d9a8d000-7f66d9a8e000 r--p 00022000 08:07 1578981 /lib/x86_64-linux-gnu/ld-2.19.so
7f66d9a8e000-7f66d9a8f000 rw-p 00023000 08:07 1578981 /lib/x86_64-linux-gnu/ld-2.19.so
7f66d9a8f000-7f66d9a90000 rw-p 00000000 00:00 0
7ffc47761000-7ffc47782000 rw-p 00000000 00:00 0 [stack]
7ffc477ab000-7ffc477ad000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Aborted (core dumped)
$
Fix this by simply always setting the mode, as it doesn't hurt even
when O_CREAT is not specified.
This bug is a regression introduced in fc3e40e, as xopen(), which
was originally used, would automatically set the mode.
Signed-off-by: Ari Sundholm <ari@tuxera.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
(cherry picked from commit e111a1640494fe87fc913f94fae3bb805de0fc99)
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
coreutils/truncate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/coreutils/truncate.c b/coreutils/truncate.c
index e5fa656..4c997bf 100644
--- a/coreutils/truncate.c
+++ b/coreutils/truncate.c
@@ -64,7 +64,7 @@ int truncate_main(int argc UNUSED_PARAM, char **argv)
argv += optind;
while (*argv) {
- int fd = open(*argv, flags);
+ int fd = open(*argv, flags, 0666);
if (fd < 0) {
if (errno != ENOENT || !(opts & OPT_NOCREATE)) {
bb_perror_msg("%s: open", *argv);
--
2.6.2

View File

@ -0,0 +1,56 @@
From 3a76bb5136d05f94ee62e377aa723e63444912c7 Mon Sep 17 00:00:00 2001
From: Denys Vlasenko <vda.linux@googlemail.com>
Date: Thu, 10 Mar 2016 11:47:58 +0100
Subject: [PATCH] udhcp: fix a SEGV on malformed RFC1035-encoded domain name
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
(cherry picked from commit d474ffc68290e0a83651c4432eeabfa62cd51e87)
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
networking/udhcp/domain_codec.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/networking/udhcp/domain_codec.c b/networking/udhcp/domain_codec.c
index c1325d8..8429367 100644
--- a/networking/udhcp/domain_codec.c
+++ b/networking/udhcp/domain_codec.c
@@ -63,11 +63,10 @@ char* FAST_FUNC dname_dec(const uint8_t *cstr, int clen, const char *pre)
if (crtpos + *c + 1 > clen) /* label too long? abort */
return NULL;
if (dst)
- memcpy(dst + len, c + 1, *c);
+ /* \3com ---> "com." */
+ ((char*)mempcpy(dst + len, c + 1, *c))[0] = '.';
len += *c + 1;
crtpos += *c + 1;
- if (dst)
- dst[len - 1] = '.';
} else {
/* NUL: end of current domain name */
if (retpos == 0) {
@@ -78,7 +77,10 @@ char* FAST_FUNC dname_dec(const uint8_t *cstr, int clen, const char *pre)
crtpos = retpos;
retpos = depth = 0;
}
- if (dst)
+ if (dst && len != 0)
+ /* \4host\3com\0\4host and we are at \0:
+ * \3com was converted to "com.", change dot to space.
+ */
dst[len - 1] = ' ';
}
@@ -228,6 +230,9 @@ int main(int argc, char **argv)
int len;
uint8_t *encoded;
+ uint8_t str[6] = { 0x00, 0x00, 0x02, 0x65, 0x65, 0x00 };
+ printf("NUL:'%s'\n", dname_dec(str, 6, ""));
+
#define DNAME_DEC(encoded,pre) dname_dec((uint8_t*)(encoded), sizeof(encoded), (pre))
printf("'%s'\n", DNAME_DEC("\4host\3com\0", "test1:"));
printf("test2:'%s'\n", DNAME_DEC("\4host\3com\0\4host\3com\0", ""));
--
2.7.4

View File

@ -3,10 +3,14 @@
# Start logging
#
SYSLOGD_ARGS=-n
KLOGD_ARGS=-n
[ -r /etc/default/logging ] && . /etc/default/logging
start() {
printf "Starting logging: "
start-stop-daemon -b -S -q -m -p /var/run/syslogd.pid --exec /sbin/syslogd -- -n
start-stop-daemon -b -S -q -m -p /var/run/klogd.pid --exec /sbin/klogd -- -n
start-stop-daemon -b -S -q -m -p /var/run/syslogd.pid --exec /sbin/syslogd -- $SYSLOGD_ARGS
start-stop-daemon -b -S -q -m -p /var/run/klogd.pid --exec /sbin/klogd -- $KLOGD_ARGS
echo "OK"
}

Some files were not shown because too many files have changed in this diff Show More