diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk index 004c858e4a..eb0ddbf2d9 100644 --- a/toolchain/gcc/common.mk +++ b/toolchain/gcc/common.mk @@ -120,7 +120,8 @@ GCC_CONFIGURE:= \ --with-mpfr=$(TOPDIR)/staging_dir/host \ --with-mpc=$(TOPDIR)/staging_dir/host \ --disable-decimal-float \ - --with-diagnostics-color=auto-if-env + --with-diagnostics-color=auto-if-env \ + --enable-__cxa_atexit ifneq ($(CONFIG_mips)$(CONFIG_mipsel),) GCC_CONFIGURE += --with-mips-plt endif @@ -147,14 +148,6 @@ ifdef CONFIG_sparc --with-long-double-128 endif -ifeq ($(LIBC),uClibc) - GCC_CONFIGURE+= \ - --disable-__cxa_atexit -else - GCC_CONFIGURE+= \ - --enable-__cxa_atexit -endif - ifneq ($(GCC_ARCH),) GCC_CONFIGURE+= --with-arch=$(GCC_ARCH) endif diff --git a/toolchain/glibc/common.mk b/toolchain/glibc/common.mk index e3f2ea60cf..1a084d0862 100644 --- a/toolchain/glibc/common.mk +++ b/toolchain/glibc/common.mk @@ -11,8 +11,8 @@ PKG_VERSION:=2.31 PKG_SOURCE_PROTO:=git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_VERSION:=4e8a33a9590edc5c3a2cc5e726a3f2a73b66cdc0 -PKG_MIRROR_HASH:=41f678661dd1ee644dfae9734e27b47877ed7dee87c27eaddd9055394d36fe6a +PKG_SOURCE_VERSION:=6f3459f9859a7b506c64fa1823769ab631072c6e +PKG_MIRROR_HASH:=01ed0c8131bdc32c9abd3aaaebc4fcffb2d496c2b8c363a0e845ac09d874a2ff PKG_SOURCE_URL:=https://sourceware.org/git/glibc.git PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz diff --git a/tools/firmware-utils/Makefile b/tools/firmware-utils/Makefile index 561d6d868f..3dd9ac5c2c 100644 --- a/tools/firmware-utils/Makefile +++ b/tools/firmware-utils/Makefile @@ -23,77 +23,77 @@ endef define Host/Compile mkdir -p $(HOST_BUILD_DIR)/bin + $(call cc,add_header) $(call cc,addpattern) $(call cc,asustrx) - $(call cc,lxlfw) - $(call cc,trx) - $(call cc,otrx) - $(call cc,motorola-bin) + $(call cc,buffalo-enc buffalo-lib,-Wall) + $(call cc,buffalo-tag buffalo-lib,-Wall) + $(call cc,buffalo-tftp buffalo-lib,-Wall) $(call cc,dgfirmware) - $(call cc,mksenaofw md5, -Wall --std=gnu99) - $(call cc,trx2usr) - $(call cc,ptgen cyg_crc32) - $(call cc,srec2bin) - $(call cc,mkmylofw) - $(call cc,mkcsysimg) - $(call cc,mkzynfw) - $(call cc,lzma2eva,-lz) - $(call cc,mkcasfw) - $(call cc,mkfwimage,-lz -Wall -Werror -Wextra -D_FILE_OFFSET_BITS=64) - $(call cc,mkfwimage2,-lz) - $(call cc,imagetag imagetag_cmdline cyg_crc32) - $(call cc,add_header) - $(call cc,makeamitbin) + $(call cc,dgn3500sum,-Wall) + $(call cc,dns313-header,-Wall) + $(call cc,edimax_fw_header,-Wall) $(call cc,encode_crc) - $(call cc,nand_ecc) - $(call cc,mkplanexfw sha1) - $(call cc,mktplinkfw mktplinkfw-lib md5, -Wall -fgnu89-inline) - $(call cc,mktplinkfw2 mktplinkfw-lib md5, -fgnu89-inline) - $(call cc,tplink-safeloader md5, -Wall --std=gnu99) - $(call cc,pc1crypt) - $(call cc,osbridge-crc) - $(call cc,wrt400n cyg_crc32) - $(call cc,mkdniimg) - $(call cc,mktitanimg) - $(call cc,mkchkimg) - $(call cc,mkzcfw cyg_crc32) - $(call cc,spw303v) - $(call cc,zyxbcm) - $(call cc,trx2edips) - $(call cc,xorimage) - $(call cc,buffalo-enc buffalo-lib, -Wall) - $(call cc,buffalo-tag buffalo-lib, -Wall) - $(call cc,buffalo-tftp buffalo-lib, -Wall) - $(call cc,mkwrgimg md5, -Wall) - $(call cc,mkwrggimg md5, -Wall) - $(call cc,mkedimaximg) - $(call cc,mkbrncmdline) - $(call cc,mkbrnimg) - $(call cc,mkdapimg) - $(call cc,mkdapimg2) - $(call cc, mkcameofw, -Wall) - $(call cc,seama md5) - $(call cc,oseama md5, -Wall) $(call cc,fix-u-media-header cyg_crc32,-Wall) $(call cc,hcsmakeimage bcmalgo) - $(call cc,mkporayfw, -Wall) - $(call cc,mkrasimage, --std=gnu99) - $(call cc,mkhilinkfw, -lcrypto) + $(call cc,imagetag imagetag_cmdline cyg_crc32) + $(call cc,jcgimage,-lz -Wall) + $(call cc,lxlfw) + $(call cc,lzma2eva,-lz) + $(call cc,makeamitbin) + $(call cc,mkbrncmdline) + $(call cc,mkbrnimg) + $(call cc,mkbuffaloimg,-Wall) + $(call cc,mkcameofw,-Wall) + $(call cc,mkcasfw) + $(call cc,mkchkimg) + $(call cc,mkcsysimg) + $(call cc,mkdapimg) + $(call cc,mkdapimg2) + $(call cc,mkdhpimg buffalo-lib,-Wall) + $(call cc,mkdlinkfw mkdlinkfw-lib,-lz -Wall --std=c99) + $(call cc,mkdniimg) + $(call cc,mkedimaximg) + $(call cc,mkfwimage,-lz -Wall -Werror -Wextra -D_FILE_OFFSET_BITS=64) + $(call cc,mkfwimage2,-lz) $(call cc,mkheader_gemtek,-lz) - $(call cc,mkrtn56uimg, -lz) - $(call cc,dgn3500sum, -Wall) - $(call cc,edimax_fw_header, -Wall) - $(call cc,mkmerakifw sha1, -Wall) - $(call cc,mkmerakifw-old, -Wall) - $(call cc,jcgimage, -lz -Wall) - $(call cc,mkbuffaloimg, -Wall) - $(call cc,zyimage, -Wall) - $(call cc,mkdhpimg buffalo-lib, -Wall) - $(call cc,mkdlinkfw mkdlinkfw-lib, -lz -Wall --std=c99) - $(call cc,dns313-header, -Wall) - $(call cc,mksercommfw, -Wall) - $(call cc,nec-enc, -Wall --std=gnu99) - $(call cc,uimage_padhdr, -Wall -lz) + $(call cc,mkhilinkfw,-lcrypto) + $(call cc,mkmerakifw sha1,-Wall) + $(call cc,mkmerakifw-old,-Wall) + $(call cc,mkmylofw) + $(call cc,mkplanexfw sha1) + $(call cc,mkporayfw,-Wall) + $(call cc,mkrasimage,--std=gnu99) + $(call cc,mkrtn56uimg,-lz) + $(call cc,mksenaofw md5,-Wall --std=gnu99) + $(call cc,mksercommfw,-Wall) + $(call cc,mktitanimg) + $(call cc,mktplinkfw mktplinkfw-lib md5,-Wall -fgnu89-inline) + $(call cc,mktplinkfw2 mktplinkfw-lib md5,-fgnu89-inline) + $(call cc,mkwrggimg md5,-Wall) + $(call cc,mkwrgimg md5,-Wall) + $(call cc,mkzcfw cyg_crc32) + $(call cc,mkzynfw) + $(call cc,motorola-bin) + $(call cc,nand_ecc) + $(call cc,nec-enc,-Wall --std=gnu99) + $(call cc,osbridge-crc) + $(call cc,oseama md5,-Wall) + $(call cc,otrx) + $(call cc,pc1crypt) + $(call cc,ptgen cyg_crc32) + $(call cc,seama md5) + $(call cc,spw303v) + $(call cc,srec2bin) + $(call cc,tplink-safeloader md5,-Wall --std=gnu99) + $(call cc,trx) + $(call cc,trx2edips) + $(call cc,trx2usr) + $(call cc,uimage_padhdr,-Wall -lz) + $(call cc,wrt400n cyg_crc32) + $(call cc,xorimage) + $(call cc,zyimage,-Wall) + $(call cc,zyxbcm) endef define Host/Install diff --git a/tools/firmware-utils/src/tplink-safeloader.c b/tools/firmware-utils/src/tplink-safeloader.c index 10178dc714..3f83f19d2d 100644 --- a/tools/firmware-utils/src/tplink-safeloader.c +++ b/tools/firmware-utils/src/tplink-safeloader.c @@ -204,8 +204,15 @@ static struct device_info boards[] = { "SupportList:\r\n" "CPE210(TP-LINK|EU|N300-2|45550000):3.0\r\n" "CPE210(TP-LINK|UN|N300-2|00000000):3.0\r\n" + "CPE210(TP-LINK|US|N300-2|55530000):3.0\r\n" "CPE210(TP-LINK|UN|N300-2):3.0\r\n" - "CPE210(TP-LINK|EU|N300-2):3.0\r\n", + "CPE210(TP-LINK|EU|N300-2):3.0\r\n" + "CPE210(TP-LINK|EU|N300-2|45550000):3.1\r\n" + "CPE210(TP-LINK|UN|N300-2|00000000):3.1\r\n" + "CPE210(TP-LINK|US|N300-2|55530000):3.1\r\n" + "CPE210(TP-LINK|EU|N300-2|45550000):3.20\r\n" + "CPE210(TP-LINK|UN|N300-2|00000000):3.20\r\n" + "CPE210(TP-LINK|US|N300-2|55530000):3.20\r\n", .support_trail = '\xff', .soft_ver = NULL, @@ -474,6 +481,46 @@ static struct device_info boards[] = { .last_sysupgrade_partition = "support-list", }, + /** Firmware layout for the CPE610V2 */ + { + .id = "CPE610V2", + .vendor = "CPE610(TP-LINK|UN|N300-5|00000000):2.0\r\n", + .support_list = + "SupportList:\r\n" + "CPE610(TP-LINK|EU|N300-5|00000000):2.0\r\n" + "CPE610(TP-LINK|EU|N300-5|45550000):2.0\r\n" + "CPE610(TP-LINK|EU|N300-5|55530000):2.0\r\n" + "CPE610(TP-LINK|UN|N300-5|00000000):2.0\r\n" + "CPE610(TP-LINK|UN|N300-5|45550000):2.0\r\n" + "CPE610(TP-LINK|UN|N300-5|55530000):2.0\r\n" + "CPE610(TP-LINK|US|N300-5|55530000):2.0\r\n" + "CPE610(TP-LINK|UN|N300-5):2.0\r\n" + "CPE610(TP-LINK|EU|N300-5):2.0\r\n" + "CPE610(TP-LINK|US|N300-5):2.0\r\n", + .support_trail = '\xff', + .soft_ver = NULL, + + .partitions = { + {"fs-uboot", 0x00000, 0x20000}, + {"partition-table", 0x20000, 0x02000}, + {"default-mac", 0x30000, 0x00020}, + {"product-info", 0x31100, 0x00100}, + {"signature", 0x32000, 0x00400}, + {"os-image", 0x40000, 0x200000}, + {"file-system", 0x240000, 0x570000}, + {"soft-version", 0x7b0000, 0x00100}, + {"support-list", 0x7b1000, 0x00400}, + {"user-config", 0x7c0000, 0x10000}, + {"default-config", 0x7d0000, 0x10000}, + {"log", 0x7e0000, 0x10000}, + {"radio", 0x7f0000, 0x10000}, + {NULL, 0, 0} + }, + + .first_sysupgrade_partition = "os-image", + .last_sysupgrade_partition = "support-list", + }, + { .id = "WBS210", .vendor = "CPE510(TP-LINK|UN|N300-5):1.0\r\n", @@ -1515,6 +1562,49 @@ static struct device_info boards[] = { .last_sysupgrade_partition = "file-system" }, + /** Firmware layout for the RE220 v2 */ + { + .id = "RE220-V2", + .vendor = "", + .support_list = + "SupportList:\n" + "{product_name:RE220,product_ver:2.0.0,special_id:00000000}\n" + "{product_name:RE220,product_ver:2.0.0,special_id:41520000}\n" + "{product_name:RE220,product_ver:2.0.0,special_id:41550000}\n" + "{product_name:RE220,product_ver:2.0.0,special_id:42520000}\n" + "{product_name:RE220,product_ver:2.0.0,special_id:43410000}\n" + "{product_name:RE220,product_ver:2.0.0,special_id:45530000}\n" + "{product_name:RE220,product_ver:2.0.0,special_id:45550000}\n" + "{product_name:RE220,product_ver:2.0.0,special_id:49440000}\n" + "{product_name:RE220,product_ver:2.0.0,special_id:4a500000}\n" + "{product_name:RE220,product_ver:2.0.0,special_id:4b520000}\n" + "{product_name:RE220,product_ver:2.0.0,special_id:52550000}\n" + "{product_name:RE220,product_ver:2.0.0,special_id:54570000}\n" + "{product_name:RE220,product_ver:2.0.0,special_id:55530000}\n", + .support_trail = '\x00', + .soft_ver = NULL, + + .partitions = { + {"fs-uboot", 0x00000, 0x20000}, + {"firmware", 0x20000, 0x7a0000}, + {"partition-table", 0x7c0000, 0x02000}, + {"default-mac", 0x7c2000, 0x00020}, + {"pin", 0x7c2100, 0x00020}, + {"product-info", 0x7c3100, 0x01000}, + {"soft-version", 0x7c4200, 0x01000}, + {"support-list", 0x7c5200, 0x01000}, + {"profile", 0x7c6200, 0x08000}, + {"config-info", 0x7ce200, 0x00400}, + {"user-config", 0x7d0000, 0x10000}, + {"default-config", 0x7e0000, 0x10000}, + {"radio", 0x7f0000, 0x10000}, + {NULL, 0, 0} + }, + + .first_sysupgrade_partition = "os-image", + .last_sysupgrade_partition = "file-system" + }, + /** Firmware layout for the RE305 v1 */ { .id = "RE305-V1", @@ -1728,7 +1818,83 @@ static struct device_info boards[] = { {"user-config", 0x630000, 0x10000}, {"default-config", 0x640000, 0x10000}, {"radio", 0x7f0000, 0x10000}, + {NULL, 0, 0} + }, + .first_sysupgrade_partition = "os-image", + .last_sysupgrade_partition = "file-system" + }, + + /** Firmware layout for the RE450 v3 */ + { + .id = "RE450-V3", + .vendor = "", + .support_list = + "SupportList:\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:00000000}\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:55530000}\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:45550000}\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:4A500000}\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:43410000}\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:41550000}\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:41530000}\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:4B520000}\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:42520000}\r\n", + .support_trail = '\x00', + .soft_ver = NULL, + + /* We're using a dynamic kernel/rootfs split here */ + .partitions = { + {"fs-uboot", 0x00000, 0x20000}, + {"default-mac", 0x20000, 0x00020}, + {"pin", 0x20020, 0x00020}, + {"product-info", 0x21000, 0x01000}, + {"partition-table", 0x22000, 0x02000}, + {"soft-version", 0x24000, 0x01000}, + {"support-list", 0x25000, 0x01000}, + {"profile", 0x26000, 0x08000}, + {"user-config", 0x2e000, 0x10000}, + {"default-config", 0x3e000, 0x10000}, + {"config-info", 0x4e000, 0x00400}, + {"firmware", 0x50000, 0x7a0000}, + {"radio", 0x7f0000, 0x10000}, + {NULL, 0, 0} + }, + + .first_sysupgrade_partition = "os-image", + .last_sysupgrade_partition = "file-system" + }, + + /** Firmware layout for the RE500 */ + { + .id = "RE500-V1", + .vendor = "", + .support_list = + "SupportList:\r\n" + "{product_name:RE500,product_ver:1.0.0,special_id:00000000}\r\n" + "{product_name:RE500,product_ver:1.0.0,special_id:55530000}\r\n" + "{product_name:RE500,product_ver:1.0.0,special_id:45550000}\r\n" + "{product_name:RE500,product_ver:1.0.0,special_id:4A500000}\r\n" + "{product_name:RE500,product_ver:1.0.0,special_id:43410000}\r\n" + "{product_name:RE500,product_ver:1.0.0,special_id:41550000}\r\n" + "{product_name:RE500,product_ver:1.0.0,special_id:41530000}\r\n", + .support_trail = '\x00', + .soft_ver = NULL, + + /* We're using a dynamic kernel/rootfs split here */ + .partitions = { + {"fs-uboot", 0x00000, 0x20000}, + {"firmware", 0x20000, 0xde0000}, + {"partition-table", 0xe00000, 0x02000}, + {"default-mac", 0xe10000, 0x00020}, + {"pin", 0xe10100, 0x00020}, + {"product-info", 0xe11100, 0x01000}, + {"soft-version", 0xe20000, 0x01000}, + {"support-list", 0xe21000, 0x01000}, + {"profile", 0xe22000, 0x08000}, + {"user-config", 0xe30000, 0x10000}, + {"default-config", 0xe40000, 0x10000}, + {"radio", 0xff0000, 0x10000}, {NULL, 0, 0} },