diff --git a/Makefile b/Makefile index 5301883061..181c33b180 100644 --- a/Makefile +++ b/Makefile @@ -18,6 +18,7 @@ $(if $(findstring $(space),$(TOPDIR)),$(error ERROR: The path to the OpenWrt dir world: +DISTRO_PKG_CONFIG:=$(shell which -a pkg-config | grep -E '\/usr' | head -n 1) export PATH:=$(TOPDIR)/staging_dir/host/bin:$(PATH) ifneq ($(OPENWRT_BUILD),1) @@ -89,12 +90,21 @@ prereq: $(target/stamp-prereq) tmp/.prereq_packages checksum: FORCE $(call sha256sums,$(BIN_DIR),$(CONFIG_BUILDBOT)) +buildversion: FORCE + $(SCRIPT_DIR)/getver.sh > $(BIN_DIR)/version.buildinfo + +feedsversion: FORCE + $(SCRIPT_DIR)/feeds list -fs > $(BIN_DIR)/feeds.buildinfo + diffconfig: FORCE mkdir -p $(BIN_DIR) - $(SCRIPT_DIR)/diffconfig.sh > $(BIN_DIR)/config.seed + $(SCRIPT_DIR)/diffconfig.sh > $(BIN_DIR)/config.buildinfo + +buildinfo: FORCE + $(_SINGLE)$(SUBMAKE) -r diffconfig buildversion feedsversion prepare: .config $(tools/stamp-compile) $(toolchain/stamp-compile) - $(_SINGLE)$(SUBMAKE) -r diffconfig + $(_SINGLE)$(SUBMAKE) -r buildinfo world: prepare $(target/stamp-compile) $(package/stamp-compile) $(package/stamp-install) $(target/stamp-install) FORCE $(_SINGLE)$(SUBMAKE) -r package/index diff --git a/include/target.mk b/include/target.mk index 2a74838263..cd64443866 100644 --- a/include/target.mk +++ b/include/target.mk @@ -18,7 +18,7 @@ kmod-nf-nathelper kmod-nf-nathelper-extra kmod-ipt-raw wget libustream-openssl c default-settings luci luci-app-ddns luci-app-sqm luci-app-upnp luci-app-adbyby-plus luci-app-autoreboot \ luci-app-filetransfer luci-app-vsftpd ddns-scripts_aliyun luci-app-ssr-plus \ luci-app-pptp-server luci-app-arpbind luci-app-vlmcsd luci-app-wifischedule luci-app-wol luci-app-ramfree \ -luci-app-sfe luci-app-flowoffload luci-app-nlbwmon luci-app-usb-printer luci-app-accesscontrol luci-app-zerotier luci-app-xlnetacc +luci-app-sfe luci-app-flowoffload luci-app-nlbwmon luci-app-usb-printer luci-app-accesscontrol luci-app-zerotier # For nas targets DEFAULT_PACKAGES.nas:=fdisk lsblk mdadm automount autosamba luci-app-usb-printer # For router targets @@ -56,7 +56,7 @@ else endif endif -ifneq ($(filter 3.18 4.9,$(KERNEL_PATCHVER)),) +ifneq ($(filter 4.9,$(KERNEL_PATCHVER)),) DEFAULT_PACKAGES.router:=$(filter-out kmod-ipt-offload,$(DEFAULT_PACKAGES.router)) endif @@ -188,26 +188,6 @@ ifeq ($(DUMP),1) endif ifneq ($(findstring arm,$(ARCH)),) CPU_TYPE ?= xscale - CPU_CFLAGS_arm920t = -mcpu=arm920t - CPU_CFLAGS_arm926ej-s = -mcpu=arm926ej-s - CPU_CFLAGS_arm1136j-s = -mcpu=arm1136j-s - CPU_CFLAGS_arm1176jzf-s = -mcpu=arm1176jzf-s - CPU_CFLAGS_cortex-a5 = -mcpu=cortex-a5 - CPU_CFLAGS_cortex-a7 = -mcpu=cortex-a7 - CPU_CFLAGS_cortex-a8 = -mcpu=cortex-a8 - CPU_CFLAGS_cortex-a9 = -mcpu=cortex-a9 - CPU_CFLAGS_cortex-a15 = -mcpu=cortex-a15 - CPU_CFLAGS_cortex-a53 = -mcpu=cortex-a53 - CPU_CFLAGS_cortex-a72 = -mcpu=cortex-a72 - CPU_CFLAGS_fa526 = -mcpu=fa526 - CPU_CFLAGS_mpcore = -mcpu=mpcore - CPU_CFLAGS_xscale = -mcpu=xscale - ifeq ($(CONFIG_SOFT_FLOAT),) - CPU_CFLAGS_neon = -mfpu=neon - CPU_CFLAGS_vfp = -mfpu=vfp - CPU_CFLAGS_vfpv3 = -mfpu=vfpv3-d16 - CPU_CFLAGS_neon-vfpv4 = -mfpu=neon-vfpv4 - endif endif ifeq ($(ARCH),powerpc) CPU_CFLAGS_603e:=-mcpu=603e @@ -250,6 +230,9 @@ ifeq ($(DUMP),1) .SILENT: $(TMP_CONFIG) .PRECIOUS: $(TMP_CONFIG) + ifdef KERNEL_TESTING_PATCHVER + FEATURES += testing-kernel + endif ifneq ($(CONFIG_OF),) FEATURES += dt endif @@ -308,6 +291,7 @@ define BuildTargets/DumpCurrent echo 'Target-Optimization: $(if $(CFLAGS),$(CFLAGS),$(DEFAULT_CFLAGS))'; \ echo 'CPU-Type: $(CPU_TYPE)$(if $(CPU_SUBTYPE),+$(CPU_SUBTYPE))'; \ echo 'Linux-Version: $(LINUX_VERSION)'; \ + $(if $(LINUX_TESTING_VERSION),echo 'Linux-Testing-Version: $(LINUX_TESTING_VERSION)';) \ echo 'Linux-Release: $(LINUX_RELEASE)'; \ echo 'Linux-Kernel-Arch: $(LINUX_KARCH)'; \ $(if $(SUBTARGET),,$(if $(DEFAULT_SUBTARGET), echo 'Default-Subtarget: $(DEFAULT_SUBTARGET)'; )) \ diff --git a/package/lean/luci-app-nps/Makefile b/package/lean/luci-app-nps/Makefile new file mode 100644 index 0000000000..11e25ed058 --- /dev/null +++ b/package/lean/luci-app-nps/Makefile @@ -0,0 +1,19 @@ +# +# Copyright (C) 2008-2014 The LuCI Team +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI for Nps +LUCI_DEPENDS:=+wget +npc +LUCI_PKGARCH:=all +PKG_VERSION:=1.1 +PKG_RELEASE:=2 + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature + + diff --git a/package/lean/luci-app-nps/luasrc/controller/nps.lua b/package/lean/luci-app-nps/luasrc/controller/nps.lua new file mode 100755 index 0000000000..04fb7ced23 --- /dev/null +++ b/package/lean/luci-app-nps/luasrc/controller/nps.lua @@ -0,0 +1,17 @@ +module("luci.controller.nps",package.seeall) +function index() +if not nixio.fs.access("/etc/config/nps")then +return +end +local e +e=entry({"admin","services","nps"},cbi("nps"),_("Nps Setting"),100) +e.i18n="nps" +e.dependent=true +entry({"admin","services","nps","status"},call("status")).leaf=true +end +function status() +local e={} +e.running=luci.sys.call("pgrep npc > /dev/null")==0 +luci.http.prepare_content("application/json") +luci.http.write_json(e) +end diff --git a/package/lean/luci-app-nps/luasrc/i18n/nps.zh-cn.lmo b/package/lean/luci-app-nps/luasrc/i18n/nps.zh-cn.lmo new file mode 100644 index 0000000000..940bd4e7dc Binary files /dev/null and b/package/lean/luci-app-nps/luasrc/i18n/nps.zh-cn.lmo differ diff --git a/package/lean/luci-app-nps/luasrc/i18n/nps.zh_CN.po b/package/lean/luci-app-nps/luasrc/i18n/nps.zh_CN.po new file mode 100644 index 0000000000..8910c020c9 --- /dev/null +++ b/package/lean/luci-app-nps/luasrc/i18n/nps.zh_CN.po @@ -0,0 +1,28 @@ +# zh_CN translation for npc. +# Copyright (C) 2015 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# +msgid "" +msgstr "" +"PO-Revision-Date: 2015-09-01 09:53中国标准时间\n" +"Last-Translator: Ardentwheel \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +msgid "Nps Setting" +msgstr "Nps内网穿透" + +msgid "Enable Compression" +msgstr "使用压缩传输" + +msgid "Enable Encryption" +msgstr "使用加密传输" + +msgid "The contents will be compressed to speed up the traffic forwarding speed, but this will consume some additional cpu resources" +msgstr "压缩传输内容,加快流量转发速度,会额外消耗 cpu 资源" + +msgid "Encrypted the communication between Npc and Nps, will effectively prevent the traffic intercepted." +msgstr "加密传输 npc 与 nps 之间的通信内容,会有效防止流量被拦截" \ No newline at end of file diff --git a/package/lean/luci-app-nps/luasrc/model/cbi/nps.lua b/package/lean/luci-app-nps/luasrc/model/cbi/nps.lua new file mode 100755 index 0000000000..ea7a4e0ec2 --- /dev/null +++ b/package/lean/luci-app-nps/luasrc/model/cbi/nps.lua @@ -0,0 +1,47 @@ +m=Map("nps") +m.title=translate("Nps Setting") +m.description=translate("Nps is a fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.") + +m:section(SimpleSection).template="nps/nps_status" + +s=m:section(TypedSection,"nps") +s.addremove=false +s.anonymous=true + +s:tab("basic",translate("Basic Setting")) +enable=s:taboption("basic",Flag,"enabled",translate("Enable")) +enable.rmempty=false +server=s:taboption("basic",Value,"server_addr",translate("Server"),translate("Must an IPv4 address")) +server.datatype="ipaddr" +server.optional=false +server.rmempty=false +port=s:taboption("basic",Value,"server_port",translate("Port")) +port.datatype="port" +port.default="8024" +port.optional=false +port.rmempty=false +protocol=s:taboption("basic",ListValue,"protocol",translate("Protocol Type")) +protocol.default="tcp" +protocol:value("tcp",translate("TCP Protocol")) +protocol:value("kcp",translate("KCP Protocol")) +vkey=s:taboption("basic",Value,"vkey",translate("vkey")) +vkey.optional=false +vkey.password=true +vkey.rmempty=false +compress=s:taboption("basic",Flag,"compress",translate("Enable Compression"),translate("The contents will be compressed to speed up the traffic forwarding speed, but this will consume some additional cpu resources.")) +compress.default="1" +compress.rmempty=false +crypt=s:taboption("basic",Flag,"crypt",translate("Enable Encryption"),translate("Encrypted the communication between Npc and Nps, will effectively prevent the traffic intercepted.")) +crypt.default="1" +crypt.rmempty=false +log_level=s:taboption("basic",ListValue,"log_level",translate("Log Level")) +log_level:value(0,"Emergency") +log_level:value(2,"Critical") +log_level:value(3,"Error") +log_level:value(4,"Warning") +log_level:value(7,"Debug") +log_level.default="3" + +return m + + diff --git a/package/lean/luci-app-nps/luasrc/view/nps/nps_status.htm b/package/lean/luci-app-nps/luasrc/view/nps/nps_status.htm new file mode 100755 index 0000000000..5952344bb7 --- /dev/null +++ b/package/lean/luci-app-nps/luasrc/view/nps/nps_status.htm @@ -0,0 +1,22 @@ + + +
+

+ <%:Collecting data...%> +

+
diff --git a/package/lean/luci-app-nps/root/etc/config/nps b/package/lean/luci-app-nps/root/etc/config/nps new file mode 100755 index 0000000000..5b166cd1d1 --- /dev/null +++ b/package/lean/luci-app-nps/root/etc/config/nps @@ -0,0 +1,11 @@ + +config npc 'config' + option enabled '1' + option server_addr '1.1.1.1' + option server_port '8024' + option protocol 'tcp' + option compress '1' + option crypt '1' + option vkey 'aaa' + option log_level '4' + diff --git a/package/lean/luci-app-nps/root/etc/init.d/nps b/package/lean/luci-app-nps/root/etc/init.d/nps new file mode 100755 index 0000000000..be3db8f5d6 --- /dev/null +++ b/package/lean/luci-app-nps/root/etc/init.d/nps @@ -0,0 +1,68 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006-2011 OpenWrt.org + +START=50 +SERVICE_WRITE_PID=1 +SERVICE_DAEMONIZE=1 + +LOGFILE="/var/etc/nps.log" +tmpconf="/tmp/etc/nps.conf" + +nps_header() { + local enabled server_addr server_port protocol vkey compress crypt log_level + + config_get enabled $1 enabled + config_get server_addr $1 server_addr + config_get server_port $1 server_port + config_get protocol $1 protocol + config_get vkey $1 vkey + config_get compress $1 compress + config_get crypt $1 crypt + config_get log_level $1 log_level + + [ -f $tmpconf ] && rm $tmpconf + echo "[common]" >$tmpconf + echo "server_addr=${server_addr}:${server_port}" >>$tmpconf + echo "conn_type=${protocol}" >>$tmpconf + echo "vkey=${vkey}" >>$tmpconf + + nps_write_bool compress $1 + nps_write_bool crypt $1 + + Log_level=$log_level + Enabled=$enabled +} + +nps_write_bool() { + local opt="$1" + local config="$2" + local val + + config_get_bool val $config "$opt" + if [ "$val" -eq 0 ]; then + echo "${opt}=false" >> $tmpconf + else + echo "${opt}=true" >> $tmpconf + fi +} + +start() { + config_load nps + config_foreach nps_header nps + + if [ "$Enabled" = "0" ];then + stop + else + logger -t FRPC 'Starting Nps service' + service_start /usr/bin/npc -config=$tmpconf -log_level=$Log_level -log_path=$LOGFILE + fi + + return 0 +} + +stop() { + service_stop /usr/bin/npc + rm $tmpconf + logger -t FRPC 'Nps service stopped' + return 0 +} diff --git a/package/lean/luci-app-nps/root/etc/uci-defaults/luci-nps b/package/lean/luci-app-nps/root/etc/uci-defaults/luci-nps new file mode 100755 index 0000000000..f4f0996aa2 --- /dev/null +++ b/package/lean/luci-app-nps/root/etc/uci-defaults/luci-nps @@ -0,0 +1,11 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@nps[-1] + add ucitrack nps + set ucitrack.@nps[-1].init=nps + commit ucitrack +EOF + +rm -f /tmp/luci-indexcache +exit 0 diff --git a/package/lean/npc/Makefile b/package/lean/npc/Makefile new file mode 100644 index 0000000000..882fe69bf1 --- /dev/null +++ b/package/lean/npc/Makefile @@ -0,0 +1,70 @@ +# +# Copyright (C) 2015-2016 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v3. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=npc +PKG_VERSION:=0.23.2 +PKG_RELEASE:=1 + +ifeq ($(ARCH),mipsel) + NPC_ARCH:=mipsle +endif +ifeq ($(ARCH),mips) + NPC_ARCH:=mips +endif +ifeq ($(ARCH),i386) + NPC_ARCH:=386 +endif +ifeq ($(ARCH),x86_64) + NPC_ARCH:=amd64 +endif +ifeq ($(ARCH),arm) + NPC_ARCH:=arm +endif +ifeq ($(ARCH),aarch64) + NPC_ARCH:=arm64 +endif + +PKG_LICENSE:=Apache-2.0 + +PKG_SOURCE_URL:=https://github.com/cnlh/nps/releases/download/v$(PKG_VERSION) +PKG_SOURCE:=linux_$(NPC_ARCH)_client.tar.gz +PKG_BUILD_DIR:=$(BUILD_DIR)/nps +PKG_HASH:=skip + +include $(INCLUDE_DIR)/package.mk + +define Package/$(PKG_NAME) + SECTION:=net + CATEGORY:=Network + TITLE:=NPC Client + DEPENDS:= + URL:=https://github.com/cnlh/nps/releases +endef + + + +define Package/$(PKG_NAME)/description +npc is a fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet +endef + +define Build/Prepare + $(PKG_UNPACK) +endef + +define Build/Configure +endef + +define Build/Compile +endef + +define Package/$(PKG_NAME)/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/npc $(1)/usr/bin/ +endef + +$(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/rules.mk b/rules.mk index 800249043a..fbf42f725d 100644 --- a/rules.mk +++ b/rules.mk @@ -70,6 +70,7 @@ TARGET_SUFFIX=$(call qstrip,$(CONFIG_TARGET_SUFFIX)) BUILD_SUFFIX:=$(call qstrip,$(CONFIG_BUILD_SUFFIX)) SUBDIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR}) BUILD_SUBDIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR}) +NPROC:=$(shell sysctl -n hw.ncpu 2>/dev/null || nproc) export SHELL:=/usr/bin/env bash IS_PACKAGE_BUILD := $(if $(filter package/%,$(BUILD_SUBDIR)),1) @@ -140,10 +141,10 @@ else endif ifeq ($(or $(CONFIG_EXTERNAL_TOOLCHAIN),$(CONFIG_TARGET_uml)),) - ifeq ($(CONFIG_GCC_USE_EMBEDDED_PATH_REMAP),y) - iremap = -fmacro-prefix-map=$(1)=$(2) - else + ifeq ($(CONFIG_GCC_USE_IREMAP),y) iremap = -iremap$(1):$(2) + else + iremap = -ffile-prefix-map=$(1)=$(2) endif endif @@ -159,7 +160,7 @@ TARGET_ROOTFS_DIR?=$(if $(call qstrip,$(CONFIG_TARGET_ROOTFS_DIR)),$(call qstrip TARGET_DIR:=$(TARGET_ROOTFS_DIR)/root-$(BOARD) STAGING_DIR_ROOT:=$(STAGING_DIR)/root-$(BOARD) STAGING_DIR_IMAGE:=$(STAGING_DIR)/image -BUILD_LOG_DIR:=$(TOPDIR)/logs +BUILD_LOG_DIR:=$(if $(call qstrip,$(CONFIG_BUILD_LOG_DIR)),$(call qstrip,$(CONFIG_BUILD_LOG_DIR)),$(TOPDIR)/logs) PKG_INFO_DIR := $(STAGING_DIR)/pkginfo BUILD_DIR_HOST:=$(if $(IS_PACKAGE_BUILD),$(BUILD_DIR_BASE)/hostpkg,$(BUILD_DIR_BASE)/host) @@ -183,8 +184,6 @@ else LIBGCC_A=$(lastword $(wildcard $(TOOLCHAIN_DIR)/lib/gcc/*/*/libgcc.a)) LIBGCC_S=$(if $(wildcard $(TOOLCHAIN_DIR)/lib/libgcc_s.so),-L$(TOOLCHAIN_DIR)/lib -lgcc_s,$(LIBGCC_A)) endif -LIBRPC=-lrpc -LIBRPC_DEPENDS=+librpc ifeq ($(CONFIG_ARCH_64BIT),y) LIB_SUFFIX:=64 diff --git a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index c7f5b2d39e..755b3c1371 100644 --- a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -125,13 +125,13 @@ case "$FIRMWARE" in 8dev,jalapeno |\ glinet,gl-b1300 |\ linksys,ea6350v3 |\ + p2w,r619ac |\ qcom,ap-dk01.1-c1) ath10kcal_extract "ART" 4096 12064 ;; asus,map-ac2200) ath10kcal_ubi_extract "Factory" 4096 12064 ;; - p2w,r619ac |\ asus,rt-acrh17|\ asus,rt-ac58u) CI_UBIPART=UBI_DEV diff --git a/target/linux/ramips/dts/XiaoYu-C5.dts b/target/linux/ramips/dts/XiaoYu-C5.dts index 6b7cecb26d..4183734d46 100644 --- a/target/linux/ramips/dts/XiaoYu-C5.dts +++ b/target/linux/ramips/dts/XiaoYu-C5.dts @@ -16,6 +16,11 @@ led-upgrade = &led_sys; label-mac-device = ðernet; }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x1c000000>, <0x20000000 0x4000000>; + }; chosen { bootargs = "console=ttyS0,57600"; diff --git a/toolchain/Config.in b/toolchain/Config.in index eabac75635..762f4e10d7 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -42,7 +42,7 @@ menuconfig EXTERNAL_TOOLCHAIN bool prompt "Use external toolchain" if DEVEL help - If enabled, LEDE will compile using an existing toolchain instead of + If enabled, the buildroot will compile using an existing toolchain instead of compiling one. config NATIVE_TOOLCHAIN @@ -51,7 +51,7 @@ menuconfig EXTERNAL_TOOLCHAIN depends on EXTERNAL_TOOLCHAIN select NO_STRIP help - If enabled, LEDE will compile using the native toolchain for your + If enabled, the buildroot will compile using the native toolchain for your host instead of compiling one. config TARGET_NAME @@ -238,7 +238,6 @@ comment "C Library" choice prompt "C Library implementation" if TOOLCHAINOPTS default LIBC_USE_UCLIBC if arc - default LIBC_USE_GLIBC if powerpc64 default LIBC_USE_MUSL help Select the C library implementation. @@ -256,11 +255,12 @@ choice config LIBC_USE_MUSL select USE_MUSL bool "Use musl" - depends on !(arc || powerpc64) + depends on !arc endchoice source "toolchain/uClibc/Config.in" +source "toolchain/musl/Config.in" comment "Debuggers" depends on TOOLCHAINOPTS @@ -273,7 +273,6 @@ config GDB Enable if you want to build the gdb. config USE_GLIBC - default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && (powerpc64) bool config USE_UCLIBC @@ -281,7 +280,7 @@ config USE_UCLIBC bool config USE_MUSL - default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && !(arc || powerpc64) + default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && !(arc) bool config SSP_SUPPORT diff --git a/toolchain/Makefile b/toolchain/Makefile index 0336b2f72c..23a5529eed 100644 --- a/toolchain/Makefile +++ b/toolchain/Makefile @@ -49,7 +49,7 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) $(curdir)/gcc/initial/compile+=$(curdir)/binutils/compile $(curdir)/$(LIBC)/compile:=$(curdir)/gcc/initial/compile - $(curdir)/gcc/final/compile:=$(curdir)/$(LIBC)/compile + $(curdir)/gcc/final/compile:=$(curdir)/$(LIBC)/compile $(curdir)/kernel-headers/compile $(curdir)/$(LIBC)/utils/compile:=$(curdir)/gcc/final/compile endif diff --git a/toolchain/binutils/Config.in b/toolchain/binutils/Config.in index 14c0d53d43..685e89be96 100644 --- a/toolchain/binutils/Config.in +++ b/toolchain/binutils/Config.in @@ -3,30 +3,24 @@ choice prompt "Binutils Version" if TOOLCHAINOPTS default BINUTILS_USE_VERSION_2_31_1 if !arc - default BINUTILS_USE_VERSION_2_29_ARC if arc + default BINUTILS_USE_VERSION_2_32 if arc help Select the version of binutils you wish to use. - config BINUTILS_USE_VERSION_2_29_ARC - depends on arc - bool "ARC binutils 2.29" - select BINUTILS_VERSION_2_29_ARC - config BINUTILS_USE_VERSION_2_29_1 depends on !arc bool "Binutils 2.29.1" select BINUTILS_VERSION_2_29_1 - config BINUTILS_USE_VERSION_2_30 - depends on !arc - bool "Binutils 2.30" - select BINUTILS_VERSION_2_30 - config BINUTILS_USE_VERSION_2_31_1 depends on !arc bool "Binutils 2.31.1" select BINUTILS_VERSION_2_31_1 + config BINUTILS_USE_VERSION_2_32 + bool "Binutils 2.32" + select BINUTILS_VERSION_2_32 + endchoice config EXTRA_BINUTILS_CONFIG_OPTIONS diff --git a/toolchain/binutils/Config.version b/toolchain/binutils/Config.version index fc024676d1..3ffcf57347 100644 --- a/toolchain/binutils/Config.version +++ b/toolchain/binutils/Config.version @@ -1,20 +1,16 @@ -config BINUTILS_VERSION_2_29_ARC - default y if (!TOOLCHAINOPTS && arc) - bool - config BINUTILS_VERSION_2_29_1 bool -config BINUTILS_VERSION_2_30 - bool - config BINUTILS_VERSION_2_31_1 default y if (!TOOLCHAINOPTS && !arc) bool +config BINUTILS_VERSION_2_32 + default y if (!TOOLCHAINOPTS && arc) + bool + config BINUTILS_VERSION string default "2.29.1" if BINUTILS_VERSION_2_29_1 - default "2.30" if BINUTILS_VERSION_2_30 default "2.31.1" if BINUTILS_VERSION_2_31_1 - default "arc-2017.09" if BINUTILS_VERSION_2_29_ARC + default "2.32" if BINUTILS_VERSION_2_32 diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile index b988598197..24eaf70566 100644 --- a/toolchain/binutils/Makefile +++ b/toolchain/binutils/Makefile @@ -19,21 +19,12 @@ ifeq ($(PKG_VERSION),2.29.1) PKG_HASH:=e7010a46969f9d3e53b650a518663f98a5dde3c3ae21b7d71e5e6803bc36b577 endif -ifeq ($(PKG_VERSION),2.30) - PKG_HASH:=6e46b8aeae2f727a36f0bd9505e405768a72218f1796f0d09757d45209871ae6 -endif - ifeq ($(PKG_VERSION),2.31.1) PKG_HASH:=5d20086ecf5752cc7d9134246e9588fa201740d540f7eb84d795b1f7a93bca86 endif -ifneq ($(CONFIG_BINUTILS_VERSION_2_29_ARC),) - PKG_REV:=arc-2017.09-release - PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/archive/$(PKG_REV)/ - PKG_SOURCE:=$(PKG_NAME)-$(PKG_REV).tar.gz - PKG_HASH:=2ea086fd5521e942926dd6ff6922ce31c29ee7ffc754fca3d06385e0f27600f8 - BINUTILS_DIR:=$(PKG_NAME)-gdb-$(PKG_REV) - HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(BINUTILS_DIR) +ifeq ($(PKG_VERSION),2.32) + PKG_HASH:=0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04 endif HOST_BUILD_PARALLEL:=1 @@ -42,34 +33,33 @@ PATCH_DIR:=./patches/$(PKG_VERSION) include $(INCLUDE_DIR)/toolchain-build.mk -BINUTILS_CONFIGURE:= \ - ./configure \ - --prefix=$(TOOLCHAIN_DIR) \ - --build=$(GNU_HOST_NAME) \ - --host=$(GNU_HOST_NAME) \ - --target=$(REAL_GNU_TARGET_NAME) \ - --with-sysroot=$(TOOLCHAIN_DIR) \ - --enable-deterministic-archives \ - --enable-plugins \ - --disable-multilib \ - --disable-werror \ - --disable-nls \ - --disable-sim \ - --disable-gdb \ - $(GRAPHITE_CONFIGURE) \ - $(SOFT_FLOAT_CONFIG_OPTION) \ - $(call qstrip,$(CONFIG_EXTRA_BINUTILS_CONFIG_OPTIONS)) +HOST_CONFIGURE_ARGS = \ + --prefix=$(TOOLCHAIN_DIR) \ + --build=$(GNU_HOST_NAME) \ + --host=$(GNU_HOST_NAME) \ + --target=$(REAL_GNU_TARGET_NAME) \ + --with-sysroot=$(TOOLCHAIN_DIR) \ + --enable-deterministic-archives \ + --enable-plugins \ + --disable-multilib \ + --disable-werror \ + --disable-nls \ + --disable-sim \ + --disable-gdb \ + $(GRAPHITE_CONFIGURE) \ + $(SOFT_FLOAT_CONFIG_OPTION) \ + $(call qstrip,$(CONFIG_EXTRA_BINUTILS_CONFIG_OPTIONS)) ifneq ($(CONFIG_SSP_SUPPORT),) - BINUTILS_CONFIGURE+= \ + HOST_CONFIGURE_ARGS+= \ --enable-libssp else - BINUTILS_CONFIGURE+= \ + HOST_CONFIGURE_ARGS+= \ --disable-libssp endif ifneq ($(CONFIG_EXTRA_TARGET_ARCH),) - BINUTILS_CONFIGURE+= \ + HOST_CONFIGURE_ARGS+= \ --enable-targets=$(call qstrip,$(CONFIG_EXTRA_TARGET_ARCH_NAME))-linux-$(TARGET_SUFFIX) endif @@ -80,12 +70,6 @@ define Host/Prepare $(SED) 's, " Linaro.*,,' $(HOST_BUILD_DIR)/bfd/version.h endef -define Host/Configure - (cd $(HOST_BUILD_DIR); \ - $(BINUTILS_CONFIGURE) \ - ); -endef - define Host/Compile +$(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) all endef diff --git a/toolchain/binutils/patches/2.30/100-PR23254-ld.bfd-mishandles-file-pointers-while-scanni.patch b/toolchain/binutils/patches/2.30/100-PR23254-ld.bfd-mishandles-file-pointers-while-scanni.patch deleted file mode 100644 index 8a0b675538..0000000000 --- a/toolchain/binutils/patches/2.30/100-PR23254-ld.bfd-mishandles-file-pointers-while-scanni.patch +++ /dev/null @@ -1,112 +0,0 @@ -From: Alan Modra -Date: Tue, 5 Jun 2018 21:04:00 +0930 -Subject: [PATCH] PR23254, ld.bfd mishandles file pointers while scanning - archive - -Best practice is to not mix lseek/read with fseek/fread on the same -underlying file descriptor, as not all stdio implementations will cope. -Since the plugin uses lseek/read while bfd uses fseek/fread this patch -reopens the file for exclusive use by the plugin rather than trying to -restore the file descriptor. That allows the plugin to read the file -after plugin_call_claim_file too. - -bfd/ - PR 23254 - * plugin.c (bfd_plugin_open_input): Allow for possibility of - nested archives. Open file again for plugin. - (try_claim): Don't save and restore file position. Close file - if not claimed. - * sysdep.h (O_BINARY): Define. -ld/ - PR 23254 - * plugin.c (plugin_call_claim_file): Revert 2016-07-19 patch. - (plugin_object_p): Don't dup file descriptor. ---- - ---- a/bfd/plugin.c -+++ b/bfd/plugin.c -@@ -165,14 +165,22 @@ bfd_plugin_open_input (bfd *ibfd, struct - bfd *iobfd; - - iobfd = ibfd; -- if (ibfd->my_archive && !bfd_is_thin_archive (ibfd->my_archive)) -- iobfd = ibfd->my_archive; -+ while (iobfd->my_archive -+ && !bfd_is_thin_archive (iobfd->my_archive)) -+ iobfd = iobfd->my_archive; - file->name = iobfd->filename; - - if (!iobfd->iostream && !bfd_open_file (iobfd)) - return 0; - -- file->fd = fileno ((FILE *) iobfd->iostream); -+ /* The plugin API expects that the file descriptor won't be closed -+ and reused as done by the bfd file cache. So open it again. -+ dup isn't good enough. plugin IO uses lseek/read while BFD uses -+ fseek/fread. It isn't wise to mix the unistd and stdio calls on -+ the same underlying file descriptor. */ -+ file->fd = open (file->name, O_RDONLY | O_BINARY); -+ if (file->fd < 0) -+ return 0; - - if (iobfd == ibfd) - { -@@ -196,12 +204,12 @@ try_claim (bfd *abfd) - int claimed = 0; - struct ld_plugin_input_file file; - -+ file.handle = abfd; - if (!bfd_plugin_open_input (abfd, &file)) - return 0; -- file.handle = abfd; -- off_t cur_offset = lseek (file.fd, 0, SEEK_CUR); - claim_file (&file, &claimed); -- lseek (file.fd, cur_offset, SEEK_SET); -+ if (!claimed) -+ close (file.fd); - return claimed; - } - ---- a/bfd/sysdep.h -+++ b/bfd/sysdep.h -@@ -108,6 +108,10 @@ extern char *strrchr (); - #ifndef O_ACCMODE - #define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR) - #endif -+/* Systems that don't already define this, don't need it. */ -+#ifndef O_BINARY -+#define O_BINARY 0 -+#endif - - #ifndef SEEK_SET - #define SEEK_SET 0 ---- a/ld/plugin.c -+++ b/ld/plugin.c -@@ -1053,14 +1053,10 @@ plugin_call_claim_file (const struct ld_ - { - if (curplug->claim_file_handler) - { -- off_t cur_offset; - enum ld_plugin_status rv; - - called_plugin = curplug; -- cur_offset = lseek (file->fd, 0, SEEK_CUR); - rv = (*curplug->claim_file_handler) (file, claimed); -- if (!*claimed) -- lseek (file->fd, cur_offset, SEEK_SET); - called_plugin = NULL; - if (rv != LDPS_OK) - set_plugin_error (curplug->name); -@@ -1126,12 +1122,6 @@ plugin_object_p (bfd *ibfd) - } - - file.handle = input; -- /* The plugin API expects that the file descriptor won't be closed -- and reused as done by the bfd file cache. So dup one. */ -- file.fd = dup (file.fd); -- if (file.fd < 0) -- return NULL; -- - input->abfd = abfd; - input->view_buffer.addr = NULL; - input->view_buffer.filesize = 0; diff --git a/toolchain/binutils/patches/2.30/300-001_ld_makefile_patch.patch b/toolchain/binutils/patches/2.32/300-001_ld_makefile_patch.patch similarity index 92% rename from toolchain/binutils/patches/2.30/300-001_ld_makefile_patch.patch rename to toolchain/binutils/patches/2.32/300-001_ld_makefile_patch.patch index 4365197f74..7b8300efac 100644 --- a/toolchain/binutils/patches/2.30/300-001_ld_makefile_patch.patch +++ b/toolchain/binutils/patches/2.32/300-001_ld_makefile_patch.patch @@ -11,7 +11,7 @@ EMULATION_OFILES = @EMULATION_OFILES@ --- a/ld/Makefile.in +++ b/ld/Makefile.in -@@ -446,7 +446,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) +@@ -563,7 +563,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. diff --git a/toolchain/binutils/patches/2.30/300-012_check_ldrunpath_length.patch b/toolchain/binutils/patches/2.32/300-012_check_ldrunpath_length.patch similarity index 85% rename from toolchain/binutils/patches/2.30/300-012_check_ldrunpath_length.patch rename to toolchain/binutils/patches/2.32/300-012_check_ldrunpath_length.patch index 6f51a7205e..1e8695f2fc 100644 --- a/toolchain/binutils/patches/2.30/300-012_check_ldrunpath_length.patch +++ b/toolchain/binutils/patches/2.32/300-012_check_ldrunpath_length.patch @@ -1,6 +1,6 @@ --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em -@@ -1470,6 +1470,8 @@ fragment <collect, &bh))) -@@ -7889,6 +7890,7 @@ _bfd_mips_elf_create_dynamic_sections (b +@@ -8013,6 +8014,7 @@ _bfd_mips_elf_create_dynamic_sections (b if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; diff --git a/toolchain/binutils/patches/2.30/500-Change-default-emulation-for-mips64-linux.patch b/toolchain/binutils/patches/2.32/500-Change-default-emulation-for-mips64-linux.patch similarity index 94% rename from toolchain/binutils/patches/2.30/500-Change-default-emulation-for-mips64-linux.patch rename to toolchain/binutils/patches/2.32/500-Change-default-emulation-for-mips64-linux.patch index daf118f8c7..bd7f7f29ad 100644 --- a/toolchain/binutils/patches/2.30/500-Change-default-emulation-for-mips64-linux.patch +++ b/toolchain/binutils/patches/2.32/500-Change-default-emulation-for-mips64-linux.patch @@ -1,6 +1,6 @@ --- a/bfd/config.bfd +++ b/bfd/config.bfd -@@ -1189,12 +1189,12 @@ case "${targ}" in +@@ -919,12 +919,12 @@ case "${targ}" in targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" ;; mips64*el-*-linux*) @@ -19,7 +19,7 @@ targ_defvec=mips_elf32_trad_le_vec --- a/ld/configure.tgt +++ b/ld/configure.tgt -@@ -535,11 +535,11 @@ mips*el-*-vxworks*) targ_emul=elf32elmip +@@ -468,11 +468,11 @@ mips*el-*-vxworks*) targ_emul=elf32elmip mips*-*-vxworks*) targ_emul=elf32ebmipvxworks targ_extra_emuls="elf32elmipvxworks" ;; mips*-*-windiss) targ_emul=elf32mipswindiss ;; diff --git a/toolchain/fortify-headers/Makefile b/toolchain/fortify-headers/Makefile index 79dd907d0c..a6151bb2f1 100644 --- a/toolchain/fortify-headers/Makefile +++ b/toolchain/fortify-headers/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/target.mk PKG_NAME:=fortify-headers -PKG_VERSION:=1.0 +PKG_VERSION:=1.1 PKG_RELEASE=1 PKG_SOURCE_URL:=http://dl.2f30.org/releases PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_HASH:=026e4cc0f2aa69b7922b1bc8838491048b497faf1c8b20450741114f9ea3775b +PKG_HASH:=6ba5d860a2d2ba4c3346924b93930c34856eafe148bdbdf271ecab8065201fb6 include $(INCLUDE_DIR)/toolchain-build.mk diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index e16f5b1e71..3882815d7f 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -2,7 +2,7 @@ choice prompt "GCC compiler Version" if TOOLCHAINOPTS - default GCC_USE_VERSION_7 + default GCC_USE_VERSION_8 help Select the version of gcc you wish to use. @@ -21,6 +21,11 @@ choice bool "gcc 9.x" endchoice +config GCC_USE_IREMAP + default y if ( GCC_USE_VERSION_5 || GCC_USE_VERSION_7 ) + default n + bool + config GCC_USE_GRAPHITE bool prompt "Compile in support for the new Graphite framework in GCC 4.4+" if TOOLCHAINOPTS diff --git a/toolchain/gcc/Config.version b/toolchain/gcc/Config.version index 6188fb4f50..687857bd1f 100644 --- a/toolchain/gcc/Config.version +++ b/toolchain/gcc/Config.version @@ -1,13 +1,9 @@ -config GCC_VERSION_7_1_ARC - default y if (!TOOLCHAINOPTS && arc) - bool - config GCC_VERSION_5 default y if GCC_USE_VERSION_5 bool -config GCC_VERSION_8 - default y if GCC_USE_VERSION_8 +config GCC_VERSION_7 + default y if GCC_USE_VERSION_7 bool config GCC_VERSION_9 @@ -17,9 +13,9 @@ config GCC_VERSION_9 config GCC_VERSION string default "5.5.0" if GCC_VERSION_5 - default "8.3.0" if GCC_VERSION_8 + default "7.4.0" if GCC_VERSION_7 default "9.2.0" if GCC_VERSION_9 - default "7.4.0" + default "8.3.0" config GCC_USE_IREMAP bool diff --git a/toolchain/nasm/Makefile b/toolchain/nasm/Makefile index 53b7848caf..3efcc86203 100644 --- a/toolchain/nasm/Makefile +++ b/toolchain/nasm/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nasm -PKG_VERSION:=2.13.03 +PKG_VERSION:=2.14 PKG_SOURCE_URL:=https://www.nasm.us/pub/nasm/releasebuilds/$(PKG_VERSION)/ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz -PKG_HASH:=812ecfb0dcbc5bd409aaa8f61c7de94c5b8752a7b00c632883d15b2ed6452573 +PKG_HASH:=97c615dbf02ef80e4e2b6c385f7e28368d51efc214daa98e600ca4572500eec0 HOST_BUILD_PARALLEL:=1 diff --git a/toolchain/nasm/patches/100-backport-upstream-GCC8-compatibility-fixes.patch b/toolchain/nasm/patches/100-backport-upstream-GCC8-compatibility-fixes.patch deleted file mode 100644 index a6c5027bec..0000000000 --- a/toolchain/nasm/patches/100-backport-upstream-GCC8-compatibility-fixes.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/include/nasmlib.h -+++ b/include/nasmlib.h -@@ -188,11 +188,9 @@ int64_t readnum(char *str, bool *error); - int64_t readstrnum(char *str, int length, bool *warn); - - /* -- * seg_init: Initialise the segment-number allocator. - * seg_alloc: allocate a hitherto unused segment number. - */ --void pure_func seg_init(void); --int32_t pure_func seg_alloc(void); -+int32_t seg_alloc(void); - - /* - * many output formats will be able to make use of this: a standard diff --git a/toolchain/uClibc/common.mk b/toolchain/uClibc/common.mk index b561fa1b1e..6f4c50c380 100644 --- a/toolchain/uClibc/common.mk +++ b/toolchain/uClibc/common.mk @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/target.mk -PKG_VERSION:=1.0.30 +PKG_VERSION:=1.0.31 PKG_NAME:=uClibc-ng PKG_SOURCE_URL = http://downloads.uclibc-ng.org/releases/$(PKG_VERSION)/ @@ -16,7 +16,7 @@ CONFIG_DIR:=$(PATH_PREFIX)/config PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz LIBC_SO_VERSION:=$(PKG_VERSION) -PKG_HASH:=992bd9a2889ea385902b87e3d3d30603741eb16728288fbf537ff2027f770496 +PKG_HASH:=2215d7377118434d1697fd575f10d7a6be3f29e460d6b0e1ee9f6f5306288060 HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)-$(PKG_VERSION)