[LEDE-DEV] [PATCH] libnl: Fix building with uClibc
uClibc doesn't implement strerror_l() and thus libnl starting from 3.2.29 couldn't be compiled with it any longer, see https://github.com/thom311/libnl/commit/6c2d77e91184073c44f83d4a6182aaba06d7 To work-around that problem we'll just do a check on strerror_l() availability during configuration and if it's not there just fall back to locale-less strerror(). Patch for libnl is alreadfy merged upstream, see https://github.com/thom311/libnl/commit/e15966ac7f3b43df2acf869f98089762807d0568 and once the next libnl release happens this one must be removed from Lede/OpenWrt. Signed-off-by: Alexey Brodkin Cc: Felix Fietkau Cc: John Crispin Cc: Daniel Engberg --- ...usage-of-strerror_l-if-it-doesn-t-exist-i.patch | 105 + 1 file changed, 105 insertions(+) create mode 100644 package/libs/libnl/patches/0001-lib-Escape-usage-of-strerror_l-if-it-doesn-t-exist-i.patch diff --git a/package/libs/libnl/patches/0001-lib-Escape-usage-of-strerror_l-if-it-doesn-t-exist-i.patch b/package/libs/libnl/patches/0001-lib-Escape-usage-of-strerror_l-if-it-doesn-t-exist-i.patch new file mode 100644 index 00..a31ef47729 --- /dev/null +++ b/package/libs/libnl/patches/0001-lib-Escape-usage-of-strerror_l-if-it-doesn-t-exist-i.patch @@ -0,0 +1,105 @@ +From 098a4cc35b0da4438b8b67a914edecebef5bb6a9 Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin +Date: Fri, 10 Mar 2017 13:22:14 +0300 +Subject: [PATCH] lib: Escape usage of strerror_l() if it doesn't exist in libc + +uClibc doesn't implement strerror_l() and thus libnl starting from +3.2.29 couldn't be compiled with it any longer. + +To work-around that problem we'll just do a check on strerror_l() +availability during configuration and if it's not there just fall back +to locale-less strerror(). + +Signed-off-by: Alexey Brodkin +Cc: Andre Draszik +Cc: Thomas Haller +--- + +This patch is now accepted upstream and will be a part of the next libnl +release, see +https://github.com/thom311/libnl/commit/e15966ac7f3b43df2acf869f98089762807d0568 + + configure.ac| 2 ++ + lib/utils.c | 8 +++- + src/lib/utils.c | 6 ++ + 3 files changed, 15 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 68b285e5b15c..2739b997ee3a 100644 +--- a/configure.ac b/configure.ac +@@ -121,6 +121,8 @@ fi + + AC_CONFIG_SUBDIRS([doc]) + ++AC_CHECK_FUNCS([strerror_l]) ++ + AC_CONFIG_FILES([ + Makefile + libnl-3.0.pc +diff --git a/lib/utils.c b/lib/utils.c +index fb350d13fd2f..06273c5b291e 100644 +--- a/lib/utils.c b/lib/utils.c +@@ -30,7 +30,9 @@ + #include + #include + #include /* exit() */ ++#ifdef HAVE_STRERROR_L + #include ++#endif + + /** + * Global variable indicating the desired level of debugging output. +@@ -123,9 +125,10 @@ int __nl_read_num_str_file(const char *path, int (*cb)(long, const char *)) + + const char *nl_strerror_l(int err) + { ++ const char *buf; ++#ifdef HAVE_STRERROR_L + int errno_save = errno; + locale_t loc = newlocale(LC_MESSAGES_MASK, "", (locale_t)0); +- const char *buf; + + if (loc == (locale_t)0) { + if (errno == ENOENT) +@@ -140,6 +143,9 @@ const char *nl_strerror_l(int err) + } + + errno = errno_save; ++#else ++ buf = strerror(err); ++#endif + return buf; + } + /** @endcond */ +diff --git a/src/lib/utils.c b/src/lib/utils.c +index 5878f279c364..feb1d4ef4056 100644 +--- a/src/lib/utils.c b/src/lib/utils.c +@@ -81,6 +81,7 @@ void nl_cli_fatal(int err, const char *fmt, ...) + fprintf(stderr, "\n"); + } else { + char *buf; ++#ifdef HAVE_STRERROR_L + locale_t loc = newlocale(LC_MESSAGES_MASK, "", (locale_t)0); + if (loc == (locale_t)0) { + if (errno == ENOENT) +@@ -91,9 +92,14 @@ void nl_cli_fatal(int err, const char *fmt, ...) + } + if (loc != (locale_t)0) + buf = strerror_l(err, loc); ++#else ++ buf = strerror(err); ++#endif + fprintf(stderr, "%s\n", buf); ++#ifdef HAVE_STRERROR_L + if (loc != (locale_t)0) + freelocale(loc); ++#endif + } + + exit(abs(err)); +-- +2.7.4 + -- 2.11.0 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH 2/2] target/arc770: switch to 4.9 kernel
Hi Felix, On Wed, 2017-04-12 at 10:53 +0200, Felix Fietkau wrote: > On 2017-03-12 17:06, Felix Fietkau wrote: > > > > On 2017-03-10 17:01, Alexey Brodkin wrote: > > > > > > Hi Felix, > > > > > > On Fri, 2017-03-10 at 16:59 +0100, Felix Fietkau wrote: > > > > > > > > On 2017-03-10 16:57, Alexey Brodkin wrote: > > > > > > > > > > > > > > > Completely forgot about feeds, sorry. > > > > > So what I did now was "./scripts/feed uninstall -a", selected ARC770 > > > > > board, > > > > > enabled CONFIG_ALL_KMOD and all got built perfectly fine for me. > > > > > > > > > > Any other ideas what's missing in my case? > > > > Did you create a fresh config with that option selected? > > > > > > I think so because I > > > 1. "rm -rf build_dir/ staging_dir/ bin/ tmp .config*" > > > 2. "make menuconfig" where selected the board and ALL_KMODS > > Please do that with the latest version of my staging tree and send me > > the resulting final .config file. > Ping? I still have your changes in my staging tree and I'd like to get > this resolved soon. I do have this on my todo list but was unfortunately super busy with other pretty important things. Anyways I was about to start looking at this so please stay tuned I expect to update you with my findings very soon. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH 2/2] target/arc770: switch to 4.9 kernel
Hi Felix, On Wed, 2017-04-12 at 12:04 +0300, Alexey Brodkin wrote: > Hi Felix, > > > On Wed, 2017-04-12 at 10:53 +0200, Felix Fietkau wrote: > > > > On 2017-03-12 17:06, Felix Fietkau wrote: > > > > > > > > > On 2017-03-10 17:01, Alexey Brodkin wrote: > > > > > > > > > > > > Hi Felix, > > > > > > > > On Fri, 2017-03-10 at 16:59 +0100, Felix Fietkau wrote: > > > > > > > > > > > > > > > On 2017-03-10 16:57, Alexey Brodkin wrote: > > > > > > > > > > > > > > > > > > > > > > > > Completely forgot about feeds, sorry. > > > > > > So what I did now was "./scripts/feed uninstall -a", selected > > > > > > ARC770 board, > > > > > > enabled CONFIG_ALL_KMOD and all got built perfectly fine for me. > > > > > > > > > > > > Any other ideas what's missing in my case? > > > > > Did you create a fresh config with that option selected? > > > > > > > > I think so because I > > > > 1. "rm -rf build_dir/ staging_dir/ bin/ tmp .config*" > > > > 2. "make menuconfig" where selected the board and ALL_KMODS > > > Please do that with the latest version of my staging tree and send me > > > the resulting final .config file. > > Ping? I still have your changes in my staging tree and I'd like to get > > this resolved soon. > > I do have this on my todo list but was unfortunately super busy > with other pretty important things. > > Anyways I was about to start looking at this so please > stay tuned I expect to update you with my findings very soon. As you might have seen from my email to USB mailing list I was able to nail down the problem (which apparently has nothing to do with ARC or any other architecture in particular). I think it worth waiting for comments on the mailing list. If everybody is happy with my patch I'll submit it to Lede or you may just pick it up as well - it applies on top of 4.9 perfectly fine. FWIW that's a link to my message in linux-usb LM: http://marc.info/?l=linux-usb&m=149208684805545&w=2 -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH 2/2] target/arc770: switch to 4.9 kernel
Hi Felix, On Thu, 2017-04-13 at 15:42 +0300, Alexey Brodkin wrote: [snip] > As you might have seen from my email to USB mailing list I > was able to nail down the problem (which apparently has nothing to do > with ARC or any other architecture in particular). > > I think it worth waiting for comments on the mailing list. > If everybody is happy with my patch I'll submit it to Lede or > you may just pick it up as well - it applies on top of 4.9 perfectly fine. > > FWIW that's a link to my message in linux-usb LM: > http://marc.info/?l=linux-usb&m=149208684805545&w=2 Given there're no signs of activity regarding my patch I'm not sure when it gets accepted. So I'm wondering if you prefer to wait until it really gets accepted or I may send it to Lede/OWrt right away so you'll be able to push my patches with kernel v4.9 for ARC in upstream branch sooner? -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] linux-4.9: Fix building of DWC3 module
DWC3 driver uses of_usb_get_phy_mode() which is implemented in drivers/usb/phy/of.c and in bare minimal configuration it might not be pulled in kernel binary. In case of ARC or ARM this could be easily reproduced with "allnodefconfig" +CONFIG_USB=m +CONFIG_USB_DWC3=m. On building all ends-up with: -->8-- Kernel: arch/arm/boot/Image is ready Kernel: arch/arm/boot/zImage is ready Building modules, stage 2. MODPOST 5 modules ERROR: "of_usb_get_phy_mode" [drivers/usb/dwc3/dwc3.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 -->8-- This was affecting Lede in case of CONFIG_ALL_KMODS=y. The patch is already scheduled for v4.12 and once it is backported to 4.9.y it must be removed from here. Note this patch makes sense not only for ARC instead it fixes a generic issue which may affect more arches and platforms thus putting it in "generic/" folder. Signed-off-by: Alexey Brodkin --- ...90-usb-Make-sure-usb-phy-of-gets-built-in.patch | 54 ++ 1 file changed, 54 insertions(+) create mode 100644 target/linux/generic/patches-4.9/090-usb-Make-sure-usb-phy-of-gets-built-in.patch diff --git a/target/linux/generic/patches-4.9/090-usb-Make-sure-usb-phy-of-gets-built-in.patch b/target/linux/generic/patches-4.9/090-usb-Make-sure-usb-phy-of-gets-built-in.patch new file mode 100644 index 00..1bc498be7c --- /dev/null +++ b/target/linux/generic/patches-4.9/090-usb-Make-sure-usb-phy-of-gets-built-in.patch @@ -0,0 +1,54 @@ +From 3d6159640da9c9175d1ca42f151fc1a14caded59 Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin +Date: Thu, 13 Apr 2017 15:33:34 +0300 +Subject: [PATCH] usb: Make sure usb/phy/of gets built-in + +DWC3 driver uses of_usb_get_phy_mode() which is +implemented in drivers/usb/phy/of.c and in bare minimal +configuration it might not be pulled in kernel binary. + +In case of ARC or ARM this could be easily reproduced with +"allnodefconfig" +CONFIG_USB=m +CONFIG_USB_DWC3=m. + +On building all ends-up with: +-->8-- + Kernel: arch/arm/boot/Image is ready + Kernel: arch/arm/boot/zImage is ready + Building modules, stage 2. + MODPOST 5 modules +ERROR: "of_usb_get_phy_mode" [drivers/usb/dwc3/dwc3.ko] undefined! +make[1]: *** [__modpost] Error 1 +make: *** [modules] Error 2 +---------->8-- + +Signed-off-by: Alexey Brodkin +Cc: Greg Kroah-Hartman +Cc: Masahiro Yamada +Cc: Geert Uytterhoeven +Cc: Nicolas Pitre +Cc: Thomas Gleixner +Cc: Felipe Balbi +Cc: Felix Fietkau +Cc: Jeremy Kerr +Cc: linux-snps-...@lists.infradead.org +Cc: sta...@vger.kernel.org +Signed-off-by: Greg Kroah-Hartman +--- + drivers/Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/Makefile b/drivers/Makefile +index 2eced9afba53..8f8bdc9e3d29 100644 +--- a/drivers/Makefile b/drivers/Makefile +@@ -104,6 +104,7 @@ obj-$(CONFIG_USB_PHY) += usb/ + obj-$(CONFIG_USB) += usb/ + obj-$(CONFIG_PCI) += usb/ + obj-$(CONFIG_USB_GADGET) += usb/ ++obj-$(CONFIG_OF) += usb/ + obj-$(CONFIG_SERIO) += input/serio/ + obj-$(CONFIG_GAMEPORT)+= input/gameport/ + obj-$(CONFIG_INPUT) += input/ +-- +2.11.0 + -- 2.11.0 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] perf: Disable perf for ARC770 only, enable for ARC HS38
Toolchain built for ARCv1 (read for ARC700 cores) by default has disabled atomic ops (-mno-atomic). When we build Linux kernel for ARC770 which has LL/SC instructions and thus may handle normally atomic ops we explicitly add "-matomic" in CFLAGS. But since user-space perf utility has no way to extract CPU config options from Kconfig/defconfig it uses compiler default settings. In case of ARCv2 (read ARC HS38) atomics are enabled by default and so perf builds perfectly fine thus reenabling perf for ARC HS38 (actually for non-ARC700 targets). Signed-off-by: Alexey Brodkin --- package/devel/perf/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/devel/perf/Makefile b/package/devel/perf/Makefile index 35f1719d31..361e42278c 100644 --- a/package/devel/perf/Makefile +++ b/package/devel/perf/Makefile @@ -26,7 +26,7 @@ include $(INCLUDE_DIR)/package.mk define Package/perf SECTION:=devel CATEGORY:=Development - DEPENDS:= +libelf1 +libdw +libpthread +librt +objdump @!LINUX_3_18 @!IN_SDK @!arc + DEPENDS:= +libelf1 +libdw +libpthread +librt +objdump @!LINUX_3_18 @!IN_SDK @!TARGET_arc770 TITLE:=Linux performance monitoring tool VERSION:=$(LINUX_VERSION)-$(PKG_RELEASE) URL:=http://www.kernel.org -- 2.11.0 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH] toolchain/arc: update to the most recent release arc-2017.03
Hi Hauke, On Mon, 2017-06-26 at 22:45 +0200, Hauke Mehrtens wrote: > On 06/26/2017 05:03 PM, Evgeniy Didin wrote: > > > > arc-2017.03 is the most recent release toolchain for ARC cores > > and it is based on upstream Binutils 2.28 and GCC 6.3.0 > > > > Signed-off-by: Evgeniy Didin > > Cc: Alexey Brodkin > > Cc: John Crispin > > --- > > When will the ARC CPU be supported in mainline gcc and binutils so we do > not have to use a special arc toolchain any more? Well I may say that ARC is supported upstream already. In fact our recent releases only differ a little bit from upstream master of both Binutils and GCC. The problem for us is we still develop both Binutils and GCC pretty actively compared to other arches (this is especially true for Binutils) and delta between our dev tree and the last upstream release might become quite significant in a few months. Still the plan for us is to switch to upstream tarballs + a set of patches on top of that in coming months. Now why we did that particular update with forks from our Github is we want to move with smaller steps. See in arc-2017.03 release we upgraded GCC from 6.2 to 6.3 and what's much more important Binutils from 2.27 (which was way too different from upstream version) to 2.28 which even in upstream tarball has most our our stuff integrated already. With that we want to make sure packages get built and built system is usable. Stay tuned. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH v2] toolchain/arc: update to the most recent release arc-2017.03
Hi Hauke, > -Original Message- > From: Hauke Mehrtens [mailto:ha...@hauke-m.de] > Sent: Saturday, July 15, 2017 1:18 AM > To: Evgeniy Didin ; lede-dev@lists.infradead.org > Cc: Alexey Brodkin ; John Crispin > > Subject: Re: [LEDE-DEV] [PATCH v2] toolchain/arc: update to the most recent > release arc-2017.03 > > On 07/12/2017 05:00 PM, Evgeniy Didin wrote: > > arc-2017.03 is the most recent release toolchain for ARC cores > > and it is based on upstream Binutils 2.28 and GCC 6.3.0 > > > > Signed-off-by: Evgeniy Didin > > Cc: Alexey Brodkin > > Cc: John Crispin > > Cc: Hauke Mehrtens > > --- > > > > Changes v1 -> v2: > > *In toolchain/gcc/common.mk add '-release' to line > > 'PKG_REV:=2017.03'. > > Now it is 'PKG_REV:=2017.03-release' and symlink at > > build_dir/toolchain-arc_arc700_gcc-arc-2017.03-release_uClibc/gcc > > pointing to the right place. > > Hi Evgeniy, > > You send this mail from evgeniy.di...@synopsys.com, but add > di...@synopsys.com to the Sob line. What is your correct mail address? > Could you use the same email address in the author line and the Sob line > in the future please. Sorry for that. I remember John asked me to do the same chnage. The point is our brain-damaged Exchange server silently swaps used internally short form "didin" to longer external from "evgeniy.didin". We always forget about that trick. So if contents of the patch look good could you please fix-up email locally and apply it? Otherwise I may resend his patch as Eugeniy is on FTO before mid August. Regards, Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] arc770 uclibc usage
Hi Hans, On Mon, 2017-10-30 at 18:36 +0100, Hans Dedecker wrote: > Hi Alexey, > > The arc770 target still uses uClibc which causes a build failure in > iproute2 on the phase 1 buildbot > (https://urldefense.proofpoint.com/v2/url?u=http-3A__phase1.builds.lede-2Dproject.org_builders_arc770-252Fgeneric_builds_411_steps_pkgbuild_logs_std > io&d=DwIBaQ&c=DPL6_X_6JkXFx7AXWqB0tg&r=OtZvQ4lNHIbjtyysXrNW8RbX6WFkigcev-xByzJ_fLk&m=SomCao4-RhKFK7fcOD093thiVBM15Kjdyngu0uE- > 6XY&s=DWZojaezlpO6xal492dy_kEjYm6cprzWT2tVHjsFNsU&e=) > due to IPPROTO_MH not being defined. > Other targets using either glibc or musl have not this issue and as > only targets supporting either glibc or musl will be supported in the > next stable release the arc770 target has been marked as source-only > for the moment. > Is it an option to switch arc770 to either glibc or musl so it can > still be included as a supported target in the next stable release and > finally we can get rid of uClibc completely ? Well we do have glibc port pretty much ready for ARC but it was not yet accepted in upstream (being reviewed currently). But if that's Ok I may [and it was on my todo list] to integrate glibc for ARC with sources taken from github.com/foss-for-synopsys-dwc-arc-processors/glibc. We've got it integrated in both Buildroot and OpenEmbedded already so it should work quite well. Any thoughts? -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH 2/2] toolchain/arc: update to the most recent release arc-2017.09
Hi Hauke, On Wed, 2018-01-24 at 21:43 +0100, Hauke Mehrtens wrote: > On 01/24/2018 06:26 PM, Evgeniy Didin wrote: > > This commit finally bumps ARC tools to the most recent arc-2017.09 release > > version. > > > > ARC GNU tools of version arc-2017.09 bring some quite significant changes > > like: > > * Binutils v2.29 with additional ARC patches > > * GCC 7.1.1 with additional ARC patches > > > > More information on this release could be found here: > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_foss-2Dfor-2Dsynopsys-2Ddwc-2Darc-2Dprocessors_toolchain_releases_tag_arc-2D2017 > > .09-2Drelease&d=DwICaQ&c=DPL6_X_6JkXFx7AXWqB0tg&r=lqdeeSSEes0GFDDl656eViXO7breS55ytWkhpk5R81I&m=2rUJ8ayGY- > > 54h0qn7dft_Zi3T1jFwJ88tA46p6c9l_I&s=U9snLQpnWd5Ku9JtYuf1pnf0YOcXzlrV5CnhDxTAepU&e= > > > > > > Signed-off-by: Evgeniy Didin > > CC: Alexey Brodkin > > CC: John Crispin > > --- > > Would it be possible to use upstream gcc 7, upstream binutils 2.29 and > upstream gdb 8 instead of the special arc versions? > If you need some extra patches you can add them to the existing patches > directory. That's perfectly possible even though there're still some patches that didn't make its way into latest releases of GCC and Binutils. So the plan was to first bump versions of our tarballs and see how it goes and if all goes smooth switch to upstream releases. Otherwise if we switch right from much older tools based on GCC 6.3 (if I'm not mistaken) and Binutils (2.27 or what) to GCC 7.2 and Binutils 2.29 chances are much higher that something goes wrong and we'll spend much more time on fixing things. > If this is not possible will this be possible with the next major > versions of gcc, binutils and gdb? > > I would like to get rid of most of the arc specialties and make arc > behave more like all the other targets. That's very well understood and we're very close to this. Also note we have working glibc for ARCv2 (read archs48) which is being actively reviewed on glibc's mailing list. Unfortunately it looks like ARC port won't be a part of the next glibc's release [mostly because with pure upstream tools we're getting a bit too much of failures in glibc's test-suite] but for the next one I hope we'll be well prepared. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH] archs38: bump kernel to 4.14.
Hi Claudiu, Could you please comment on the question from Hauke below? On Sat, 2018-01-27 at 16:36 +0100, Hauke Mehrtens wrote: > Does the arc CPU also need some special handling like some MIPS CPUs: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bbc25bee37d2b32cf3a1fab9195b6da3a185614a -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] mac80211: Make wlcore platform-independent
TI wl18xx and wl12xx are Wi-Fi/Bluetooth combo modules that could be found on different existing boards. But it is possible to get those modules as a separate component and use with existing boards as well as new boards equipped with either module may appear so we remove dependency on OMAP. Signed-off-by: Alexey Brodkin Cc: Jo-Philipp Wich Cc: Felix Fietkau Cc: Imre Kaloz --- package/kernel/mac80211/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile index 25adbfb..b0c040c 100644 --- a/package/kernel/mac80211/Makefile +++ b/package/kernel/mac80211/Makefile @@ -1378,7 +1378,7 @@ endef define KernelPackage/wlcore $(call KernelPackage/mac80211/Default) TITLE:=TI common driver part - DEPENDS+= @TARGET_omap +kmod-mac80211 +@DRIVER_11N_SUPPORT + DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT FILES:= \ $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \ $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko -- 2.6.3 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH] mac80211: Make wlcore platform-independent
Hi Felix, On Tue, 2016-11-08 at 16:08 +0100, Felix Fietkau wrote: > On 2016-11-08 15:46, Alexey Brodkin wrote: > > > > TI wl18xx and wl12xx are Wi-Fi/Bluetooth combo modules > > that could be found on different existing boards. > > > > But it is possible to get those modules as a separate > > component and use with existing boards as well as > > new boards equipped with either module may appear so we > > remove dependency on OMAP. > > > > Signed-off-by: Alexey Brodkin > > Cc: Jo-Philipp Wich > > Cc: Felix Fietkau > > Cc: Imre Kaloz > > --- > > package/kernel/mac80211/Makefile | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/package/kernel/mac80211/Makefile > > b/package/kernel/mac80211/Makefile > > index 25adbfb..b0c040c 100644 > > --- a/package/kernel/mac80211/Makefile > > +++ b/package/kernel/mac80211/Makefile > > @@ -1378,7 +1378,7 @@ endef > > define KernelPackage/wlcore > > $(call KernelPackage/mac80211/Default) > > TITLE:=TI common driver part > > - DEPENDS+= @TARGET_omap +kmod-mac80211 +@DRIVER_11N_SUPPORT > > + DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT > I think this will cause build failures unless you add the missing > dependencies on mmc support (which omap enables in the kernel image, but > other platforms don't). Right! I did build test for Synopsys boards and here as well we have MMC support enabled by default. So let me add that dependency explicitly in the respin. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH v2] mac80211: Make wlcore platform-independent
TI wl18xx and wl12xx are Wi-Fi/Bluetooth combo modules that could be found on different existing boards. But it is possible to get those modules as a separate component and use with existing boards as well as new boards equipped with either module may appear so we remove dependency on OMAP instead we add dependency on MMC because this Wi-Fi module uses SDIO interface. Signed-off-by: Alexey Brodkin Cc: Jo-Philipp Wich Cc: Felix Fietkau Cc: Imre Kaloz --- Changes v1 -> v2: * Added dependency on kmod-mmc because SDIO interface is used by TI's wl12/18xx modules. Build-tested for AR7xxx/9xxx and ARC platforms. package/kernel/mac80211/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile index 25adbfb..50f225e 100644 --- a/package/kernel/mac80211/Makefile +++ b/package/kernel/mac80211/Makefile @@ -1378,7 +1378,7 @@ endef define KernelPackage/wlcore $(call KernelPackage/mac80211/Default) TITLE:=TI common driver part - DEPENDS+= @TARGET_omap +kmod-mac80211 +@DRIVER_11N_SUPPORT + DEPENDS+= +kmod-mmc +kmod-mac80211 +@DRIVER_11N_SUPPORT FILES:= \ $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore.ko \ $(PKG_BUILD_DIR)/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko -- 2.6.3 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] ath9k crashes
Hi Felix, Koen, On Tue, 2017-01-31 at 08:27 +0100, Felix Fietkau wrote: > On 2017-01-30 14:50, Koen Vandeputte wrote: > > > > Hi Felix, > > > > Since the latest ath9k fixes you've submitted I've seen a few NULL > > derefs on my cns3xxx boards the past few days. > > > > I'm not sure if these are really the cause but .. any idea? > > > > [ 42.57] [] (_raw_spin_unlock_irqrestore) from [] > > (ath9k_iowrite32+0x5c/0x7c [ath9k]) > > [ 42.57] [] (ath9k_iowrite32 [ath9k]) from [] > > (ath9k_hw_kill_interrupts+0x1a8/0x218 > > [ath9k_hw]) > > [ 42.57] r9: r8: r7:bf47485c r6:0002 r5:00023f60 > > r4:ce878010 > > [ 42.57] [] (ath9k_hw_kill_interrupts [ath9k_hw]) from > > [] > > (ath9k_hw_resume_interrupts+0x84/0x88 [ath9k_hw]) > > [ 42.57] r7:0001 r6:0001 r5:ce878010 r4:ce895540 > > [ 42.57] [] (ath9k_hw_resume_interrupts [ath9k_hw]) from > > [] > > (ath9k_hw_enable_interrupts+0x20/0x24 [ath9k_hw]) > > [ 42.57] [] (ath9k_hw_enable_interrupts [ath9k_hw]) from > > [] > > (ath9k_calculate_summary_state+0x3e8/0x5dc [ath9k]) > > [ 42.57] [] (ath9k_calculate_summary_state [ath9k]) from > > [] > > (ath9k_calculate_summary_state+0x574/0x5dc [ath9k]) > > [ 42.57] r7:ce895ef0 r6:ce895edc r5:ce895ee8 r4:ce895540 > > [ 42.57] [] (ath9k_calculate_summary_state [ath9k]) from > > [] (ath_reset_work+0x28/0x34 > > [ath9k]) > > > > > > Full log: > > > > http://pastebin.com/raw/7s5tqy88 > This does not look like a bug in ath9k to me. Seems that the cns3xxx > GPIO IRQ handler/setup code might be broken. That part of the log looks very suspicious: -->8-- [ 42.57] Unable to handle kernel NULL pointer dereference at virtual address [ 42.57] pgd = c0004000 [ 42.57] [] *pgd= [ 42.57] Internal error: Oops: 8007 [#1] SMP ARM -->8-- I'd say it is more likely some sort of memory corruption. It may have something to do with IRQ handler or not. How easy that one could be reproduced? I.e. it happens all the time or only appeared once? -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] Switching to upstream binutils for ARC
Hi Felix, On Tue, 2017-02-07 at 10:43 +0100, Felix Fietkau wrote: > Hi Alexey, > > I will soon push a change to switch to binutils 2.27 by default. It > seems that since 2.26, binutils has gained support for ARC. > Can we get rid of the ARC specific binutils version then, or does it > still have some important changes that are not upstream yet? Indeed as of today we have almost everything ready for usage of upstream binutils as well as in GCC. But all that might be pretty fragile because we still mostly use rather heavily patched forks (basically upstream masters + not-yet-upstreamed stuff). That said I would prefer to move ARC to upstream binutils and GCC myself. I'm pretty sure I'll need to add a number of not-yet-upstreamed patches for both binutils and GCC and obviously that will be much easier for me. Let me take a look how broken it is without extra patches and we will see how to proceed with it. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [LEDE 17.01] ubox: update hash for ubox-2017-01-15-5649c028.tar.xz
sha256sum for both http://sources.lede-project.org/ubox-2017-01-15-5649c028.tar.xz and locally created archive from git doesn't match expected ae77504a4397f92173a7646fa3555e5b51abd7ff1dd1c419770223359e41937a So we update checksum. Signed-off-by: Alexey Brodkin Cc: John Crispin --- package/system/ubox/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/system/ubox/Makefile b/package/system/ubox/Makefile index e833cac..cdf9265 100644 --- a/package/system/ubox/Makefile +++ b/package/system/ubox/Makefile @@ -7,7 +7,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(LEDE_GIT)/project/ubox.git PKG_SOURCE_DATE:=2017-01-15 PKG_SOURCE_VERSION:=5649c028c426060616e2bd4e7ea83271cd333d21 -PKG_MIRROR_HASH:=ae77504a4397f92173a7646fa3555e5b51abd7ff1dd1c419770223359e41937a +PKG_MIRROR_HASH:=28e5580d481a415697fbca46c160177bab6dc47a04ba7ddb73537827632b2dd6 CMAKE_INSTALL:=1 PKG_LICENSE:=GPL-2.0 -- 2.10.2 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [LEDE 17.01] arc770: backport upstream fix for unaligned access
This commit reverts 42f3c1f ("arc770: fix broken upstream change") and simultaneously adds back-ported fix from Linus' tree: a524c218bc94 ("ARC: [arcompact] brown paper bag bug in unaligned access delay slot fixup"). Note mentioned patch will appear in stable trees soon as well so IMHO there's not much sense in adding this separate patch in lede/master branch. As well as we will get rid of it here in 17.01 once we bump 4.4 kernel here later down the line. Signed-off-by: Alexey Brodkin Cc: Felix Fietkau Cc: John Crispin Cc: Jo-Philipp Wich --- ...-bug-in-unaligned-access-delay-slot-fixup.patch | 38 ++ ...revert-unaligned-access-delay-corner-case.patch | 31 -- 2 files changed, 38 insertions(+), 31 deletions(-) create mode 100644 target/linux/arc770/patches-4.4/001-ARC-arcompact-brown-paper-bag-bug-in-unaligned-access-delay-slot-fixup.patch delete mode 100644 target/linux/arc770/patches-4.4/900-revert-unaligned-access-delay-corner-case.patch diff --git a/target/linux/arc770/patches-4.4/001-ARC-arcompact-brown-paper-bag-bug-in-unaligned-access-delay-slot-fixup.patch b/target/linux/arc770/patches-4.4/001-ARC-arcompact-brown-paper-bag-bug-in-unaligned-access-delay-slot-fixup.patch new file mode 100644 index 000..8f502d9 --- /dev/null +++ b/target/linux/arc770/patches-4.4/001-ARC-arcompact-brown-paper-bag-bug-in-unaligned-access-delay-slot-fixup.patch @@ -0,0 +1,38 @@ +From patchwork Tue Feb 7 17:44:58 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: ARC: [arcompact] brown paper bag bug in unaligned access delay slot + fixup +From: Vineet Gupta +X-Patchwork-Id: 725238 +Message-Id: <1486489498-9221-1-git-send-email-vgu...@synopsys.com> +To: Linus Torvalds +Cc: Vineet Gupta , + linux-snps-...@lists.infradead.org, Jo-Philipp Wich , + linux-ker...@vger.kernel.org, sta...@vger.kernel.org +Date: Tue, 7 Feb 2017 09:44:58 -0800 + +Reported-by: Jo-Philipp Wich +Fixes: 9aed02feae57bf7 ("ARC: [arcompact] handle unaligned access delay slot") +Cc: linux-ker...@vger.kernel.org +Cc: linux-snps-...@lists.infradead.org +Cc: sta...@vger.kernel.org +Signed-off-by: Vineet Gupta +--- + arch/arc/kernel/unaligned.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arc/kernel/unaligned.c b/arch/arc/kernel/unaligned.c +index 91ebe382147f..5f69c3bd59bb 100644 +--- a/arch/arc/kernel/unaligned.c b/arch/arc/kernel/unaligned.c +@@ -243,7 +243,7 @@ int misaligned_fixup(unsigned long address, struct pt_regs *regs, + + /* clear any remanants of delay slot */ + if (delay_mode(regs)) { +- regs->ret = regs->bta ~1U; ++ regs->ret = regs->bta & ~1U; + regs->status32 &= ~STATUS_DE_MASK; + } else { + regs->ret += state.instr_len; diff --git a/target/linux/arc770/patches-4.4/900-revert-unaligned-access-delay-corner-case.patch b/target/linux/arc770/patches-4.4/900-revert-unaligned-access-delay-corner-case.patch deleted file mode 100644 index 37dc56e..000 --- a/target/linux/arc770/patches-4.4/900-revert-unaligned-access-delay-corner-case.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Jo-Philipp Wich -Date: Tue, 7 Feb 2017 09:26:00 +0100 -Subject: [PATCH] arc: revert broken upstream change - -The upstream commit -"9aed02f ARC: [arcompact] handle unaligned access delay slot corner case" -introduced a syntax error in arch/arc/kernel/unaligned.c, leading to the -following build failure: - -arch/arc/kernel/unaligned.c: In function 'misaligned_fixup': -arch/arc/kernel/unaligned.c:246:25: error: expected ';' before '~' token - regs->ret = regs->bta ~1U; - ^ -make[6]: *** [arch/arc/kernel/unaligned.o] Error 1 - -This patch reverts the offending change until an upstream fix is available. - -Signed-off-by: Jo-Philipp Wich a/arch/arc/kernel/unaligned.c -+++ b/arch/arc/kernel/unaligned.c -@@ -241,9 +241,8 @@ int misaligned_fixup(unsigned long addre - if (state.fault) - goto fault; - -- /* clear any remanants of delay slot */ - if (delay_mode(regs)) { -- regs->ret = regs->bta ~1U; -+ regs->ret = regs->bta; - regs->status32 &= ~STATUS_DE_MASK; - } else { - regs->ret += state.instr_len; -- 2.10.2 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [LEDE 17.01] ubox: update hash for ubox-2017-01-15-5649c028.tar.xz
Hi John, On Wed, 2017-02-08 at 16:20 +0100, John Crispin wrote: > Hi, > > superseded by a procd update in my staging tree. Ok I just wanted to make sure we may build reliably everything from the very scratch (i.e. after "make distclean") for 2017.01 release. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] ARC: use -mcpu=XXX instead of obsolete -mXXX
-mXXX option is deprecated already in arc-2016.03 toolchain and removed completely starting from arc-2016.09. Direct replacement is -mcpu=XXX which is already supported by arc-2016.03 used today in Lede. With that change we'll be ready for ARC toolchain update still keeping everything working with current tools. Signed-off-by: Alexey Brodkin Cc: John Crispin --- include/target.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/target.mk b/include/target.mk index 3099448..5490d48 100644 --- a/include/target.mk +++ b/include/target.mk @@ -215,8 +215,8 @@ ifeq ($(DUMP),1) ifeq ($(ARCH),arc) CPU_TYPE ?= arc700 CPU_CFLAGS += -matomic -CPU_CFLAGS_arc700 = -marc700 -CPU_CFLAGS_archs = -marchs +CPU_CFLAGS_arc700 = -mcpu=arc700 +CPU_CFLAGS_archs = -mcpu=archs endif DEFAULT_CFLAGS=$(strip $(CPU_CFLAGS) $(CPU_CFLAGS_$(CPU_TYPE)) $(CPU_CFLAGS_$(CPU_SUBTYPE))) -- 2.10.2 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] Switching to upstream binutils for ARC
Hi Felix, On Tue, 2017-02-07 at 19:46 +0300, Alexey Brodkin wrote: > Hi Felix, > > On Tue, 2017-02-07 at 10:43 +0100, Felix Fietkau wrote: > > > > Hi Alexey, > > > > I will soon push a change to switch to binutils 2.27 by default. It > > seems that since 2.26, binutils has gained support for ARC. > > Can we get rid of the ARC specific binutils version then, or does it > > still have some important changes that are not upstream yet? > > Indeed as of today we have almost everything ready for usage of upstream > binutils as well as in GCC. > > But all that might be pretty fragile because we still mostly use rather > heavily patched forks (basically upstream masters + not-yet-upstreamed stuff). > > That said I would prefer to move ARC to upstream binutils and GCC myself. > I'm pretty sure I'll need to add a number of not-yet-upstreamed patches > for both binutils and GCC and obviously that will be much easier for me. > > Let me take a look how broken it is without extra patches and we will > see how to proceed with it. So I was able to build and even run stuff for ARC locally out of most recent upstream gcc 6.3.0 and binutils 2.27. That's a good news. But still those versions are missing tons of our patches so I wouldn't expect a thing that I built to be rock solid and if something a bit more complicated than minimal set of apps could be built at all. In fact I had to apply 80+ patches on gcc so that's definitely not the most fancy solution... even though these are all in gcc's master tree as of today. Now both gcc 7.0 and binutils 2.28 are about to be released and there we will have almost everything we might need (sans a patch or two). In that light my question would be what's the plan regarding gcc 7.0 & binutils 2.28 in Lede/OWrt? -Alexey P.S. If of any interest I may send out my local changes as RFC. ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] toolchain/uclibc: Fix unmanned configuration with "V=s"
Currently on attempt to configure uClibc with "V=s" user is prompted to answer on configuration questions. Major inconvenience here is build procedure get paused until user answers all questions. That happens because not all symbols are defined in our .config. Solution is as simple as usage of "olddefconfig" target instead of simple "oldconfig". In that case default values get silently set for symbols not defined by our .config explicitly. We haven't noticed that subtle issue before because without "V=s" what we do is "make oldconfig < /dev/null" which automatically answers all questions :) Signed-off-by: Alexey Brodkin --- toolchain/uClibc/common.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/uClibc/common.mk b/toolchain/uClibc/common.mk index 35f4f80..1d4f8cc 100644 --- a/toolchain/uClibc/common.mk +++ b/toolchain/uClibc/common.mk @@ -83,7 +83,7 @@ define Host/Configure $(HOST_BUILD_DIR)/.config.new cmp -s $(HOST_BUILD_DIR)/.config.new $(HOST_BUILD_DIR)/.config.last || { \ cp $(HOST_BUILD_DIR)/.config.new $(HOST_BUILD_DIR)/.config && \ - $(MAKE) -C $(HOST_BUILD_DIR) oldconfig KBUILD_HAVE_NLS= HOSTCFLAGS="-DKBUILD_NO_NLS" && \ + $(MAKE) -C $(HOST_BUILD_DIR) olddefconfig KBUILD_HAVE_NLS= HOSTCFLAGS="-DKBUILD_NO_NLS" && \ $(MAKE) -C $(HOST_BUILD_DIR)/extra/config conf KBUILD_HAVE_NLS= HOSTCFLAGS="-DKBUILD_NO_NLS" && \ cp $(HOST_BUILD_DIR)/.config.new $(HOST_BUILD_DIR)/.config.last; \ } -- 2.10.2 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] toolchain/uclibc: Bump version to 1.0.22
Important change was made in 1.0.18: all sub-libs were merged in one and only libc similarly to musl. See [1] for more details. To support that we had to remove refences to those sub-libs like libpthread, libcrypt, libdl, libm, libutil etc. [1] http://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=29ff9055c80efe77a7130767a9fcb3ab8c67e8ce Signed-off-by: Alexey Brodkin --- package/libs/toolchain/Makefile | 16 ++-- toolchain/uClibc/Config.version | 2 +- toolchain/uClibc/Makefile | 6 +- toolchain/uClibc/common.mk | 2 +- 4 files changed, 5 insertions(+), 21 deletions(-) diff --git a/package/libs/toolchain/Makefile b/package/libs/toolchain/Makefile index 4822ca7..cf4a209 100644 --- a/package/libs/toolchain/Makefile +++ b/package/libs/toolchain/Makefile @@ -323,9 +323,6 @@ LIBGCC_SO=$(lastword $(wildcard $(TOOLCHAIN_DIR)/lib/libgcc_s.so.*)) define Build/Compile/uClibc $(CP) \ $(TOOLCHAIN_DIR)/lib/libuClibc-*.so \ - $(TOOLCHAIN_DIR)/lib/libcrypt-*.so \ - $(TOOLCHAIN_DIR)/lib/libm-*.so \ - $(TOOLCHAIN_DIR)/lib/libpthread-*.so \ $(PKG_BUILD_DIR)/ endef ifneq ($(LIBGCC_SO),) @@ -395,17 +392,8 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) $(TOOLCHAIN_DIR)/lib/libc.so.* \ $(TOOLCHAIN_DIR)/lib/libuClibc-$(LIBC_SO_VERSION).so \ $(1)/lib/ - for file in libcrypt libdl libm libutil; do \ - $(CP) \ - $(TOOLCHAIN_DIR)/lib/file.so.* \ - $(TOOLCHAIN_DIR)/lib/file-$(LIBC_SO_VERSION).so \ - $(1)/lib/; \ - done - $(CP) \ $(PKG_BUILD_DIR)/libuClibc-* \ - $(PKG_BUILD_DIR)/libm-* \ - $(PKG_BUILD_DIR)/libcrypt-* \ $(1)/lib/ endef @@ -437,7 +425,7 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) define Package/libpthread/install $(INSTALL_DIR) $(1)/lib - ifneq ($(CONFIG_USE_MUSL),y) + ifneq ($(CONFIG_USE_MUSL)$(CONFIG_USE_UCLIBC),y) $(CP) \ $(TOOLCHAIN_DIR)/lib/libpthread.so.* \ $(TOOLCHAIN_DIR)/lib/libpthread-$(LIBC_SO_VERSION).so \ @@ -462,7 +450,7 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) define Package/librt/install $(INSTALL_DIR) $(1)/lib - ifneq ($(CONFIG_USE_MUSL),y) + ifneq ($(CONFIG_USE_MUSL)$(CONFIG_USE_UCLIBC),y) $(CP) \ $(TOOLCHAIN_DIR)/lib/librt.so.* \ $(TOOLCHAIN_DIR)/lib/librt-$(LIBC_SO_VERSION).so \ diff --git a/toolchain/uClibc/Config.version b/toolchain/uClibc/Config.version index 3c1c54d..4865577 100644 --- a/toolchain/uClibc/Config.version +++ b/toolchain/uClibc/Config.version @@ -1,7 +1,7 @@ config UCLIBC_VERSION string depends on USE_UCLIBC - default "1.0.14" + default "1.0.22" config UCLIBC_VERSION_NG bool diff --git a/toolchain/uClibc/Makefile b/toolchain/uClibc/Makefile index a5fb54b..4764f2f 100644 --- a/toolchain/uClibc/Makefile +++ b/toolchain/uClibc/Makefile @@ -23,19 +23,15 @@ define Host/Install $(call Host/SetToolchainInfo) $(UCLIBC_MAKE) PREFIX="$(TOOLCHAIN_DIR)/" install_runtime install_dev $(CP) $(HOST_BUILD_DIR)/libc/libc_so.a $(TOOLCHAIN_DIR)/lib/ - $(CP) $(HOST_BUILD_DIR)/libpthread/*/libpthread_so.a $(TOOLCHAIN_DIR)/lib/ ( cd $(TOOLCHAIN_DIR) ; \ for d in lib usr/lib ; do \ - for f in libc.so libpthread.so libgcc_s.so ; do \ + for f in libc.so libgcc_s.so ; do \ if [ -f d/f -a ! -L d/f ] ; then \ $(SED) 's,/usr/lib/,,g;s,/lib/,,g' d/f ; \ fi \ done \ done \ ) - rm -f \ - $(TOOLCHAIN_DIR)/lib/libresolv*.so* \ - $(TOOLCHAIN_DIR)/lib/libnsl*.so* endef $(eval $(call HostBuild)) diff --git a/toolchain/uClibc/common.mk b/toolchain/uClibc/common.mk index 1d4f8cc..9c4c984 100644 --- a/toolchain/uClibc/common.mk +++ b/toolchain/uClibc/common.mk @@ -16,7 +16,7 @@ CONFIG_DIR:=$(PATH_PREFIX)/config PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz LIBC_SO_VERSION:=$(PKG_VERSION) -PKG_HASH:=3c63d9f8c8b98b65fa5c4040d1c8ab1b36e99a16e1093810cedad51ac15c9a9e +PKG_HASH:=f2004c85db8e07e9f1c2e8b7c513fa7c237bc9f9685d8e1bfc89535b8a85449b HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)-$(PKG_VERSION) -- 2.10.2 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [RFC 2/5] toolchain: gcc: Keep testsuite folder to simplify generation of patches
Since we're going to put a bunch of patches for ARC generated with "git format-patch" missing "testsuite" folder will cause failures on application of those patches. With "testsuite" in place all our patches are applied flawlessly. Signed-off-by: Alexey Brodkin --- toolchain/gcc/common.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk index 6ee7efd..b58774e 100644 --- a/toolchain/gcc/common.mk +++ b/toolchain/gcc/common.mk @@ -61,7 +61,7 @@ HOST_STAMP_INSTALLED:=$(STAGING_DIR_HOST)/stamp/.gcc_$(GCC_VARIANT)_installed SEP:=, TARGET_LANGUAGES:="c,c++$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)$(if $(CONFIG_INSTALL_GFORTRAN),$(SEP)fortran)$(if $(CONFIG_INSTALL_GCCGO),$(SEP)go)" -TAR_OPTIONS += --exclude='gcc/testsuite/*' --exclude=gcc/ada/*.ad* +TAR_OPTIONS += --exclude=gcc/ada/*.ad* ifndef CONFIG_INSTALL_LIBGCJ TAR_OPTIONS += --exclude=libjava -- 2.10.2 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [RFC 4/5] target/archs38: switch to 4.9 kernel
With switch to GCC v6.x we have to bump Linux kernel version so both toolchain and the kernel use the same ARC ABIv4. Signed-off-by: Alexey Brodkin --- target/linux/archs38/Makefile | 2 +- target/linux/archs38/{config-4.4 => config-4.9}| 55 +++--- ...stmmac-Disable-frame-filtering-completely.patch | 0 3 files changed, 39 insertions(+), 18 deletions(-) rename target/linux/archs38/{config-4.4 => config-4.9} (80%) rename target/linux/archs38/{patches-4.4 => patches-4.9}/700-stmmac-Disable-frame-filtering-completely.patch (100%) diff --git a/target/linux/archs38/Makefile b/target/linux/archs38/Makefile index be0d722..ef17852 100644 --- a/target/linux/archs38/Makefile +++ b/target/linux/archs38/Makefile @@ -13,7 +13,7 @@ BOARDNAME:=Synopsys DesignWare ARC HS38 MAINTAINER:=Alexey Brodkin SUBTARGETS:=generic -KERNEL_PATCHVER:=4.4 +KERNEL_PATCHVER:=4.9 DEVICE_TYPE:=developerboard diff --git a/target/linux/archs38/config-4.4 b/target/linux/archs38/config-4.9 similarity index 80% rename from target/linux/archs38/config-4.4 rename to target/linux/archs38/config-4.9 index a09c7c4..311315e 100644 --- a/target/linux/archs38/config-4.4 +++ b/target/linux/archs38/config-4.9 @@ -1,9 +1,8 @@ # CONFIG_16KSTACKS is not set CONFIG_ARC=y -CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set # CONFIG_ARCH_HAS_GCOV_PROFILE_ALL is not set # CONFIG_ARCH_HAS_SG_CHAIN is not set -CONFIG_ARCH_REQUIRE_GPIOLIB=y CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y CONFIG_ARC_BUILTIN_DTB_NAME="" CONFIG_ARC_CACHE=y @@ -13,23 +12,20 @@ CONFIG_ARC_CACHE_PAGES=y CONFIG_ARC_CPU_HS=y CONFIG_ARC_CURR_IN_REG=y CONFIG_ARC_DBG=y -# CONFIG_ARC_DBG_TLB_MISS_COUNT is not set # CONFIG_ARC_DBG_TLB_PARANOIA is not set CONFIG_ARC_DW2_UNWIND=y CONFIG_ARC_HAS_COH_CACHES=y CONFIG_ARC_HAS_DCACHE=y # CONFIG_ARC_HAS_DCCM is not set CONFIG_ARC_HAS_DIV_REM=y -CONFIG_ARC_HAS_GRTC=y -CONFIG_ARC_HAS_HW_MPY=y +CONFIG_ARC_HAS_GFRC=y CONFIG_ARC_HAS_ICACHE=y # CONFIG_ARC_HAS_ICCM is not set CONFIG_ARC_HAS_LL64=y CONFIG_ARC_HAS_LLSC=y # CONFIG_ARC_HAS_PAE40 is not set -# CONFIG_ARC_HAS_REENTRANT_IRQ_LV2 is not set CONFIG_ARC_HAS_SWAPE=y -# CONFIG_ARC_IPI_DBG is not set +CONFIG_ARC_KVADDR_SIZE=256 CONFIG_ARC_MCIP=y # CONFIG_ARC_METAWARE_HLINK is not set CONFIG_ARC_MMU_V4=y @@ -38,43 +34,50 @@ CONFIG_ARC_NUMBER_OF_INTERRUPTS=32 # CONFIG_ARC_PAGE_SIZE_4K is not set CONFIG_ARC_PAGE_SIZE_8K=y CONFIG_ARC_PLAT_AXS10X=y +# CONFIG_ARC_PLAT_EZNPS is not set CONFIG_ARC_PLAT_SIM=y # CONFIG_ARC_PLAT_TB10X is not set # CONFIG_ARC_SMP_HALT_ON_RESET is not set -CONFIG_ARC_STAR_9000923308=y CONFIG_ARC_UBOOT_SUPPORT=y CONFIG_AXS103=y CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y CONFIG_CLONE_BACKWARDS=y CONFIG_COMMON_CLK=y # CONFIG_CPU_BIG_ENDIAN is not set CONFIG_CPU_RMAP=y CONFIG_CRC16=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_NULL2=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_WORKQUEUE=y CONFIG_DTC=y CONFIG_DWMAC_GENERIC=y -# CONFIG_DWMAC_SUNXI is not set CONFIG_DW_APB_ICTL=y CONFIG_EXT4_FS=y +# CONFIG_EZNPS_GIC is not set +CONFIG_FIXED_PHY=y CONFIG_FS_MBCACHE=y -CONFIG_GENERIC_ATOMIC64=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CSUM=y CONFIG_GENERIC_FIND_FIRST_BIT=y CONFIG_GENERIC_IO=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_PCI_IOMAP=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_GENERIC_SMP_IDLE_THREAD=y -# CONFIG_GEN_RTC is not set CONFIG_GPIOLIB=y -CONFIG_GPIO_DEVRES=y CONFIG_GPIO_DWAPB=y CONFIG_GPIO_GENERIC=y +CONFIG_HANDLE_DOMAIN_IRQ=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set @@ -87,9 +90,8 @@ CONFIG_HAVE_CLK=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_HAVE_DEBUG_STACKOVERFLOW=y CONFIG_HAVE_FUTEX_CMPXCHG=y -# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_HAVE_GENERIC_DMA_COHERENT=y CONFIG_HAVE_IOREMAP_PROT=y -CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_HAVE_MEMBLOCK=y CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_HAVE_NET_DSA=y @@ -104,13 +106,17 @@ CONFIG_IRQ_WORK=y CONFIG_ISA_ARCV2=y CONFIG_JBD2=y CONFIG_KALLSYMS=y +CONFIG_KERNEL_GZIP=y +# CONFIG_LEDS_TRIGGER_MTD is not set CONFIG_LIBFDT=y CONFIG_LINUX_LINK_BASE=0x8000 CONFIG_LOCK_SPIN_ON_OWNER=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y CONFIG_MDIO_BOARDINFO=y +# CONFIG_MDIO_HISI_FEMAC is not set CONFIG_MFD_SYSCON=y +CONFIG_MIGHT_HAVE_PCI=y CONFIG_MMC=y CONFIG_MMC_BLOCK=y CONFIG_MMC_DW=y @@ -120,6 +126,7 @@ CONFIG_MMC_DW_PLTFM=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MODULES_USE_ELF_RELA=y +# CONFIG_MTD_PHYSMAP_OF_VERSATILE is not set CONFIG_MUTEX_SPIN_ON_OWNER=y CONFIG_NATIONAL_PHY=y # CONFIG_NET_CADENCE is not set @@ -147,8 +154,11 @@ CONFIG_OF_FLATTREE=y CONFIG_OF_GPIO=y CONFIG_OF_IRQ=y CONFIG_OF_MDIO=y -CONFIG_OF_MTD
[LEDE-DEV] [RFC 5/5] target/arc770: switch to 4.9 kernel
With switch to GCC v6.x we have to bump Linux kernel version so both toolchain and the kernel use the same ARC ABIv4. Signed-off-by: Alexey Brodkin --- target/linux/arc770/Makefile | 2 +- target/linux/arc770/{config-4.4 => config-4.9} | 44 -- ...-bug-in-unaligned-access-delay-slot-fixup.patch | 0 ...stmmac-Disable-frame-filtering-completely.patch | 0 4 files changed, 33 insertions(+), 13 deletions(-) rename target/linux/arc770/{config-4.4 => config-4.9} (82%) rename target/linux/arc770/{patches-4.4 => patches-4.9}/001-ARC-arcompact-brown-paper-bag-bug-in-unaligned-access-delay-slot-fixup.patch (100%) rename target/linux/arc770/{patches-4.4 => patches-4.9}/700-stmmac-Disable-frame-filtering-completely.patch (100%) diff --git a/target/linux/arc770/Makefile b/target/linux/arc770/Makefile index 6492529..8b164f4 100644 --- a/target/linux/arc770/Makefile +++ b/target/linux/arc770/Makefile @@ -12,7 +12,7 @@ BOARDNAME:=Synopsys DesignWare ARC 770D MAINTAINER:=Alexey Brodkin SUBTARGETS:=generic -KERNEL_PATCHVER:=4.4 +KERNEL_PATCHVER:=4.9 DEVICE_TYPE:=developerboard diff --git a/target/linux/arc770/config-4.4 b/target/linux/arc770/config-4.9 similarity index 82% rename from target/linux/arc770/config-4.4 rename to target/linux/arc770/config-4.9 index f484de3..2472ce2 100644 --- a/target/linux/arc770/config-4.4 +++ b/target/linux/arc770/config-4.9 @@ -1,9 +1,8 @@ # CONFIG_16KSTACKS is not set CONFIG_ARC=y -CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set # CONFIG_ARCH_HAS_GCOV_PROFILE_ALL is not set # CONFIG_ARCH_HAS_SG_CHAIN is not set -CONFIG_ARCH_REQUIRE_GPIOLIB=y CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y CONFIG_ARC_BUILTIN_DTB_NAME="" CONFIG_ARC_CACHE=y @@ -16,18 +15,17 @@ CONFIG_ARC_CACHE_PAGES=y CONFIG_ARC_CPU_770=y CONFIG_ARC_CURR_IN_REG=y CONFIG_ARC_DBG=y -# CONFIG_ARC_DBG_TLB_MISS_COUNT is not set # CONFIG_ARC_DBG_TLB_PARANOIA is not set CONFIG_ARC_DW2_UNWIND=y CONFIG_ARC_EMUL_UNALIGNED=y # CONFIG_ARC_FPU_SAVE_RESTORE is not set CONFIG_ARC_HAS_DCACHE=y # CONFIG_ARC_HAS_DCCM is not set -CONFIG_ARC_HAS_HW_MPY=y CONFIG_ARC_HAS_ICACHE=y # CONFIG_ARC_HAS_ICCM is not set CONFIG_ARC_HAS_LLSC=y CONFIG_ARC_HAS_SWAPE=y +CONFIG_ARC_KVADDR_SIZE=256 # CONFIG_ARC_METAWARE_HLINK is not set # CONFIG_ARC_MMU_V1 is not set # CONFIG_ARC_MMU_V2 is not set @@ -36,14 +34,18 @@ CONFIG_ARC_MMU_V3=y # CONFIG_ARC_PAGE_SIZE_4K is not set CONFIG_ARC_PAGE_SIZE_8K=y CONFIG_ARC_PLAT_AXS10X=y +# CONFIG_ARC_PLAT_EZNPS is not set CONFIG_ARC_PLAT_SIM=y # CONFIG_ARC_PLAT_TB10X is not set CONFIG_ARC_UBOOT_SUPPORT=y CONFIG_AXS101=y CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y CONFIG_CLONE_BACKWARDS=y CONFIG_COMMON_CLK=y # CONFIG_CPU_BIG_ENDIAN is not set +CONFIG_CPU_NO_EFFICIENT_FFS=y CONFIG_CRC16=y CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_HASH=y @@ -52,9 +54,10 @@ CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_WORKQUEUE=y CONFIG_DTC=y CONFIG_DWMAC_GENERIC=y -# CONFIG_DWMAC_SUNXI is not set CONFIG_DW_APB_ICTL=y CONFIG_EXT4_FS=y +# CONFIG_EZNPS_GIC is not set +CONFIG_FIXED_PHY=y CONFIG_FS_MBCACHE=y CONFIG_GENERIC_ATOMIC64=y CONFIG_GENERIC_CLOCKEVENTS=y @@ -63,12 +66,12 @@ CONFIG_GENERIC_FIND_FIRST_BIT=y CONFIG_GENERIC_IO=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_PCI_IOMAP=y CONFIG_GENERIC_SMP_IDLE_THREAD=y -# CONFIG_GEN_RTC is not set CONFIG_GPIOLIB=y -CONFIG_GPIO_DEVRES=y CONFIG_GPIO_DWAPB=y CONFIG_GPIO_GENERIC=y +CONFIG_HANDLE_DOMAIN_IRQ=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set @@ -80,9 +83,8 @@ CONFIG_HAVE_CLK=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_HAVE_DEBUG_STACKOVERFLOW=y CONFIG_HAVE_FUTEX_CMPXCHG=y -# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_HAVE_GENERIC_DMA_COHERENT=y CONFIG_HAVE_IOREMAP_PROT=y -CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_HAVE_MEMBLOCK=y CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_HAVE_NET_DSA=y @@ -97,12 +99,16 @@ CONFIG_ISA_ARCOMPACT=y # CONFIG_ISA_ARCV2 is not set CONFIG_JBD2=y CONFIG_KALLSYMS=y +CONFIG_KERNEL_GZIP=y +# CONFIG_LEDS_TRIGGER_MTD is not set CONFIG_LIBFDT=y CONFIG_LINUX_LINK_BASE=0x8000 CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y CONFIG_MDIO_BOARDINFO=y +# CONFIG_MDIO_HISI_FEMAC is not set CONFIG_MFD_SYSCON=y +CONFIG_MIGHT_HAVE_PCI=y CONFIG_MMC=y CONFIG_MMC_BLOCK=y CONFIG_MMC_DW=y @@ -112,6 +118,7 @@ CONFIG_MMC_DW_PLTFM=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MODULES_USE_ELF_RELA=y +# CONFIG_MTD_PHYSMAP_OF_VERSATILE is not set CONFIG_NATIONAL_PHY=y CONFIG_NEED_PER_CPU_KM=y # CONFIG_NET_CADENCE is not set @@ -137,8 +144,10 @@ CONFIG_OF_FLATTREE=y CONFIG_OF_GPIO=y CONFIG_OF_IRQ=y CONFIG_OF_MDIO=y -CONFIG_OF_MTD=y CONFIG_OF_NET=y +CONFIG_OF_RESERVED_MEM=y +# CONFIG_PCI is not set +# CONFIG_PCI_SYSCALL is not set CONFIG_PERF_USE_VMALLOC=y CONFIG_PGTABLE_LEVELS=2 CONFIG_PHYLIB=y @@ -148,13 +157,23 @@
[LEDE-DEV] [RFC 0/5] Updates for ARC
This series itroduces updates to both toolchain used for ARC and Linux kernel. This update is kept in that atoimc manner because we had to switch ABI again in GCC 6.x, see [1] for more details; and Linux kernel supports this ABI since v4.8 so existing v4.4 is a no go. Note that's the first draft that is not suposed to be really used because for GCC we add way too many patches here and for Binutils way too many patches are missing. Ideally we'd better jump right to GCC 7.0 and Binutils 2.28 which will have most of the stuff included and only very few patches is any will be applied on top. Anyways all comments are more than welcome! P.S. Even though that's an RFC system built with that series boots :) [1] https://github.com/foss-for-synopsys-dwc-arc-processors/linux/wiki/ARC-Linux-Syscall-ABI-Compatibility#33-abi-v4 Alexey Brodkin (5): toolchain: Switch ARC to upstream binutils and gcc toolchain: gcc: Keep testsuite folder to simplify generation of patches toolchain: gcc: Add all patches from arc-2017.03 branch target/archs38: switch to 4.9 kernel target/arc770: switch to 4.9 kernel target/linux/arc770/Makefile |2 +- target/linux/arc770/{config-4.4 => config-4.9} | 44 +- ...-bug-in-unaligned-access-delay-slot-fixup.patch |0 ...stmmac-Disable-frame-filtering-completely.patch |0 target/linux/archs38/Makefile |2 +- target/linux/archs38/{config-4.4 => config-4.9}| 55 +- ...stmmac-Disable-frame-filtering-completely.patch |0 toolchain/binutils/Config.in |9 +- toolchain/binutils/Config.version |7 +- toolchain/binutils/Makefile|9 - ...0001-Select-OSABI-version-at-compile-time.patch | 45 + .../arc-2016.03/200-arc-fix-target-mask.patch | 13 - toolchain/gcc/Config.in| 10 +- toolchain/gcc/Config.version | 11 +- toolchain/gcc/common.mk| 12 +- .../0001-ARC-Add-SIMD-extensions-for-ARC-HS.patch | 905 .../6.3.0/0002-ARC-LIBGCC-Add-TLS-support.patch| 144 ++ .../patches/6.3.0/0003-ARC-Add-TLS-support.patch | 1147 ++ ...se-drsub-instructions-when-selecting-fpud.patch | 121 ++ ...-FPUDA-code-gen-when-compiling-for-big-en.patch | 140 ++ .../6.3.0/0006-ARC-Pass-mfpuda-to-assembler.patch | 46 + ...Andrew-Burgess-andrew.burgess-embecosm.co.patch | 128 ++ ...Andrew-Burgess-andrew.burgess-embecosm.co.patch | 78 + ...Joern-Rennecke-joern.rennecke-embecosm.co.patch | 701 +++ ...Joern-Rennecke-joern.rennecke-embecosm.co.patch | 1059 ++ ...Joern-Rennecke-joern.rennecke-embecosm.co.patch | 116 ++ ...Andrew-Burgess-andrew.burgess-embecosm.co.patch | 59 + ...anted-match-for-sign-extend-16-bit-consta.patch | 170 ++ .../6.3.0/0014-ARC-Fix-obsolete-constraint.patch | 72 + ...FPX-NaN-within-optimized-floating-point-l.patch | 133 ++ ...Andrew-Burgess-andrew.burgess-embecosm.co.patch | 123 ++ .../0017-ARC-Add-new-ARCv2-instructions.patch | 785 +++ .../0018-Fix-warnings-update-source-code.patch | 80 + ...019-ARC-Various-instruction-pattern-fixes.patch | 83 + .../6.3.0/0020-ARC-New-CPU-C-define-handler.patch | 303 +++ ...OFFPC-relocation-for-pc-relative-accesses.patch | 197 ++ ...ption-handling-refurbish-multilib-support.patch | 2188 ...023-ARC-Various-small-miscellaneous-fixes.patch | 243 +++ ...Disable-compact-casesi-patterns-for-arcv2.patch | 50 + ...025-ARC-Add-support-for-QuarkSE-processor.patch | 429 ...-libgcc-Add-support-for-QuarkSE-processor.patch | 441 .../6.3.0/0027-ARC-libgcc-Fix-defines.patch| 198 ++ ...28-ARC-tests-Update-target-specific-tests.patch | 1103 ++ .../gcc/patches/6.3.0/0029-ARC-Various-fixes.patch | 84 + .../0030-ARC-Add-simple-shift-rotate-ops.patch | 68 + .../gcc/patches/6.3.0/0031-Fix-option-text.patch | 44 + .../0032-ARC-Disable-tests-for-bare-metal.patch| 133 ++ .../0033-ARC-Update-INSN_LENGTH_ALIGNMENT.patch| 34 + ...RC-Reimplement-exception-handling-support.patch | 523 + .../6.3.0/0035-ARC-Fix-mul32x16-patterns.patch | 56 + .../6.3.0/0036-ARC-Cleanup-implementation.patch| 201 ++ .../6.3.0/0037-ARC-Refurbish-mul64-support.patch | 126 ++ toolchain/gcc/patches/6.3.0/0038-ARC-Fix-PIE.patch | 100 + .../0039-ARC-Generating-code-for-profiling.patch | 2136 +++ .../6.3.0/0040-ARC-Clean-up-arc-header-file.patch | 501 + ...re-script-to-allow-non-uclibc-based-tripl.patch | 49 + ...0042-ARC-Fix-conditional-move-contstraint.patch | 32 + .../6.3.0/0043-Fix-tst_bitfield_tst-pattern.patch | 66 + .../0044-ARC-Prohibit-negative-PIC-constants.patch | 105 + ...0045-ARC-Handle-complex-PIC-move-patterns.patch | 120 ++ .../0046-ARC-Add-code-density-instructions.patch | 300 +++ .../6.3
[LEDE-DEV] [RFC 1/5] toolchain: Switch ARC to upstream binutils and gcc
Since there're ARC ports of upstream GCC and Binutils we may finally use them for building ARC toolchain instead of custom forks on Synopsys GitHub. But given ARC ports were accepted not that long ago quite a lot of things are either missing in the most recent release but since then made its way to upstream master branches or might not be accepted at all. That said we still have to apply some patches on top the release but with time we'll see less and less patches for ARC tools. Another important note upstream GCC 6.x introduces ARC ABIv4 which is only supported in Linux kernels starting from v4.8, i.e. Linux kernel 4.4 won't work with user-space apps built GCC 6.x so subsequent kernel version bump for ARC is really a must. Signed-off-by: Alexey Brodkin --- toolchain/binutils/Config.in | 9 +- toolchain/binutils/Config.version | 7 +- toolchain/binutils/Makefile| 9 - ...0001-Select-OSABI-version-at-compile-time.patch | 45 .../arc-2016.03/200-arc-fix-target-mask.patch | 13 -- toolchain/gcc/Config.in| 10 +- toolchain/gcc/Config.version | 11 +- toolchain/gcc/common.mk| 10 - .../001-revert_register_mode_search.patch | 65 -- .../patches/arc-2016.03/002-weak_data_fix.patch| 42 .../arc-2016.03/003-universal_initializer.patch| 94 .../patches/arc-2016.03/004-case_insensitive.patch | 14 -- .../patches/arc-2016.03/010-documentation.patch| 23 -- .../patches/arc-2016.03/020-no-plt-backport.patch | 28 --- .../210-disable_libsanitizer_off_t_check.patch | 11 - .../arc-2016.03/800-arc-disablelibgmon.patch | 18 -- .../gcc/patches/arc-2016.03/820-libgcc_pic.patch | 36 --- .../arc-2016.03/850-use_shared_libgcc.patch| 47 .../patches/arc-2016.03/851-libgcc_no_compat.patch | 12 - .../gcc/patches/arc-2016.03/860-use_eh_frame.patch | 42 .../patches/arc-2016.03/870-ppc_no_crtsavres.patch | 11 - .../patches/arc-2016.03/880-no_java_section.patch | 11 - .../gcc/patches/arc-2016.03/910-mbsd_multi.patch | 253 - .../arc-2016.03/920-specs_nonfatal_getenv.patch| 14 -- .../arc-2016.03/940-no-clobber-stamp-bits.patch| 11 - .../arc-2016.03/950-fix-building-with-gcc6.patch | 153 - 26 files changed, 49 insertions(+), 950 deletions(-) create mode 100644 toolchain/binutils/patches/2.27/0001-Select-OSABI-version-at-compile-time.patch delete mode 100644 toolchain/binutils/patches/arc-2016.03/200-arc-fix-target-mask.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/001-revert_register_mode_search.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/002-weak_data_fix.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/003-universal_initializer.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/004-case_insensitive.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/010-documentation.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/020-no-plt-backport.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/210-disable_libsanitizer_off_t_check.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/800-arc-disablelibgmon.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/820-libgcc_pic.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/850-use_shared_libgcc.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/851-libgcc_no_compat.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/860-use_eh_frame.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/870-ppc_no_crtsavres.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/880-no_java_section.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/910-mbsd_multi.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/920-specs_nonfatal_getenv.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/940-no-clobber-stamp-bits.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/950-fix-building-with-gcc6.patch diff --git a/toolchain/binutils/Config.in b/toolchain/binutils/Config.in index 44c7db0..203b0b8 100644 --- a/toolchain/binutils/Config.in +++ b/toolchain/binutils/Config.in @@ -2,21 +2,14 @@ choice prompt "Binutils Version" if TOOLCHAINOPTS - default BINUTILS_USE_VERSION_2_27 if !arc - default BINUTILS_USE_VERSION_2_26_ARC if arc + default BINUTILS_USE_VERSION_2_27 help Select the version of binutils you wish to use. config BINUTILS_USE_VERSION_2_27 - depends on !arc bool "Binutils 2.27" select BINUTILS_VERSION_2_27 - config BINUTILS_USE_VERSION_2_26_ARC - depends on arc - bool "ARC binutils 2.26" - select BINUTILS_VERSION_2_26_ARC - endchoice co
[LEDE-DEV] [PATCH] packages: Use https instead of git
From: Alexey Brodkin On some [especially corporate] networks non-standard ports are blocked and git is one of them. So switch to more convenient https transport. Signed-off-by: Alexey Brodkin --- libs/dmx_usb_module/Makefile | 2 +- libs/libhttp-parser/Makefile | 2 +- libs/libsoxr/Makefile | 2 +- libs/protobuf-c/Makefile | 2 +- libs/yajl/Makefile| 2 +- net/acme/Makefile | 2 +- net/coova-chilli/Makefile | 2 +- net/horst/Makefile| 2 +- net/linuxptp/Makefile | 2 +- net/lispmob/Makefile | 2 +- net/mii-tool/Makefile | 2 +- net/opentracker/Makefile | 2 +- net/port-mirroring/Makefile | 2 +- net/wifidog/Makefile | 2 +- sound/forked-daapd/Makefile | 2 +- sound/shairplay/Makefile | 2 +- sound/shairport-sync/Makefile | 2 +- sound/shairport/Makefile | 2 +- utils/acl/Makefile| 2 +- utils/ap51-flash/Makefile | 2 +- utils/ecdsautils/Makefile | 2 +- utils/evtest/Makefile | 2 +- utils/mbtools/Makefile| 2 +- utils/openocd/Makefile| 2 +- utils/pps-tools/Makefile | 2 +- utils/rtklib/Makefile | 2 +- utils/rtl-sdr/Makefile| 2 +- utils/sispmctl/Makefile | 2 +- utils/triggerhappy/Makefile | 2 +- 29 files changed, 29 insertions(+), 29 deletions(-) diff --git a/libs/dmx_usb_module/Makefile b/libs/dmx_usb_module/Makefile index d9e458fbe7eb..4487437d3f88 100644 --- a/libs/dmx_usb_module/Makefile +++ b/libs/dmx_usb_module/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=0.1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_URL:=git://github.com/lowlander/dmx_usb_module.git +PKG_SOURCE_URL:=https://github.com/lowlander/dmx_usb_module.git PKG_SOURCE_PROTO:=git PKG_SOURCE_VERSION:=ee99ca7edbd9e093480ad63341ac007394047bde PKG_MAINTAINER:=Martijn Zilverschoon diff --git a/libs/libhttp-parser/Makefile b/libs/libhttp-parser/Makefile index fe28b4cab263..db0a201f4867 100644 --- a/libs/libhttp-parser/Makefile +++ b/libs/libhttp-parser/Makefile @@ -16,7 +16,7 @@ PKG_LICENSE_FILES:=LICENSE-MIT PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_URL:=git://github.com/joyent/http-parser.git +PKG_SOURCE_URL:=https://github.com/nodejs/http-parser.git PKG_SOURCE_PROTO:=git PKG_SOURCE_VERSION:=56f7ad0e2e5a80f79d214015c91e1f17d11d109f diff --git a/libs/libsoxr/Makefile b/libs/libsoxr/Makefile index 9881fbb9d871..52cbf4779baf 100644 --- a/libs/libsoxr/Makefile +++ b/libs/libsoxr/Makefile @@ -13,7 +13,7 @@ PKG_VERSION:=0.1.1 PKG_RELEASE:=3 PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=git://git.code.sf.net/p/soxr/code +PKG_SOURCE_URL:=https://git.code.sf.net/p/soxr/code PKG_SOURCE_VERSION:=$(PKG_VERSION) PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz diff --git a/libs/protobuf-c/Makefile b/libs/protobuf-c/Makefile index 16b2f2be326e..e2d17c06ee16 100644 --- a/libs/protobuf-c/Makefile +++ b/libs/protobuf-c/Makefile @@ -13,7 +13,7 @@ PKG_RELEASE:=$(PKG_SOURCE_VERSION) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_URL:=git://github.com/protobuf-c/protobuf-c.git +PKG_SOURCE_URL:=https://github.com/protobuf-c/protobuf-c.git PKG_SOURCE_PROTO:=git PKG_SOURCE_VERSION:=$(PKG_VERSION) diff --git a/libs/yajl/Makefile b/libs/yajl/Makefile index f9a2877a034e..79bf9b6bc01b 100644 --- a/libs/yajl/Makefile +++ b/libs/yajl/Makefile @@ -18,7 +18,7 @@ PKG_REV:=66cb08ca2ad8581080b626a75dfca266a890afb2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_VERSION:=$(PKG_REV) -PKG_SOURCE_URL:=git://github.com/lloyd/yajl.git +PKG_SOURCE_URL:=https://github.com/lloyd/yajl.git PKG_SOURCE_PROTO:=git include $(INCLUDE_DIR)/package.mk diff --git a/net/acme/Makefile b/net/acme/Makefile index 9d35f8005fcd..a75b5b5bafc4 100644 --- a/net/acme/Makefile +++ b/net/acme/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PKG_LICENSE:=GPLv3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE).tar.xz -PKG_SOURCE_URL:=git://github.com/Neilpang/acme.sh.git +PKG_SOURCE_URL:=https://github.com/Neilpang/acme.sh.git PKG_SOURCE_PROTO:=git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE) PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE) diff --git a/net/coova-chilli/Makefile b/net/coova-chilli/Makefile index b926a1d0843d..ed54eb010ed2 100644 --- a/net/coova-chilli/Makefile +++ b/net/coova-chilli/Makefile @@ -15,7 +15,7 @@ PKG_LICENSE_FILES:=COPYING PKG_RELEASE:=4 PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=git://github.com/coova/coova-chilli +PKG_SOURCE_URL:=https://github.com/coova/coova-chilli PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_VERSION:=b93de20a288c01c2ba28e96e31ad6da01627f45f PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz diff --git
[LEDE-DEV] [PATCH] routing: Use https instead of git
From: Alexey Brodkin On some [especially corporate] networks non-standard ports are blocked and git is one of them. So switch to more convenient https transport. Signed-off-by: Alexey Brodkin --- batmand/Makefile| 2 +- bmx6/Makefile | 2 +- bmx7/Makefile | 2 +- mcproxy/Makefile| 2 +- minimalist-pcproxy/Makefile | 2 +- mrd6/Makefile | 2 +- nodogsplash/Makefile| 2 +- ohybridproxy/Makefile | 2 +- vis/Makefile| 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/batmand/Makefile b/batmand/Makefile index b4ed30171041..425d35594303 100644 --- a/batmand/Makefile +++ b/batmand/Makefile @@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=batmand PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=git://git.open-mesh.org/batmand.git +PKG_SOURCE_URL:=https://git.open-mesh.org/batmand.git PKG_REV:=b67a7087b51d7a5e90d27ac39116d1f57257c86e PKG_VERSION:=1440 PKG_RELEASE:=0 diff --git a/bmx6/Makefile b/bmx6/Makefile index 425c298cde13..52a83addafcc 100644 --- a/bmx6/Makefile +++ b/bmx6/Makefile @@ -29,7 +29,7 @@ PKG_NAME:=bmx6 PKG_SOURCE_PROTO:=git #PKG_SOURCE_URL:=git://bmx6.net/bmx6.git -PKG_SOURCE_URL:=git://github.com/axn/bmx6.git +PKG_SOURCE_URL:=https://github.com/axn/bmx6.git PKG_REV:=2a87b770d3f9c254e3927dc159e2f425f2e0e83a PKG_VERSION:=r2015080701 diff --git a/bmx7/Makefile b/bmx7/Makefile index 215ec727562c..ef3a0a1c7472 100644 --- a/bmx7/Makefile +++ b/bmx7/Makefile @@ -28,7 +28,7 @@ PKG_NAME:=bmx7 PKG_SOURCE_PROTO:=git #PKG_SOURCE_URL:=git://bmx6.net/bmx6.git -PKG_SOURCE_URL:=git://github.com/axn/bmx6.git +PKG_SOURCE_URL:=https://github.com/axn/bmx6.git #PKG_SOURCE_URL:=file:///usr/src/bmx6/bmx6.git PKG_REV:=589ee21b49d370056a24d8931d663626608f3c12 diff --git a/mcproxy/Makefile b/mcproxy/Makefile index c155055a0269..d709097d2e9a 100644 --- a/mcproxy/Makefile +++ b/mcproxy/Makefile @@ -13,7 +13,7 @@ PKG_VERSION:=2014-12-31-$(PKG_SOURCE_VERSION) PKG_RELEASE:=3 PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=git://github.com/mcproxy/mcproxy.git +PKG_SOURCE_URL:=https://github.com/mcproxy/mcproxy.git PKG_MAINTAINER:=Steven Barth PKG_LICENSE:=GPL-2.0+ diff --git a/minimalist-pcproxy/Makefile b/minimalist-pcproxy/Makefile index 36faa8d802e4..8b8cf24c7bd4 100644 --- a/minimalist-pcproxy/Makefile +++ b/minimalist-pcproxy/Makefile @@ -12,7 +12,7 @@ PKG_VERSION:=2015-01-12-$(PKG_SOURCE_VERSION) PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=git://github.com/fingon/minimalist-pcproxy.git +PKG_SOURCE_URL:=https://github.com/fingon/minimalist-pcproxy.git PKG_MAINTAINER:=Markus Stenberg PKG_LICENSE:=GPL-2.0 diff --git a/mrd6/Makefile b/mrd6/Makefile index a20ea26ab2a1..a617e5e90d0f 100644 --- a/mrd6/Makefile +++ b/mrd6/Makefile @@ -13,7 +13,7 @@ PKG_VERSION:=2013-11-30-$(PKG_SOURCE_VERSION) PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=git://github.com/hugosantos/mrd6.git +PKG_SOURCE_URL:=https://github.com/hugosantos/mrd6.git PKG_MAINTAINER:=Steven Barth PKG_LICENSE:=GPL-2.0+ diff --git a/nodogsplash/Makefile b/nodogsplash/Makefile index 971fbac8fe78..edadb8731608 100644 --- a/nodogsplash/Makefile +++ b/nodogsplash/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=2 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=git://github.com/nodogsplash/nodogsplash.git +PKG_SOURCE_URL:=https://github.com/nodogsplash/nodogsplash.git PKG_SOURCE_VERSION:=485d6dba05cce7a4ed87c28beaaf1199c0f832cf PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_BUILD_PARALLEL:=1 diff --git a/ohybridproxy/Makefile b/ohybridproxy/Makefile index 7d88f5d862ec..ea23137f3111 100644 --- a/ohybridproxy/Makefile +++ b/ohybridproxy/Makefile @@ -12,7 +12,7 @@ PKG_VERSION:=2016-06-28-$(PKG_SOURCE_VERSION) PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=git://github.com/sbyx/ohybridproxy.git +PKG_SOURCE_URL:=https://github.com/sbyx/ohybridproxy.git PKG_MAINTAINER:=Steven Barth PKG_LICENSE:=GPL-2.0 diff --git a/vis/Makefile b/vis/Makefile index 316224a39f27..af58f5e00390 100644 --- a/vis/Makefile +++ b/vis/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=vis PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=git://git.open-mesh.org/vis.git +PKG_SOURCE_URL:=https://git.open-mesh.org/vis.git PKG_REV:=e141311c6a4fc824efbad536c137ed279905d825 PKG_VERSION:=1440 PKG_RELEASE:=0 -- 2.7.4 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] telephony: Use https instead of git
From: Alexey Brodkin On some [especially corporate] networks non-standard ports are blocked and git is one of them. So switch to more convenient https transport. Signed-off-by: Alexey Brodkin --- net/rtpproxy/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/rtpproxy/Makefile b/net/rtpproxy/Makefile index 7b4fe90e9dc5..6f1e796b0502 100644 --- a/net/rtpproxy/Makefile +++ b/net/rtpproxy/Makefile @@ -12,7 +12,7 @@ PKG_VERSION:=2.0.0 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=git://github.com/sippy/rtpproxy.git +PKG_SOURCE_URL:=https://github.com/sippy/rtpproxy.git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_VERSION:=d5926892630139bcbe55d1f3fa36764c881648bc PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz -- 2.7.4 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [OpenWrt-Devel] [PATCH] packages: Use https instead of git
Hi Imre, On Wed, 2017-02-15 at 13:20 +0100, Imre Kaloz wrote: > Hi Alexey, > > On 2017-02-15 11:11, Alexey Brodkin wrote: > > > > From: Alexey Brodkin > > > > On some [especially corporate] networks non-standard ports are blocked > > and git is one of them. So switch to more convenient https transport. > > > > Signed-off-by: Alexey Brodkin > > Please make this a configuration option instead. Why add another option? What is a difference between https vs git for getting stuff from git repos? As long as you don't need to push your commits https is fine. But given we just pack tarballs from git repos there's no sense in pure git protocol, no? -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] packages/utils/cryptodev-linux: Update to current master
From: Alexey Brodkin This allows us to build kernel's crypto modules in Linux v4.9. Otherwise we're seeing the following breakage: --->8- ...//openwrt/build_dir/target-arc_arc700_uClibc/linux-arc770_generic/cryptodev-linux-1.8/cryptlib.c: In function 'cryptodev_cipher_init': ...//openwrt/build_dir/target-arc_arc700_uClibc/linux-arc770_generic/cryptodev-linux-1.8/cryptlib.c:138:18: error: implicit declaration of function 'crypto_alloc_ablkcipher' [-Werror=implicit-function-declaration] out->async.s = crypto_alloc_ablkcipher(alg_name, 0, 0); ^~~ ...//openwrt/build_dir/target-arc_arc700_uClibc/linux-arc770_generic/cryptodev-linux-1.8/cryptlib.c:138:16: warning: assignment makes pointer from integer without a cast [-Wint-conversion] out->async.s = crypto_alloc_ablkcipher(alg_name, 0, 0); ^ cc1: some warnings being treated as errors --->8- Actual fix is in https://github.com/cryptodev-linux/cryptodev-linux/commit/6818263667ca488f9b1c86e36ea624c4ea1c309f but given amount of changes since 1.8 release adaptation of this patch requires quite a lot of changes and so let's just grab latest sources from git. Signed-off-by: Alexey Brodkin Signed-off-by: Alexey Brodkin --- utils/cryptodev-linux/Makefile | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/utils/cryptodev-linux/Makefile b/utils/cryptodev-linux/Makefile index 4f187c8..1cbf282 100644 --- a/utils/cryptodev-linux/Makefile +++ b/utils/cryptodev-linux/Makefile @@ -10,12 +10,12 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=cryptodev-linux -PKG_VERSION:=1.8 -PKG_RELEASE:=2 - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=http://download.gna.org/cryptodev-linux/ -PKG_MD5SUM:=02644cc4cd02301e0b503a332eb2f0b5 +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL=https://github.com/cryptodev-linux/cryptodev-linux.git +PKG_SOURCE_DATE:=2016-11-17 +PKG_SOURCE_VERSION:=6818263667ca488f9b1c86e36ea624c4ea1c309f +PKG_MIRROR_HASH:=53034831b0936b0b5ad07030337bd0e7a62b407d4e1dee9385aa3b806ef553fa +PKG_VERSION=$(PKG_SOURCE_DATE)-$(call version_abbrev,$(PKG_SOURCE_VERSION)) PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) -- 2.10.2 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] toolchain/arc: update to the most recent release arc-2016.09
arc-2016.09 is the most recent toolchain for ARC cores and it is based on top of upstream Binutils 2.27 and GCC 6.2.1. With updated major version of GCC we copied all GCC 6.x patches for ARC as well as Bintils 2.27 patches. Note that toochain sports ARCv4 ABI and so must be used with 4.8+ Linux kernels. Even though it will build v4.4 kernel perfectly fine on attempt to run user-space apps they won't work with older kernel. That said previuosly sent RFC patches with Linux kernel update are required: [1] https://patchwork.ozlabs.org/patch/726686/ [2] https://patchwork.ozlabs.org/patch/726687/ Signed-off-by: Alexey Brodkin --- package/devel/gdb-arc/Makefile | 6 +- toolchain/binutils/Config.in | 8 +- toolchain/binutils/Config.version | 4 +- toolchain/binutils/Makefile| 12 +- .../arc-2016.03/200-arc-fix-target-mask.patch | 13 -- .../300-001_ld_makefile_patch.patch| 22 +++ .../300-012_check_ldrunpath_length.patch | 20 +++ toolchain/gcc/Config.in| 15 +- toolchain/gcc/Config.version | 8 +- toolchain/gcc/common.mk| 10 +- .../patches/arc-2016.03/002-weak_data_fix.patch| 42 - .../arc-2016.03/003-universal_initializer.patch| 94 --- .../patches/arc-2016.03/020-no-plt-backport.patch | 28 .../210-disable_libsanitizer_off_t_check.patch | 11 -- .../arc-2016.03/800-arc-disablelibgmon.patch | 18 -- .../gcc/patches/arc-2016.03/860-use_eh_frame.patch | 42 - .../arc-2016.03/920-specs_nonfatal_getenv.patch| 14 -- .../arc-2016.03/950-fix-building-with-gcc6.patch | 153 - .../001-revert_register_mode_search.patch | 2 +- .../002-case_insensitive.patch}| 0 .../010-documentation.patch| 2 +- .../arc-2016.09-release/230-musl_libssp.patch | 13 ++ .../280-musl-disable-ifunc-by-default.patch| 36 .../300-mips_Os_cpu_rtx_cost_model.patch | 11 ++ .../800-arm_v5te_no_ldrd_strd.patch| 11 ++ .../810-arm-softfloat-libgcc.patch | 25 +++ .../820-libgcc_pic.patch | 8 +- .../830-arm_unbreak_armv4t.patch | 13 ++ .../840-armv4_pass_fix-v4bx_to_ld.patch| 19 +++ .../850-use_shared_libgcc.patch| 16 +- .../851-libgcc_no_compat.patch | 0 .../870-ppc_no_crtsavres.patch | 2 +- .../880-no_java_section.patch | 2 +- .../arc-2016.09-release/881-no_tm_section.patch| 11 ++ .../arc-2016.09-release/900-bad-mips16-crt.patch | 9 + .../910-mbsd_multi.patch | 83 +++--- .../920-specs_nonfatal_getenv.patch| 15 ++ .../930-fix-mips-noexecstack.patch | 111 + .../940-no-clobber-stamp-bits.patch| 2 +- .../950-cpp_file_path_translation.patch| 182 + toolchain/gdb/Makefile | 6 +- 41 files changed, 573 insertions(+), 526 deletions(-) delete mode 100644 toolchain/binutils/patches/arc-2016.03/200-arc-fix-target-mask.patch create mode 100644 toolchain/binutils/patches/arc-2016.09-release/300-001_ld_makefile_patch.patch create mode 100644 toolchain/binutils/patches/arc-2016.09-release/300-012_check_ldrunpath_length.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/002-weak_data_fix.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/003-universal_initializer.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/020-no-plt-backport.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/210-disable_libsanitizer_off_t_check.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/800-arc-disablelibgmon.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/860-use_eh_frame.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/920-specs_nonfatal_getenv.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/950-fix-building-with-gcc6.patch rename toolchain/gcc/patches/{arc-2016.03 => arc-2016.09-release}/001-revert_register_mode_search.patch (97%) rename toolchain/gcc/patches/{arc-2016.03/004-case_insensitive.patch => arc-2016.09-release/002-case_insensitive.patch} (100%) rename toolchain/gcc/patches/{arc-2016.03 => arc-2016.09-release}/010-documentation.patch (91%) create mode 100644 toolchain/gcc/patches/arc-2016.09-release/230-musl_libssp.patch create mode 100644 toolchain/gcc/patches/arc-2016.09-release/280-musl-disable-ifunc-by-default.patch create mode 100644 toolchain/gcc/patches/arc-2016.09-release/300-mips_Os_cpu_rtx_cost_model.patch create mode 100644 toolchain/gcc/patches/arc-2016.09-release/800-arm_v5te_no_ldrd_strd.patch create mode 100644
Re: [LEDE-DEV] [PATCH] packages/utils/cryptodev-linux: Update to current master
Hi John, On Mon, 2017-02-20 at 09:24 +0100, John Crispin wrote: > > On 15/02/2017 14:19, Alexey Brodkin wrote: > > > > From: Alexey Brodkin > > > > This allows us to build kernel's crypto modules in Linux v4.9. > > Otherwise we're seeing the following breakage: > > --->8- > > ...//openwrt/build_dir/target-arc_arc700_uClibc/linux-arc770_generic/cryptodev-linux-1.8/cryptlib.c: > > In function > > 'cryptodev_cipher_init': > > ...//openwrt/build_dir/target-arc_arc700_uClibc/linux-arc770_generic/cryptodev-linux-1.8/cryptlib.c:138:18: > > error: > > implicit declaration of function 'crypto_alloc_ablkcipher' > > [-Werror=implicit-function-declaration] > > out->async.s = crypto_alloc_ablkcipher(alg_name, 0, 0); > > ^~~ > > ...//openwrt/build_dir/target-arc_arc700_uClibc/linux-arc770_generic/cryptodev-linux-1.8/cryptlib.c:138:16: > > warning: > > assignment makes pointer from integer without a cast [-Wint-conversion] > > out->async.s = crypto_alloc_ablkcipher(alg_name, 0, 0); > > ^ > > cc1: some warnings being treated as errors > > --->8- > > > > Actual fix is in > > https://github.com/cryptodev-linux/cryptodev-linux/commit/6818263667ca488f9b1c86e36ea624c4ea1c309f > > but given amount of changes since 1.8 release adaptation of this patch > > requires quite a lot of changes and so let's just grab latest sources > > from git. > > > > Signed-off-by: Alexey Brodkin > > Signed-off-by: Alexey Brodkin > > --- > > utils/cryptodev-linux/Makefile | 12 ++-- > > 1 file changed, 6 insertions(+), 6 deletions(-) > > > > diff --git a/utils/cryptodev-linux/Makefile b/utils/cryptodev-linux/Makefile > > index 4f187c8..1cbf282 100644 > > --- a/utils/cryptodev-linux/Makefile > > +++ b/utils/cryptodev-linux/Makefile > > @@ -10,12 +10,12 @@ include $(TOPDIR)/rules.mk > > include $(INCLUDE_DIR)/kernel.mk > > > > PKG_NAME:=cryptodev-linux > > -PKG_VERSION:=1.8 > > -PKG_RELEASE:=2 > > - > > -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz > > -PKG_SOURCE_URL:=http://download.gna.org/cryptodev-linux/ > > -PKG_MD5SUM:=02644cc4cd02301e0b503a332eb2f0b5 > > +PKG_SOURCE_PROTO:=git > > +PKG_SOURCE_URL=https://github.com/cryptodev-linux/cryptodev-linux.git > > Hi, > > is this the official repo ? i would prefer to not pull from github if > possible Looking at their official web-site http://cryptodev-linux.org/download.html I would think https://github.com/cryptodev-linux/cryptodev-linux is their official git repo. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH v2] toolchain/arc: update to the most recent release arc-2016.09
arc-2016.09 is the most recent toolchain for ARC cores and it is based on top of upstream Binutils 2.27 and GCC 6.2.1. With updated major version of GCC we copied all GCC 6.x patches for ARC as well as Bintils 2.27 patches. Note that toochain sports ARCv4 ABI and so must be used with 4.8+ Linux kernels. Even though it will build v4.4 kernel perfectly fine on attempt to run user-space apps they won't work with older kernel. That said previuosly sent RFC patches with Linux kernel update are required: [1] https://patchwork.ozlabs.org/patch/726686/ [2] https://patchwork.ozlabs.org/patch/726687/ Signed-off-by: Alexey Brodkin --- Changes v1 -> v2: * GCC_USE_GRAPHITE option is restored, only dependency on !GCC_VERSION_4_8_ARC is now removed. package/devel/gdb-arc/Makefile | 6 +- toolchain/binutils/Config.in | 8 +- toolchain/binutils/Config.version | 4 +- toolchain/binutils/Makefile| 12 +- .../arc-2016.03/200-arc-fix-target-mask.patch | 13 -- .../300-001_ld_makefile_patch.patch| 22 +++ .../300-012_check_ldrunpath_length.patch | 20 +++ toolchain/gcc/Config.in| 11 +- toolchain/gcc/Config.version | 8 +- toolchain/gcc/common.mk| 10 +- .../patches/arc-2016.03/002-weak_data_fix.patch| 42 - .../arc-2016.03/003-universal_initializer.patch| 94 --- .../patches/arc-2016.03/020-no-plt-backport.patch | 28 .../210-disable_libsanitizer_off_t_check.patch | 11 -- .../arc-2016.03/800-arc-disablelibgmon.patch | 18 -- .../gcc/patches/arc-2016.03/860-use_eh_frame.patch | 42 - .../arc-2016.03/920-specs_nonfatal_getenv.patch| 14 -- .../arc-2016.03/950-fix-building-with-gcc6.patch | 153 - .../001-revert_register_mode_search.patch | 2 +- .../002-case_insensitive.patch}| 0 .../010-documentation.patch| 2 +- .../arc-2016.09-release/230-musl_libssp.patch | 13 ++ .../280-musl-disable-ifunc-by-default.patch| 36 .../300-mips_Os_cpu_rtx_cost_model.patch | 11 ++ .../800-arm_v5te_no_ldrd_strd.patch| 11 ++ .../810-arm-softfloat-libgcc.patch | 25 +++ .../820-libgcc_pic.patch | 8 +- .../830-arm_unbreak_armv4t.patch | 13 ++ .../840-armv4_pass_fix-v4bx_to_ld.patch| 19 +++ .../850-use_shared_libgcc.patch| 16 +- .../851-libgcc_no_compat.patch | 0 .../870-ppc_no_crtsavres.patch | 2 +- .../880-no_java_section.patch | 2 +- .../arc-2016.09-release/881-no_tm_section.patch| 11 ++ .../arc-2016.09-release/900-bad-mips16-crt.patch | 9 + .../910-mbsd_multi.patch | 83 +++--- .../920-specs_nonfatal_getenv.patch| 15 ++ .../930-fix-mips-noexecstack.patch | 111 + .../940-no-clobber-stamp-bits.patch| 2 +- .../950-cpp_file_path_translation.patch| 182 + toolchain/gdb/Makefile | 6 +- 41 files changed, 573 insertions(+), 522 deletions(-) delete mode 100644 toolchain/binutils/patches/arc-2016.03/200-arc-fix-target-mask.patch create mode 100644 toolchain/binutils/patches/arc-2016.09-release/300-001_ld_makefile_patch.patch create mode 100644 toolchain/binutils/patches/arc-2016.09-release/300-012_check_ldrunpath_length.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/002-weak_data_fix.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/003-universal_initializer.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/020-no-plt-backport.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/210-disable_libsanitizer_off_t_check.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/800-arc-disablelibgmon.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/860-use_eh_frame.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/920-specs_nonfatal_getenv.patch delete mode 100644 toolchain/gcc/patches/arc-2016.03/950-fix-building-with-gcc6.patch rename toolchain/gcc/patches/{arc-2016.03 => arc-2016.09-release}/001-revert_register_mode_search.patch (97%) rename toolchain/gcc/patches/{arc-2016.03/004-case_insensitive.patch => arc-2016.09-release/002-case_insensitive.patch} (100%) rename toolchain/gcc/patches/{arc-2016.03 => arc-2016.09-release}/010-documentation.patch (91%) create mode 100644 toolchain/gcc/patches/arc-2016.09-release/230-musl_libssp.patch create mode 100644 toolchain/gcc/patches/arc-2016.09-release/280-musl-disable-ifunc-by-default.patch create mode 100644 toolchain/gcc/patches/arc-2016.09-release/300-mips_Os_cpu_rtx_cost_model.p
[LEDE-DEV] [PATCH 0/2] ARC: Bump Linux kernel to v4.9
Now when Linux kernel v4.9 is adopted in Lede/OpenWrt we may safly and very easy switch to it for ARC boards. Alexey Brodkin (2): target/archs38: switch to 4.9 kernel target/arc770: switch to 4.9 kernel target/linux/arc770/Makefile | 2 +- target/linux/arc770/{config-4.4 => config-4.9} | 44 - ...stmmac-Disable-frame-filtering-completely.patch | 0 target/linux/archs38/Makefile | 2 +- target/linux/archs38/{config-4.4 => config-4.9}| 55 +++--- ...stmmac-Disable-frame-filtering-completely.patch | 0 6 files changed, 72 insertions(+), 31 deletions(-) rename target/linux/arc770/{config-4.4 => config-4.9} (82%) rename target/linux/arc770/{patches-4.4 => patches-4.9}/700-stmmac-Disable-frame-filtering-completely.patch (100%) rename target/linux/archs38/{config-4.4 => config-4.9} (80%) rename target/linux/archs38/{patches-4.4 => patches-4.9}/700-stmmac-Disable-frame-filtering-completely.patch (100%) -- 2.11.0 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH 1/2] target/archs38: switch to 4.9 kernel
With update of ARC tools to arc-2016.09 based on GCC v6.x we have to bump Linux kernel version so both toolchain and the kernel use the same ARC ABIv4. Signed-off-by: Alexey Brodkin --- target/linux/archs38/Makefile | 2 +- target/linux/archs38/{config-4.4 => config-4.9}| 55 +++--- ...stmmac-Disable-frame-filtering-completely.patch | 0 3 files changed, 39 insertions(+), 18 deletions(-) rename target/linux/archs38/{config-4.4 => config-4.9} (80%) rename target/linux/archs38/{patches-4.4 => patches-4.9}/700-stmmac-Disable-frame-filtering-completely.patch (100%) diff --git a/target/linux/archs38/Makefile b/target/linux/archs38/Makefile index be0d722893..ef1785217f 100644 --- a/target/linux/archs38/Makefile +++ b/target/linux/archs38/Makefile @@ -13,7 +13,7 @@ BOARDNAME:=Synopsys DesignWare ARC HS38 MAINTAINER:=Alexey Brodkin SUBTARGETS:=generic -KERNEL_PATCHVER:=4.4 +KERNEL_PATCHVER:=4.9 DEVICE_TYPE:=developerboard diff --git a/target/linux/archs38/config-4.4 b/target/linux/archs38/config-4.9 similarity index 80% rename from target/linux/archs38/config-4.4 rename to target/linux/archs38/config-4.9 index a09c7c4b61..311315e44c 100644 --- a/target/linux/archs38/config-4.4 +++ b/target/linux/archs38/config-4.9 @@ -1,9 +1,8 @@ # CONFIG_16KSTACKS is not set CONFIG_ARC=y -CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set # CONFIG_ARCH_HAS_GCOV_PROFILE_ALL is not set # CONFIG_ARCH_HAS_SG_CHAIN is not set -CONFIG_ARCH_REQUIRE_GPIOLIB=y CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y CONFIG_ARC_BUILTIN_DTB_NAME="" CONFIG_ARC_CACHE=y @@ -13,23 +12,20 @@ CONFIG_ARC_CACHE_PAGES=y CONFIG_ARC_CPU_HS=y CONFIG_ARC_CURR_IN_REG=y CONFIG_ARC_DBG=y -# CONFIG_ARC_DBG_TLB_MISS_COUNT is not set # CONFIG_ARC_DBG_TLB_PARANOIA is not set CONFIG_ARC_DW2_UNWIND=y CONFIG_ARC_HAS_COH_CACHES=y CONFIG_ARC_HAS_DCACHE=y # CONFIG_ARC_HAS_DCCM is not set CONFIG_ARC_HAS_DIV_REM=y -CONFIG_ARC_HAS_GRTC=y -CONFIG_ARC_HAS_HW_MPY=y +CONFIG_ARC_HAS_GFRC=y CONFIG_ARC_HAS_ICACHE=y # CONFIG_ARC_HAS_ICCM is not set CONFIG_ARC_HAS_LL64=y CONFIG_ARC_HAS_LLSC=y # CONFIG_ARC_HAS_PAE40 is not set -# CONFIG_ARC_HAS_REENTRANT_IRQ_LV2 is not set CONFIG_ARC_HAS_SWAPE=y -# CONFIG_ARC_IPI_DBG is not set +CONFIG_ARC_KVADDR_SIZE=256 CONFIG_ARC_MCIP=y # CONFIG_ARC_METAWARE_HLINK is not set CONFIG_ARC_MMU_V4=y @@ -38,43 +34,50 @@ CONFIG_ARC_NUMBER_OF_INTERRUPTS=32 # CONFIG_ARC_PAGE_SIZE_4K is not set CONFIG_ARC_PAGE_SIZE_8K=y CONFIG_ARC_PLAT_AXS10X=y +# CONFIG_ARC_PLAT_EZNPS is not set CONFIG_ARC_PLAT_SIM=y # CONFIG_ARC_PLAT_TB10X is not set # CONFIG_ARC_SMP_HALT_ON_RESET is not set -CONFIG_ARC_STAR_9000923308=y CONFIG_ARC_UBOOT_SUPPORT=y CONFIG_AXS103=y CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y CONFIG_CLONE_BACKWARDS=y CONFIG_COMMON_CLK=y # CONFIG_CPU_BIG_ENDIAN is not set CONFIG_CPU_RMAP=y CONFIG_CRC16=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_NULL2=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_WORKQUEUE=y CONFIG_DTC=y CONFIG_DWMAC_GENERIC=y -# CONFIG_DWMAC_SUNXI is not set CONFIG_DW_APB_ICTL=y CONFIG_EXT4_FS=y +# CONFIG_EZNPS_GIC is not set +CONFIG_FIXED_PHY=y CONFIG_FS_MBCACHE=y -CONFIG_GENERIC_ATOMIC64=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CSUM=y CONFIG_GENERIC_FIND_FIRST_BIT=y CONFIG_GENERIC_IO=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_PCI_IOMAP=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_GENERIC_SMP_IDLE_THREAD=y -# CONFIG_GEN_RTC is not set CONFIG_GPIOLIB=y -CONFIG_GPIO_DEVRES=y CONFIG_GPIO_DWAPB=y CONFIG_GPIO_GENERIC=y +CONFIG_HANDLE_DOMAIN_IRQ=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set @@ -87,9 +90,8 @@ CONFIG_HAVE_CLK=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_HAVE_DEBUG_STACKOVERFLOW=y CONFIG_HAVE_FUTEX_CMPXCHG=y -# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_HAVE_GENERIC_DMA_COHERENT=y CONFIG_HAVE_IOREMAP_PROT=y -CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_HAVE_MEMBLOCK=y CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_HAVE_NET_DSA=y @@ -104,13 +106,17 @@ CONFIG_IRQ_WORK=y CONFIG_ISA_ARCV2=y CONFIG_JBD2=y CONFIG_KALLSYMS=y +CONFIG_KERNEL_GZIP=y +# CONFIG_LEDS_TRIGGER_MTD is not set CONFIG_LIBFDT=y CONFIG_LINUX_LINK_BASE=0x8000 CONFIG_LOCK_SPIN_ON_OWNER=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y CONFIG_MDIO_BOARDINFO=y +# CONFIG_MDIO_HISI_FEMAC is not set CONFIG_MFD_SYSCON=y +CONFIG_MIGHT_HAVE_PCI=y CONFIG_MMC=y CONFIG_MMC_BLOCK=y CONFIG_MMC_DW=y @@ -120,6 +126,7 @@ CONFIG_MMC_DW_PLTFM=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MODULES_USE_ELF_RELA=y +# CONFIG_MTD_PHYSMAP_OF_VERSATILE is not set CONFIG_MUTEX_SPIN_ON_OWNER=y CONFIG_NATIONAL_PHY=y # CONFIG_NET_CADENCE is not set @@ -147,8 +154,11 @@ CONFIG_OF_FLATTREE=y CONFIG_OF_GPIO
[LEDE-DEV] [PATCH 2/2] target/arc770: switch to 4.9 kernel
With update of ARC tools to arc-2016.09 based on GCC v6.x we have to bump Linux kernel version so both toolchain and the kernel use the same ARC ABIv4. Signed-off-by: Alexey Brodkin --- target/linux/arc770/Makefile | 2 +- target/linux/arc770/{config-4.4 => config-4.9} | 44 -- ...stmmac-Disable-frame-filtering-completely.patch | 0 3 files changed, 33 insertions(+), 13 deletions(-) rename target/linux/arc770/{config-4.4 => config-4.9} (82%) rename target/linux/arc770/{patches-4.4 => patches-4.9}/700-stmmac-Disable-frame-filtering-completely.patch (100%) diff --git a/target/linux/arc770/Makefile b/target/linux/arc770/Makefile index 6492529503..8b164f4ccf 100644 --- a/target/linux/arc770/Makefile +++ b/target/linux/arc770/Makefile @@ -12,7 +12,7 @@ BOARDNAME:=Synopsys DesignWare ARC 770D MAINTAINER:=Alexey Brodkin SUBTARGETS:=generic -KERNEL_PATCHVER:=4.4 +KERNEL_PATCHVER:=4.9 DEVICE_TYPE:=developerboard diff --git a/target/linux/arc770/config-4.4 b/target/linux/arc770/config-4.9 similarity index 82% rename from target/linux/arc770/config-4.4 rename to target/linux/arc770/config-4.9 index f484de30be..2472ce28e4 100644 --- a/target/linux/arc770/config-4.4 +++ b/target/linux/arc770/config-4.9 @@ -1,9 +1,8 @@ # CONFIG_16KSTACKS is not set CONFIG_ARC=y -CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set # CONFIG_ARCH_HAS_GCOV_PROFILE_ALL is not set # CONFIG_ARCH_HAS_SG_CHAIN is not set -CONFIG_ARCH_REQUIRE_GPIOLIB=y CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y CONFIG_ARC_BUILTIN_DTB_NAME="" CONFIG_ARC_CACHE=y @@ -16,18 +15,17 @@ CONFIG_ARC_CACHE_PAGES=y CONFIG_ARC_CPU_770=y CONFIG_ARC_CURR_IN_REG=y CONFIG_ARC_DBG=y -# CONFIG_ARC_DBG_TLB_MISS_COUNT is not set # CONFIG_ARC_DBG_TLB_PARANOIA is not set CONFIG_ARC_DW2_UNWIND=y CONFIG_ARC_EMUL_UNALIGNED=y # CONFIG_ARC_FPU_SAVE_RESTORE is not set CONFIG_ARC_HAS_DCACHE=y # CONFIG_ARC_HAS_DCCM is not set -CONFIG_ARC_HAS_HW_MPY=y CONFIG_ARC_HAS_ICACHE=y # CONFIG_ARC_HAS_ICCM is not set CONFIG_ARC_HAS_LLSC=y CONFIG_ARC_HAS_SWAPE=y +CONFIG_ARC_KVADDR_SIZE=256 # CONFIG_ARC_METAWARE_HLINK is not set # CONFIG_ARC_MMU_V1 is not set # CONFIG_ARC_MMU_V2 is not set @@ -36,14 +34,18 @@ CONFIG_ARC_MMU_V3=y # CONFIG_ARC_PAGE_SIZE_4K is not set CONFIG_ARC_PAGE_SIZE_8K=y CONFIG_ARC_PLAT_AXS10X=y +# CONFIG_ARC_PLAT_EZNPS is not set CONFIG_ARC_PLAT_SIM=y # CONFIG_ARC_PLAT_TB10X is not set CONFIG_ARC_UBOOT_SUPPORT=y CONFIG_AXS101=y CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y CONFIG_CLONE_BACKWARDS=y CONFIG_COMMON_CLK=y # CONFIG_CPU_BIG_ENDIAN is not set +CONFIG_CPU_NO_EFFICIENT_FFS=y CONFIG_CRC16=y CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_HASH=y @@ -52,9 +54,10 @@ CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_WORKQUEUE=y CONFIG_DTC=y CONFIG_DWMAC_GENERIC=y -# CONFIG_DWMAC_SUNXI is not set CONFIG_DW_APB_ICTL=y CONFIG_EXT4_FS=y +# CONFIG_EZNPS_GIC is not set +CONFIG_FIXED_PHY=y CONFIG_FS_MBCACHE=y CONFIG_GENERIC_ATOMIC64=y CONFIG_GENERIC_CLOCKEVENTS=y @@ -63,12 +66,12 @@ CONFIG_GENERIC_FIND_FIRST_BIT=y CONFIG_GENERIC_IO=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_PCI_IOMAP=y CONFIG_GENERIC_SMP_IDLE_THREAD=y -# CONFIG_GEN_RTC is not set CONFIG_GPIOLIB=y -CONFIG_GPIO_DEVRES=y CONFIG_GPIO_DWAPB=y CONFIG_GPIO_GENERIC=y +CONFIG_HANDLE_DOMAIN_IRQ=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set @@ -80,9 +83,8 @@ CONFIG_HAVE_CLK=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_HAVE_DEBUG_STACKOVERFLOW=y CONFIG_HAVE_FUTEX_CMPXCHG=y -# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_HAVE_GENERIC_DMA_COHERENT=y CONFIG_HAVE_IOREMAP_PROT=y -CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_HAVE_MEMBLOCK=y CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_HAVE_NET_DSA=y @@ -97,12 +99,16 @@ CONFIG_ISA_ARCOMPACT=y # CONFIG_ISA_ARCV2 is not set CONFIG_JBD2=y CONFIG_KALLSYMS=y +CONFIG_KERNEL_GZIP=y +# CONFIG_LEDS_TRIGGER_MTD is not set CONFIG_LIBFDT=y CONFIG_LINUX_LINK_BASE=0x8000 CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y CONFIG_MDIO_BOARDINFO=y +# CONFIG_MDIO_HISI_FEMAC is not set CONFIG_MFD_SYSCON=y +CONFIG_MIGHT_HAVE_PCI=y CONFIG_MMC=y CONFIG_MMC_BLOCK=y CONFIG_MMC_DW=y @@ -112,6 +118,7 @@ CONFIG_MMC_DW_PLTFM=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MODULES_USE_ELF_RELA=y +# CONFIG_MTD_PHYSMAP_OF_VERSATILE is not set CONFIG_NATIONAL_PHY=y CONFIG_NEED_PER_CPU_KM=y # CONFIG_NET_CADENCE is not set @@ -137,8 +144,10 @@ CONFIG_OF_FLATTREE=y CONFIG_OF_GPIO=y CONFIG_OF_IRQ=y CONFIG_OF_MDIO=y -CONFIG_OF_MTD=y CONFIG_OF_NET=y +CONFIG_OF_RESERVED_MEM=y +# CONFIG_PCI is not set +# CONFIG_PCI_SYSCALL is not set CONFIG_PERF_USE_VMALLOC=y CONFIG_PGTABLE_LEVELS=2 CONFIG_PHYLIB=y @@ -148,13 +157,23 @@ CONFIG_PREEMPT_COUNT=y # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_RCU=y CONFIG_PTP_1588_CLOCK=y +CONFIG_PWRSEQ_EMMC=y +CONFIG_PWRSEQ_SIMPLE=y CONFIG_RATIONAL=y
Re: [LEDE-DEV] [PATCH 2/2] target/arc770: switch to 4.9 kernel
Hi Felix, On Tue, 2017-03-07 at 19:30 +0100, Felix Fietkau wrote: > On 2017-03-06 19:30, Alexey Brodkin wrote: > > > > With update of ARC tools to arc-2016.09 based on GCC v6.x > > we have to bump Linux kernel version so both toolchain and > > the kernel use the same ARC ABIv4. > > > > Signed-off-by: Alexey Brodkin > > --- > > target/linux/arc770/Makefile | 2 +- > > target/linux/arc770/{config-4.4 => config-4.9} | 44 > > -- > > ...stmmac-Disable-frame-filtering-completely.patch | 0 > > 3 files changed, 33 insertions(+), 13 deletions(-) > > rename target/linux/arc770/{config-4.4 => config-4.9} (82%) > > rename target/linux/arc770/{patches-4.4 => > > patches-4.9}/700-stmmac-Disable-frame-filtering-completely.patch (100%) > > > This does not build with CONFIG_ALL_KMODS=y: > > MODPOST 735 modules > ERROR: "of_usb_get_phy_mode" [drivers/usb/dwc3/dwc3.ko] undefined! > scripts/Makefile.modpost:91: recipe for target '__modpost' failed > make[5]: *** [__modpost] Error 1 > Makefile:1196: recipe for target 'modules' failed > make[4]: *** [modules] Error 2 > make[4]: Leaving directory > '/var/nbd/lede/build_dir/target-arc_arc700_uClibc/linux-arc770_generic/linux-4.9.13' > Makefile:25: recipe for target > '/var/nbd/lede/build_dir/target-arc_arc700_uClibc/linux-arc770_generic/linux-4.9.13/.image' > failed > make[3]: *** > [/var/nbd/lede/build_dir/target-arc_arc700_uClibc/linux-arc770_generic/linux-4.9.13/.image] > Error 2 > make[3]: Leaving directory '/var/nbd/lede/target/linux/arc770' > Makefile:13: recipe for target 'install' failed > > The cause is that of_usb_get_phy_mode is meant to be built into the > kernel, however since USB is selected as module, this won't work. > > Please send any follow-up fixes incrementally, and I will fold them > into the commit in my staging tree. Sorry for being silent for quite some time on that topic. It turned to be not that easy reproduce this... and to be honest I'm not there yet :) Now a bit more details. 1. For some reason once I enable CONFIG_ALL_KMODS somehow implicitly libnl gets enabled and its current version simply couldn't be built with uClibc, see http://lists.infradead.org/pipermail/libnl/2017-March/002301.html 2. Now I'm seeing this: ->8- make[4]: Entering directory `.../build_dir/target-arc_arc700_uClibc/linux-arc770_generic/linux-4.9.13' CC [M] .../build_dir/target-arc_arc700_uClibc/linux-arc770_generic/siit-1.2/siit.o .../build_dir/target-arc_arc700_uClibc/linux-arc770_generic/siit-1.2/siit.c: In function 'siit_xmit': .../build_dir/target-arc_arc700_uClibc/linux-arc770_generic/siit-1.2/siit.c:1169:5: error: 'struct net_device' has no member named 'trans_start'; did you mean 'mem_start'? dev->trans_start = jiffies; ^~ ->8- So I'm wondering: 1. How did you manage to get over these things (I may expect once I found a fix for this "siit" more issues appear :)? 2. How come we haven't see issues with ALL_KMOD with 4.4-based kernels? > By the way, when Cc'ing me, please use my @nbd.name address, not the > @openwrt.org one. Sure just used older command line erroneously. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH 2/2] target/arc770: switch to 4.9 kernel
Hi Felix, On Fri, 2017-03-10 at 16:10 +0100, Felix Fietkau wrote: > On 2017-03-10 16:00, Alexey Brodkin wrote: > > > > Hi Felix, > > > > On Tue, 2017-03-07 at 19:30 +0100, Felix Fietkau wrote: > > > > > > On 2017-03-06 19:30, Alexey Brodkin wrote: > > > > > > > > > > > > With update of ARC tools to arc-2016.09 based on GCC v6.x > > > > we have to bump Linux kernel version so both toolchain and > > > > the kernel use the same ARC ABIv4. > > > > > > > > Signed-off-by: Alexey Brodkin > > > > --- > > > > target/linux/arc770/Makefile | 2 +- > > > > target/linux/arc770/{config-4.4 => config-4.9} | 44 > > > > -- > > > > ...stmmac-Disable-frame-filtering-completely.patch | 0 > > > > 3 files changed, 33 insertions(+), 13 deletions(-) > > > > rename target/linux/arc770/{config-4.4 => config-4.9} (82%) > > > > rename target/linux/arc770/{patches-4.4 => > > > > patches-4.9}/700-stmmac-Disable-frame-filtering-completely.patch (100%) > > > > > > > This does not build with CONFIG_ALL_KMODS=y: > > > > > > MODPOST 735 modules > > > ERROR: "of_usb_get_phy_mode" [drivers/usb/dwc3/dwc3.ko] undefined! > > > scripts/Makefile.modpost:91: recipe for target '__modpost' failed > > > make[5]: *** [__modpost] Error 1 > > > Makefile:1196: recipe for target 'modules' failed > > > make[4]: *** [modules] Error 2 > > > make[4]: Leaving directory > > > '/var/nbd/lede/build_dir/target-arc_arc700_uClibc/linux-arc770_generic/linux-4.9.13' > > > Makefile:25: recipe for target > > > '/var/nbd/lede/build_dir/target-arc_arc700_uClibc/linux-arc770_generic/linux-4.9.13/.image' > > > failed > > > make[3]: *** > > > [/var/nbd/lede/build_dir/target-arc_arc700_uClibc/linux-arc770_generic/linux-4.9.13/.image] > > > Error 2 > > > make[3]: Leaving directory '/var/nbd/lede/target/linux/arc770' > > > Makefile:13: recipe for target 'install' failed > > > > > > The cause is that of_usb_get_phy_mode is meant to be built into the > > > kernel, however since USB is selected as module, this won't work. > > > > > > Please send any follow-up fixes incrementally, and I will fold them > > > into the commit in my staging tree. > > > > Sorry for being silent for quite some time on that topic. > > It turned to be not that easy reproduce this... and to be honest > > I'm not there yet :) > > > > Now a bit more details. > > > > 1. For some reason once I enable CONFIG_ALL_KMODS somehow implicitly > > libnl gets enabled and its current version simply couldn't be built > > with uClibc, see > > https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.infradead.org_pipermail_libnl_2017-2DMarch_002301.html&d=DwICaQ&c=DPL6_ > > X_6JkXFx7AXWqB0tg&r=lqdeeSSEes0GFDDl656eViXO7breS55ytWkhpk5R81I&m=Av73R0CdUxaXu6SIuxCefjNOP7Tna15aS9shJpYiMu0&s=hQbh1lrUWjbyWDe85RK94dK- > > 9GWyP9oDXTyxGxSbsws&e= > > > > 2. Now I'm seeing this: > > ->8- > > make[4]: Entering directory > > `.../build_dir/target-arc_arc700_uClibc/linux-arc770_generic/linux-4.9.13' > > CC [M] > > .../build_dir/target-arc_arc700_uClibc/linux-arc770_generic/siit-1.2/siit.o > > .../build_dir/target-arc_arc700_uClibc/linux-arc770_generic/siit-1.2/siit.c: > > In function 'siit_xmit': > > .../build_dir/target-arc_arc700_uClibc/linux-arc770_generic/siit-1.2/siit.c:1169:5: > > error: 'struct net_device' has no member named 'trans_start'; > > did > > you mean 'mem_start'? > > dev->trans_start = jiffies; > > ^~ > > ->8- > > > > So I'm wondering: > > 1. How did you manage to get over these things (I may expect once I found > > a fix for this "siit" more issues appear :)? > I did not run into these issues, because I was building without the > packages feed. Completely forgot about feeds, sorry. So what I did now was "./scripts/feed uninstall -a", selected ARC770 board, enabled CONFIG_ALL_KMOD and all got built perfectly fine for me. Any other ideas what's missing in my case? > > > > > 2. How come we haven't see issues with ALL_KMOD with 4.4-based kernels? > On linux 4.4, dwc3 didn't call that function. Ok that makes sense. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH 2/2] target/arc770: switch to 4.9 kernel
Hi Felix, On Fri, 2017-03-10 at 16:59 +0100, Felix Fietkau wrote: > On 2017-03-10 16:57, Alexey Brodkin wrote: > > > > Completely forgot about feeds, sorry. > > So what I did now was "./scripts/feed uninstall -a", selected ARC770 board, > > enabled CONFIG_ALL_KMOD and all got built perfectly fine for me. > > > > Any other ideas what's missing in my case? > Did you create a fresh config with that option selected? I think so because I 1. "rm -rf build_dir/ staging_dir/ bin/ tmp .config*" 2. "make menuconfig" where selected the board and ALL_KMODS -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] Failed to execute /usr/libexec/login.sh
Hi Daniel, Looks like one recent commit: ->8- commit a1860283b37c7a26f78c7387227a42219e8b4d4d Author: luka Date: Tue May 10 22:36:25 2016 + image / basefiles: make console password configurable Signed-off-by: Daniel Dickinson Signed-off-by: John Crispin git-svn-id: svn://svn.openwrt.org/openwrt/trunk@49325 3c298f89-4303-0410-b956-a3cf2f4a3e73 ->8- breaks something for my boards (in particular arc770-based boards). I'm unable to activate console now. That's what I'm getting every time I press ENTER: ->8- Failed to execute /usr/libexec/login.sh Please press Enter to activate this console. Failed to execute /usr/libexec/login.sh Please press Enter to activate this console. ->8- If I revert mentioned commit problem goes away. Any thoughts on what might be wrong here? Probably something is missing in my board's init scripts etc? -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [OpenWrt-Devel] Failed to execute /usr/libexec/login.sh
Hi Alvaro, Daniel, On Thu, 2016-05-12 at 08:36 +0200, Álvaro Fernández Rojas wrote: Hello Daniel, It looks like Luka has already fixed this: https://dev.openwrt.org/changeset/49376 Indeed mentioned commit fixes previously observed problem. Thanks for the pointer. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] include/kernel: Do not strip kernel's Elf
If an image gets built as an Elf there's a chance it will be used by developers for debugging purposes. In that case it's very helpful to keep debugging info in that image. I would think that most OWRT-powered devices in production will use some form of binary image for booting so Elf flavours could be left a bit bulkier with more debug info inside. Signed-off-by: Alexey Brodkin --- include/kernel-defaults.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk index 406fd46..0166dc5 100644 --- a/include/kernel-defaults.mk +++ b/include/kernel-defaults.mk @@ -142,7 +142,7 @@ endif define Kernel/CopyImage cmp -s $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux$(1).debug || { \ $(KERNEL_CROSS)objcopy -O binary $(OBJCOPY_STRIP) -S $(LINUX_DIR)/vmlinux $(LINUX_KERNEL)$(1); \ - $(KERNEL_CROSS)objcopy $(OBJCOPY_STRIP) -S $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux$(1).elf; \ + $(KERNEL_CROSS)objcopy $(OBJCOPY_STRIP) $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux$(1).elf; \ $(CP) $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux$(1).debug; \ $(foreach k, \ $(if $(KERNEL_IMAGES),$(KERNEL_IMAGES),$(filter-out dtbs,$(KERNELNAME))), \ -- 2.5.5 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH] include/kernel: Do not strip kernel's Elf
Hi Felix, On Wed, 2016-05-18 at 14:57 +0200, Felix Fietkau wrote: > On 2016-05-16 16:42, Alexey Brodkin wrote: > > > > If an image gets built as an Elf there's a chance > > it will be used by developers for debugging purposes. > > In that case it's very helpful to keep debugging info > > in that image. > > > > I would think that most OWRT-powered devices in production > > will use some form of binary image for booting so Elf > > flavours could be left a bit bulkier with more debug info > > inside. > > > > Signed-off-by: Alexey Brodkin > You can get the bulky one directly from the kernel source directory, and > there is definitely some value in having stripped ELF binaries as well > for devices that can load them. Well indeed in kernel's source directory we have an unstripped elf. But what happens at least in case of ARC we build only one kernel's elf and then as a post-built step we patch in .dtb for all boards we build OWRT. In other words in "bin/arc770-uClibc" folder I have: 1) openwrt-arc770-generic-axs101-initramfs.elf 2) openwrt-arc770-generic-nsim_700-initramfs.elf Both are stripped but work as they are on the corresponding boards. In "build_dir/target-arc_arc700_uClibc-1.0.9/linux-arc770_generic/linux-4.4.7/" I have perfectly unstripped vmlinux but it won't work on either board because of missing device tree blob. That means if one wants to get image for a board X with debug symbols he or she will need to do manual patching in of .dtb. Which is not the most convenient thing ever. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH] include/kernel: Do not strip kernel's Elf
Hi Felix, On Wed, 2016-05-18 at 15:49 +0200, Felix Fietkau wrote: > On 2016-05-18 15:06, Alexey Brodkin wrote: > > > > Hi Felix, > > > > On Wed, 2016-05-18 at 14:57 +0200, Felix Fietkau wrote: > > > > > > On 2016-05-16 16:42, Alexey Brodkin wrote: > > > > > > > > > > > > If an image gets built as an Elf there's a chance > > > > it will be used by developers for debugging purposes. > > > > In that case it's very helpful to keep debugging info > > > > in that image. > > > > > > > > I would think that most OWRT-powered devices in production > > > > will use some form of binary image for booting so Elf > > > > flavours could be left a bit bulkier with more debug info > > > > inside. > > > > > > > > Signed-off-by: Alexey Brodkin > > > You can get the bulky one directly from the kernel source directory, and > > > there is definitely some value in having stripped ELF binaries as well > > > for devices that can load them. > > Well indeed in kernel's source directory we have an unstripped elf. > > But what happens at least in case of ARC we build only one kernel's elf > > and then as a post-built step we patch in .dtb for all boards we build OWRT. > > > > In other words in "bin/arc770-uClibc" folder I have: > > 1) openwrt-arc770-generic-axs101-initramfs.elf > > 2) openwrt-arc770-generic-nsim_700-initramfs.elf > > > > Both are stripped but work as they are on the corresponding boards. > > > > In > > "build_dir/target-arc_arc700_uClibc-1.0.9/linux-arc770_generic/linux-4.4.7/" > > I have perfectly unstripped vmlinux but it won't work on either board > > because of > > missing device tree blob. > > > > That means if one wants to get image for a board X with debug symbols he or > > she > > will need to do manual patching in of .dtb. Which is not the most > > convenient thing ever. > It's a lot simpler than that: You can boot the stripped and patched elf > image from bin/ and use the vmlinux from the kernel source for the > debugger afterwards. They are fully compatible. Good point. So indeed if we do want stuff in "bin/" folder to be stripped that seems to be the simplest approach. But what if we with addition of another config option: a) toggle kernel's CONFIG_DEBUG_INFO b) use "--strip-unneeded" instead of currently used "-S" (which is an alias to "--strip-all"). -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] toolchain: Bump ARC tools to arc-2016.03
This change switches ARC tools to the most recent arc-2016.03 version. ARC GNU tools of version arc-2016.03 bring some quite significant changes like: * Binutils v2.26+ (upstream commit id 202ac19 with additional ARC * patches) * GCC v4.8.5 * GDB 7.10 More about changes, improvements and fixes could be found here: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2016.03 Signed-off-by: Alexey Brodkin --- toolchain/binutils/Config.in| 8 toolchain/binutils/Config.version | 4 ++-- toolchain/binutils/Makefile | 8 .../patches/arc-2016.03/200-arc-fix-target-mask.patch | 13 + toolchain/gcc/Config.version| 2 +- toolchain/gcc/common.mk | 8 .../001-revert_register_mode_search.patch | 0 .../{arc-2015.06 => arc-2016.03}/002-weak_data_fix.patch| 0 .../003-universal_initializer.patch | 0 .../{arc-2015.06 => arc-2016.03}/004-case_insensitive.patch | 0 .../{arc-2015.06 => arc-2016.03}/010-documentation.patch| 0 .../{arc-2015.06 => arc-2016.03}/020-no-plt-backport.patch | 0 .../{arc-2015.06 => arc-2016.03}/100-uclibc-conf.patch | 0 .../210-disable_libsanitizer_off_t_check.patch | 0 .../800-arc-disablelibgmon.patch| 0 .../{arc-2015.06 => arc-2016.03}/820-libgcc_pic.patch | 0 .../850-use_shared_libgcc.patch | 0 .../{arc-2015.06 => arc-2016.03}/851-libgcc_no_compat.patch | 0 .../{arc-2015.06 => arc-2016.03}/860-use_eh_frame.patch | 0 .../{arc-2015.06 => arc-2016.03}/870-ppc_no_crtsavres.patch | 0 .../{arc-2015.06 => arc-2016.03}/880-no_java_section.patch | 0 .../{arc-2015.06 => arc-2016.03}/910-mbsd_multi.patch | 0 .../920-specs_nonfatal_getenv.patch | 0 .../940-no-clobber-stamp-bits.patch | 0 toolchain/gdb/Makefile | 6 +++--- .../100-no_extern_inline.patch | 4 ++-- .../{arc-2015.06-gdb => arc-2016.03}/110-no_testsuite.patch | 4 ++-- .../120-fix-compile-flag-mismatch.patch | 2 +- .../gdb/patches/arc-2016.03/200-arc-fix-target-mask.patch | 13 + 29 files changed, 49 insertions(+), 23 deletions(-) create mode 100644 toolchain/binutils/patches/arc-2016.03/200-arc-fix-target-mask.patch rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/001-revert_register_mode_search.patch (100%) rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/002-weak_data_fix.patch (100%) rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/003-universal_initializer.patch (100%) rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/004-case_insensitive.patch (100%) rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/010-documentation.patch (100%) rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/020-no-plt-backport.patch (100%) rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/100-uclibc-conf.patch (100%) rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/210-disable_libsanitizer_off_t_check.patch (100%) rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/800-arc-disablelibgmon.patch (100%) rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/820-libgcc_pic.patch (100%) rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/850-use_shared_libgcc.patch (100%) rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/851-libgcc_no_compat.patch (100%) rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/860-use_eh_frame.patch (100%) rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/870-ppc_no_crtsavres.patch (100%) rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/880-no_java_section.patch (100%) rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/910-mbsd_multi.patch (100%) rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/920-specs_nonfatal_getenv.patch (100%) rename toolchain/gcc/patches/{arc-2015.06 => arc-2016.03}/940-no-clobber-stamp-bits.patch (100%) rename toolchain/gdb/patches/{arc-2015.06-gdb => arc-2016.03}/100-no_extern_inline.patch (91%) rename toolchain/gdb/patches/{arc-2015.06-gdb => arc-2016.03}/110-no_testsuite.patch (73%) rename toolchain/gdb/patches/{arc-2015.06-gdb => arc-2016.03}/120-fix-compile-flag-mismatch.patch (85%) create mode 100644 toolchain/gdb/patches/arc-2016.03/200-arc-fix-target-mask.patch diff --git a/toolchain/binutils/Config.in b/toolchain/binutils/Config.in index c32f43c..2960c94 100644 --- a/toolchain/binutils/Config.in +++ b/toolchain/binutils/Config.in @@ -3,7 +3,7 @@ choice prompt &quo
[LEDE-DEV] [PATCH] package/util-linux: Fix libmount build under uClibc
This fixes util-linux building with uClibc. Patch is taken as it is from Buildroot: https://git.busybox.net/buildroot/plain/package/util-linux/0001-Fix-libmount-build-under-uClibc.patch?id=baccb506a6feabf114623866568121f49712f5df Signed-off-by: Alexey Brodkin --- .../004-Fix-libmount-build-under-uClibc.patch | 153 + 1 file changed, 153 insertions(+) create mode 100644 package/utils/util-linux/patches/004-Fix-libmount-build-under-uClibc.patch diff --git a/package/utils/util-linux/patches/004-Fix-libmount-build-under-uClibc.patch b/package/utils/util-linux/patches/004-Fix-libmount-build-under-uClibc.patch new file mode 100644 index 000..10cc3a5 --- /dev/null +++ b/package/utils/util-linux/patches/004-Fix-libmount-build-under-uClibc.patch @@ -0,0 +1,153 @@ +From 44d733203637666926964957af7af23429ddcecf Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Mon, 18 Apr 2016 09:58:56 -0300 +Subject: [PATCH] Fix libmount build under uClibc + +See https://bugs.gentoo.org/show_bug.cgi?id=406303 +http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-apps/util-linux/files/util-linux-2.21.1-no-printf-alloc.patch?revision=1.2 + +[Gustavo: converted to git format for 2.28] + +Signed-off-by: Gustavo Zacarias +--- + configure.ac | 1 - + libmount/src/tab_parse.c | 52 + 2 files changed, 52 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 5a00403..3422f11 100644 +--- a/configure.ac b/configure.ac +@@ -948,7 +948,6 @@ AC_ARG_ENABLE([libmount], + ) + UL_BUILD_INIT([libmount]) + UL_REQUIRES_BUILD([libmount], [libblkid]) +-UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier]) + AM_CONDITIONAL([BUILD_LIBMOUNT], [test "x$build_libmount" = xyes]) + AM_CONDITIONAL([BUILD_LIBMOUNT_TESTS], [test "x$build_libmount" = xyes -a "x$enable_static" = xyes]) + AS_IF([test "x$build_libmount" = xyes], [ +diff --git a/libmount/src/tab_parse.c b/libmount/src/tab_parse.c +index 3f5e14a..2ff1795 100644 +--- a/libmount/src/tab_parse.c b/libmount/src/tab_parse.c +@@ -39,6 +39,10 @@ static void parser_cleanup(struct libmnt_parser *pa) + memset(pa, 0, sizeof(*pa)); + } + ++#ifndef HAVE_SCANF_MS_MODIFIER ++# define UL_SCNsA "%s" ++#endif ++ + static int next_number(char **s, int *num) + { + char *end = NULL; +@@ -69,16 +73,31 @@ static int mnt_parse_table_line(struct libmnt_fs *fs, char *s) + int rc, n = 0, xrc; + char *src = NULL, *fstype = NULL, *optstr = NULL; + ++#ifndef HAVE_SCANF_MS_MODIFIER ++ size_t len = strlen(s) + 1; ++ src = malloc(len); ++ fstype = malloc(len); ++ fs->target = malloc(len); ++ optstr = malloc(len); ++#endif ++ + rc = sscanf(s, UL_SCNsA" " /* (1) source */ + UL_SCNsA" " /* (2) target */ + UL_SCNsA" " /* (3) FS type */ + UL_SCNsA" " /* (4) options */ + "%n", /* byte count */ + ++#ifdef HAVE_SCANF_MS_MODIFIER + &src, + &fs->target, + &fstype, + &optstr, ++#else ++ src, ++ fs->target, ++ fstype, ++ optstr, ++#endif + &n); + xrc = rc; + +@@ -144,6 +163,16 @@ static int mnt_parse_mountinfo_line(struct libmnt_fs *fs, char *s) + unsigned int maj, min; + char *fstype = NULL, *src = NULL, *p; + ++#ifndef HAVE_SCANF_MS_MODIFIER ++ size_t len = strlen(s) + 1; ++ fs->root = malloc(len); ++ fs->target = malloc(len); ++ fs->vfs_optstr = malloc(len); ++ fs->fs_optstr = malloc(len); ++ fstype = malloc(len); ++ src = malloc(len); ++#endif ++ + rc = sscanf(s, "%d " /* (1) id */ + "%d " /* (2) parent */ + "%u:%u "/* (3) maj:min */ +@@ -155,9 +184,15 @@ static int mnt_parse_mountinfo_line(struct libmnt_fs *fs, char *s) + &fs->id, + &fs->parent, + &maj, &min, ++#ifdef HAVE_SCANF_MS_MODIFIER + &fs->root, + &fs->target, + &fs->vfs_optstr, ++#else ++ fs->root, ++ fs->target, ++ fs->vfs_optstr, ++#endif + &end); + + if (rc >= 7 && end > 0) +@@ -177,9 +212,15 @@ static int mnt_parse_mountinfo_line(struct libmnt_fs *fs, char *s) + UL_SCNsA" " /* (9) source */ +
[LEDE-DEV] [PATCH] toolchain: uClibc: Bump to the most recent version 1.0.14
This change updates uClibc version to the most recent 1.0.14 release. Signed-off-by: Alexey Brodkin --- toolchain/uClibc/Config.version | 2 +- toolchain/uClibc/common.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/toolchain/uClibc/Config.version b/toolchain/uClibc/Config.version index b9c0627..3c1c54d 100644 --- a/toolchain/uClibc/Config.version +++ b/toolchain/uClibc/Config.version @@ -1,7 +1,7 @@ config UCLIBC_VERSION string depends on USE_UCLIBC - default "1.0.9" + default "1.0.14" config UCLIBC_VERSION_NG bool diff --git a/toolchain/uClibc/common.mk b/toolchain/uClibc/common.mk index 2828156..878bd76 100644 --- a/toolchain/uClibc/common.mk +++ b/toolchain/uClibc/common.mk @@ -16,7 +16,7 @@ CONFIG_DIR:=$(PATH_PREFIX)/config PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz LIBC_SO_VERSION:=$(PKG_VERSION) -PKG_MD5SUM=64bbe13301ffa6ba30c5c1ddec335583 +PKG_MD5SUM=8eed7f3635216142c1c5e122874b89c6 HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)-$(PKG_VERSION) -- 2.5.0 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] _GNU_SOURCE should be defined for building vs uClibc
In uClibc-ng O_PATH and O_DIRECTORY are only defined if _GNU_SOURCE is defined. So explicitly define _GNU_SOURCE in sources that use O_PATH and O_DIRECTORY. Without that extra definition that's what happens when building procd. utils/utils.c: ->8-- .../openwrt/build_dir/target-arc_arc700_uClibc-1.0.14/procd-2016-05-19/utils/utils.c: In function 'patch_fd': .../openwrt/build_dir/target-arc_arc700_uClibc-1.0.14/procd-2016-05-19/utils/utils.c:168:22: error: 'O_PATH' undeclared (first use in this function) dfd = open("/dev", O_PATH|O_DIRECTORY); ^ .../openwrt/build_dir/target-arc_arc700_uClibc-1.0.14/procd-2016-05-19/utils/utils.c:168:22: note: each undeclared identifier is reported only once for each function it appears in .../openwrt/build_dir/target-arc_arc700_uClibc-1.0.14/procd-2016-05-19/utils/utils.c:168:29: error: 'O_DIRECTORY' undeclared (first use in this function) dfd = open("/dev", O_PATH|O_DIRECTORY); ^ CMakeFiles/init.dir/build.make:182: recipe for target 'CMakeFiles/init.dir/utils/utils.c.o' failed ->8-- inittab.c: ->8-- .../openwrt/build_dir/target-arc_arc700_uClibc-1.0.14/procd-2016-05-19/inittab.c: In function 'dev_exist': .../openwrt/build_dir/target-arc_arc700_uClibc-1.0.14/procd-2016-05-19/inittab.c:72:21: error: 'O_PATH' undeclared (first use in this function) dfd = open("/dev", O_PATH|O_DIRECTORY); ^ .../git/openwrt/build_dir/target-arc_arc700_uClibc-1.0.14/procd-2016-05-19/inittab.c:72:21: note: each undeclared identifier is reported only once for each function it appears in .../git/openwrt/build_dir/target-arc_arc700_uClibc-1.0.14/procd-2016-05-19/inittab.c:72:28: error: 'O_DIRECTORY' undeclared (first use in this function) dfd = open("/dev", O_PATH|O_DIRECTORY); ^ CMakeFiles/procd.dir/build.make:134: recipe for target 'CMakeFiles/procd.dir/inittab.c.o' failed make[6]: *** [CMakeFiles/procd.dir/inittab.c.o] Error 1 ->8-- Signed-off-by: Alexey Brodkin Cc: Waldemar Brodkorb Cc: John Crispin Cc: Jo-Philipp Wich --- inittab.c | 1 + utils/utils.c | 1 + 2 files changed, 2 insertions(+) diff --git a/inittab.c b/inittab.c index 528396e..6dde11a 100644 --- a/inittab.c +++ b/inittab.c @@ -12,6 +12,7 @@ * GNU General Public License for more details. */ +#define _GNU_SOURCE #include #include #include diff --git a/utils/utils.c b/utils/utils.c index e2e3396..8f14aad 100644 --- a/utils/utils.c +++ b/utils/utils.c @@ -12,6 +12,7 @@ * GNU General Public License for more details. */ +#define _GNU_SOURCE #include #include #include "utils.h" -- 2.5.5 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] procd: Update to latest head
This includes a fix for building against uClibc: http://git.openwrt.org/?p=project/procd.git;a=commit;h=9a6f83d3c168523ac7b898ae481c2fd8c501d6a6 Signed-off-by: Alexey Brodkin Cc: John Crispin --- package/system/procd/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/system/procd/Makefile b/package/system/procd/Makefile index 7ba2be3..cb7ab05 100644 --- a/package/system/procd/Makefile +++ b/package/system/procd/Makefile @@ -8,14 +8,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=procd -PKG_VERSION:=2016-05-19 +PKG_VERSION:=2016-05-24 PKG_RELEASE=$(PKG_SOURCE_VERSION) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(OPENWRT_GIT)/project/procd.git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_VERSION:=1418c6ce8559ea125c525c2663105fa5ff14905e +PKG_SOURCE_VERSION:=9a6f83d3c168523ac7b898ae481c2fd8c501d6a6 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz CMAKE_INSTALL:=1 -- 2.5.0 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH] package/util-linux: Fix libmount build under uClibc
Hello, On Mon, 2016-05-23 at 17:46 +0300, Alexey Brodkin wrote: > This fixes util-linux building with uClibc. > Patch is taken as it is from Buildroot: > https://git.busybox.net/buildroot/plain/package/util-linux/0001-Fix-libmount-build-under-uClibc.patch?id=baccb506a6fea > bf114623866568121f49712f5df > > Signed-off-by: Alexey Brodkin > --- > .../004-Fix-libmount-build-under-uClibc.patch | 153 > + > 1 file changed, 153 insertions(+) > create mode 100644 > package/utils/util-linux/patches/004-Fix-libmount-build-under-uClibc.patch I'm wondering if there're any comments on that one or it could be applied? -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH] toolchain: uClibc: Bump to the most recent version 1.0.14
Hello, On Mon, 2016-05-23 at 17:48 +0300, Alexey Brodkin wrote: > This change updates uClibc version to the most recent 1.0.14 release. > > Signed-off-by: Alexey Brodkin > --- > toolchain/uClibc/Config.version | 2 +- > toolchain/uClibc/common.mk | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/toolchain/uClibc/Config.version b/toolchain/uClibc/Config.version > index b9c0627..3c1c54d 100644 > --- a/toolchain/uClibc/Config.version > +++ b/toolchain/uClibc/Config.version > @@ -1,7 +1,7 @@ > config UCLIBC_VERSION > string > depends on USE_UCLIBC > - default "1.0.9" > + default "1.0.14" > > config UCLIBC_VERSION_NG > bool > diff --git a/toolchain/uClibc/common.mk b/toolchain/uClibc/common.mk > index 2828156..878bd76 100644 > --- a/toolchain/uClibc/common.mk > +++ b/toolchain/uClibc/common.mk > @@ -16,7 +16,7 @@ CONFIG_DIR:=$(PATH_PREFIX)/config > PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz > LIBC_SO_VERSION:=$(PKG_VERSION) > > -PKG_MD5SUM=64bbe13301ffa6ba30c5c1ddec335583 > +PKG_MD5SUM=8eed7f3635216142c1c5e122874b89c6 > > HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)-$(PKG_VERSION) I'm wondering if there're any comments on that one or it could be applied? -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH] package/util-linux: Fix libmount build under uClibc
Hello, On Thu, 2016-05-26 at 14:55 +0300, Alexey Brodkin wrote: > Hello, > > On Mon, 2016-05-23 at 17:46 +0300, Alexey Brodkin wrote: > > > > This fixes util-linux building with uClibc. > > Patch is taken as it is from Buildroot: > > https://git.busybox.net/buildroot/plain/package/util-linux/0001-Fix-libmount-build-under-uClibc.patch?id=baccb506a6f > > ea > > bf114623866568121f49712f5df > > > > Signed-off-by: Alexey Brodkin > > --- > > .../004-Fix-libmount-build-under-uClibc.patch | 153 > > + > > 1 file changed, 153 insertions(+) > > create mode 100644 > > package/utils/util-linux/patches/004-Fix-libmount-build-under-uClibc.patch > I'm wondering if there're any comments on that one or it could be > applied? This fix is really required to successfully Lede with uClibc. Any chance for it to be reviewed or applied? -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] arc: Build uImage as well as vmlinux output files
Initially for ARC we were building vmlinux images because it was both simpler and more convenient to debug Linux kernel in runt-time via JTAG. Now when base system works quite nice we may finally use U-Boot for loading the system image as well. Still we keep building vmlinux images as some of our boards are development boards and loading images with JTAG could be at some points very beneficial. Note for U-Boot header it's required to specify 2 values: * loading address * entry point (if it doesn't match loading address) and in case of ARC entry point (EP) not only differs from loading address but also changes from build to build due to initramfs being placed between loading address and text section. To accommodate that feature we have to calculate EP after vmlinux gets built and before call to mkimage. Signed-off-by: Alexey Brodkin --- target/linux/arc770/image/Makefile | 44 ++--- target/linux/archs38/image/Makefile | 44 ++--- 2 files changed, 72 insertions(+), 16 deletions(-) diff --git a/target/linux/arc770/image/Makefile b/target/linux/arc770/image/Makefile index 6b9c5e4..47c936e 100644 --- a/target/linux/arc770/image/Makefile +++ b/target/linux/arc770/image/Makefile @@ -7,6 +7,13 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk +# On ARC initramfs is put before entry point and so entry point moves +# in memory from build to built. Thus we need to extract EP from vmlinux +# every time late in building process. +define Build/calculate-ep + $(eval KERNEL_ENTRY=$(shell $(KERNEL_CROSS)readelf -h $(LINUX_DIR)/vmlinux | grep "Entry point address" | grep -o 0x.*)) +endef + define Build/patch-dtb $(call Image/BuildDTB,../dts/$(DEVICE_DTS).dts,$@.dtb) $(STAGING_DIR_HOST)/bin/patch-dtb $@ $@.dtb @@ -16,26 +23,47 @@ endef define Device/Default PROFILES = Default $$(DEVICE_PROFILE) KERNEL_DEPENDS = $$(wildcard ../dts/$$(DEVICE_DTS).dts) - KERNEL_SUFFIX := .elf - KERNEL_INITRAMFS := kernel-bin | patch-dtb - KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs.elf DEVICE_PROFILE := DEVICE_DTS := endef DEVICE_VARS += DEVICE_PROFILE DEVICE_DTS -define add_arc770 - define Device/$(1) +define Device/vmlinux + KERNEL_SUFFIX := .elf + KERNEL_INITRAMFS := kernel-bin | patch-dtb + KERNEL_INITRAMFS_NAME = vmlinux-initramfs.elf +endef + +define Device/uImage + KERNEL_SUFFIX := .bin + KERNEL_INITRAMFS := kernel-bin | patch-dtb | calculate-ep | uImage none + KERNEL_LOADADDR := 0x8000 +endef + +define add_arc770_uImage + define Device/$(1)-uImage +$(call Device/uImage) +DEVICE_PROFILE := $(1) +DEVICE_DTS := $(1) + endef + TARGET_DEVICES += $(1)-uImage +endef + +define add_arc770_vmlinux + define Device/$(1)-vmlinux +$(call Device/vmlinux) DEVICE_PROFILE := $(1) DEVICE_DTS := $(1) endef - TARGET_DEVICES += $(1) + TARGET_DEVICES += $(1)-vmlinux endef # DesignWare AXS101 -$(eval $(call add_arc770,axs101)) +$(eval $(call add_arc770_vmlinux,axs101)) +$(eval $(call add_arc770_uImage,axs101)) # nSIM with ARC770 -$(eval $(call add_arc770,nsim_700)) +$(eval $(call add_arc770_vmlinux,nsim_700)) +$(eval $(call add_arc770_uImage,nsim_700)) $(eval $(call BuildImage)) diff --git a/target/linux/archs38/image/Makefile b/target/linux/archs38/image/Makefile index 9b0e53f..03bd8ee 100644 --- a/target/linux/archs38/image/Makefile +++ b/target/linux/archs38/image/Makefile @@ -7,6 +7,13 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk +# On ARC initramfs is put before entry point and so entry point moves +# in memory from build to built. Thus we need to extract EP from vmlinux +# every time before generation of uImage. +define Build/calculate-ep + $(eval KERNEL_ENTRY=$(shell $(KERNEL_CROSS)readelf -h $(LINUX_DIR)/vmlinux | grep "Entry point address" | grep -o 0x.*)) +endef + define Build/patch-dtb $(call Image/BuildDTB,../dts/$(DEVICE_DTS).dts,$@.dtb) $(STAGING_DIR_HOST)/bin/patch-dtb $@ $@.dtb @@ -16,26 +23,47 @@ endef define Device/Default PROFILES = Default $$(DEVICE_PROFILE) KERNEL_DEPENDS = $$(wildcard ../dts/$$(DEVICE_DTS).dts) - KERNEL_SUFFIX := .elf - KERNEL_INITRAMFS := kernel-bin | patch-dtb - KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs.elf DEVICE_PROFILE := DEVICE_DTS := endef DEVICE_VARS += DEVICE_PROFILE DEVICE_DTS -define add_archs38 - define Device/$(1) +define Device/vmlinux + KERNEL_SUFFIX := .elf + KERNEL_INITRAMFS := kernel-bin | patch-dtb + KERNEL_INITRAMFS_NAME = vmlinux-initramfs.elf +endef + +define Device/uImage + KERNEL_SUFFIX := .bin + KERNEL_INITRAMFS := kernel-bin | patch-dtb | calculate-ep | uImage none + KERNEL_LOADADDR := 0x8000 +endef + +define add_archs38_uImage + define Device/$(1)-uImage +$(call Device/uImage) +DEVICE_PROFILE := $(1) +DEVICE_DTS := $(1) + endef + TARGET_DEVICES += $(1)-uImage +endef
Re: [LEDE-DEV] [PATCH] package/util-linux: Fix libmount build under uClibc
Hi Waldemar, On Mon, 2016-05-30 at 14:12 +0300, Alexey Brodkin wrote: > Hello, > > On Thu, 2016-05-26 at 14:55 +0300, Alexey Brodkin wrote: > > > > Hello, > > > > On Mon, 2016-05-23 at 17:46 +0300, Alexey Brodkin wrote: > > > > > > > > > This fixes util-linux building with uClibc. > > > Patch is taken as it is from Buildroot: > > > https://git.busybox.net/buildroot/plain/package/util-linux/0001-Fix-libmount-build-under-uClibc.patch?id=baccb506a > > > 6f > > > ea > > > bf114623866568121f49712f5df > > > > > > Signed-off-by: Alexey Brodkin > > > --- > > > .../004-Fix-libmount-build-under-uClibc.patch | 153 > > > + > > > 1 file changed, 153 insertions(+) > > > create mode 100644 > > > package/utils/util-linux/patches/004-Fix-libmount-build-under-uClibc.patch We are discussing one issue with "util-linux" package building. The problem is in "util-linux" wants to use alloc modifier (either "%as" or "%ms") in scanf(). Looks like uClibc still doesn't support neither "%ms" nor "%as" (this one is obsolete glibc-specific so let's not bother with it anyways). Now to work-around this missing requirement we used to use an off-the-tree patch like this one in Buildroot: https://git.busybox.net/buildroot/tree/package/util-linux/0001-Fix-libmount-build-under-uClibc.patch OpenWRT: https://git.lede-project.org/?p=source.git;a=blob;f=package/utils/util-linux/patches/001-no-printf-alloc.patch;h=ad9eef0 959bf0c8ce269e8039d4d05ef58e1d527;hb=8a7b28071fba84e297796c46d46e12b0967804e8 Gentoo: https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-apps/util-linux/files/util-linux-2.21.1-no-printf-alloc.pat ch?revision=1.2 The question to you is where do you think we should fix mentioned problem: 1) In uClibc-ng with addition of "%ms" support in scanf or 2) Try to upstream mentioned patch in "util-linux"? Regards, Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] package/devel/gdb: Add support of ARC gdb
As of today gdb port for ARC is not yet in upstream even though we're working hard on that. Still to allow ARC users to debug user-space apps on top of Linux kernel we're adding here support for building GDB from sources hosted on our GitHub here: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2016.03-gdb Likewise for host GDB sources that come from unified git repository (which is the case for upstream binutils/gdb today) we need to disable building of binutils in gdb: -->8-- --disable-binutils --disable-ld --disable-gas -->8-- Also we disable sim because if the following breakage while building with it: >8 /usr/bin/env bash ./../common/genmloop.sh -shell /usr/bin/env bash \ -mono -fast -pbb -switch sem5-switch.c \ -cpu a5f -infile ./mloop5.in \ -outfile-suffix 5 unknown option: bash Makefile:699: recipe for target 'stamp-5mloop' failed make[7]: *** [stamp-5mloop] Error 1 >8-------- Signed-off-by: Alexey Brodkin Cc: John Crispin Cc: Felix Fietkau --- package/devel/gdb/Makefile | 23 ++-- .../001-gdb-pr14523-mips-signal-number.patch | 0 .../gdb/patches/{ => 7.11}/100-musl_fix.patch | 0 .../patches/arc-2016.03/100-no_extern_inline.patch | 32 ++ .../gdb/patches/arc-2016.03/110-no_testsuite.patch | 21 ++ .../120-fix-compile-flag-mismatch.patch| 11 .../arc-2016.03/200-arc-fix-target-mask.patch | 13 + 7 files changed, 98 insertions(+), 2 deletions(-) rename package/devel/gdb/patches/{ => 7.11}/001-gdb-pr14523-mips-signal-number.patch (100%) rename package/devel/gdb/patches/{ => 7.11}/100-musl_fix.patch (100%) create mode 100644 package/devel/gdb/patches/arc-2016.03/100-no_extern_inline.patch create mode 100644 package/devel/gdb/patches/arc-2016.03/110-no_testsuite.patch create mode 100644 package/devel/gdb/patches/arc-2016.03/120-fix-compile-flag-mismatch.patch create mode 100644 package/devel/gdb/patches/arc-2016.03/200-arc-fix-target-mask.patch diff --git a/package/devel/gdb/Makefile b/package/devel/gdb/Makefile index f6d5fec..2e6b332 100644 --- a/package/devel/gdb/Makefile +++ b/package/devel/gdb/Makefile @@ -8,12 +8,27 @@ include $(TOPDIR)/rules.mk PKG_NAME:=gdb + +ifeq ($(CONFIG_arc),y) +PKG_VERSION:=arc-2016.03-gdb + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/archive/$(PKG_VERSION) +PKG_MD5SUM:=775caaf6385c16f20b6f53c0a2b95f79 +GDB_DIR:=binutils-$(PKG_NAME)-$(PKG_VERSION) +else PKG_VERSION:=7.11 -PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/gdb PKG_MD5SUM:=b5c784685e1cde65ba135feea86b6d75 +GDB_DIR:=$(PKG_NAME)-$(PKG_VERSION) +endif + +PKG_RELEASE:=1 + +PATCH_DIR:=./patches/$(PKG_VERSION) +PKG_BUILD_DIR:=$(BUILD_DIR)/$(GDB_DIR) PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 @@ -55,7 +70,11 @@ CONFIGURE_ARGS+= \ --with-system-readline \ --without-expat \ --without-lzma \ - --disable-werror + --disable-werror \ + --disable-binutils \ + --disable-ld \ + --disable-gas \ + --disable-sim CONFIGURE_VARS+= \ ac_cv_search_tgetent="$(TARGET_LDFLAGS) -lncurses -lreadline" diff --git a/package/devel/gdb/patches/001-gdb-pr14523-mips-signal-number.patch b/package/devel/gdb/patches/7.11/001-gdb-pr14523-mips-signal-number.patch similarity index 100% rename from package/devel/gdb/patches/001-gdb-pr14523-mips-signal-number.patch rename to package/devel/gdb/patches/7.11/001-gdb-pr14523-mips-signal-number.patch diff --git a/package/devel/gdb/patches/100-musl_fix.patch b/package/devel/gdb/patches/7.11/100-musl_fix.patch similarity index 100% rename from package/devel/gdb/patches/100-musl_fix.patch rename to package/devel/gdb/patches/7.11/100-musl_fix.patch diff --git a/package/devel/gdb/patches/arc-2016.03/100-no_extern_inline.patch b/package/devel/gdb/patches/arc-2016.03/100-no_extern_inline.patch new file mode 100644 index 000..8c18c6e --- /dev/null +++ b/package/devel/gdb/patches/arc-2016.03/100-no_extern_inline.patch @@ -0,0 +1,32 @@ +--- a/sim/common/sim-arange.c b/sim/common/sim-arange.c +@@ -280,11 +280,7 @@ sim_addr_range_delete (ADDR_RANGE *ar, a + build_search_tree (ar); + } + +-#endif /* DEFINE_NON_INLINE_P */ +- +-#if DEFINE_INLINE_P +- +-SIM_ARANGE_INLINE int ++int + sim_addr_range_hit_p (ADDR_RANGE *ar, address_word addr) + { + ADDR_RANGE_TREE *t = ar->range_tree; +@@ -301,4 +297,4 @@ sim_addr_range_hit_p (ADDR_RANGE *ar, ad + return 0; + } + +-#endif /* DEFINE_INLINE_P */ ++#endif /* DEFINE_NON_INLINE_P */ +--- a/sim/common/sim-arange.h b/sim/common/sim-arange.h +@@ -73,7 +73,7 @@ extern void sim_addr_range_delete (ADDR_ + + /* Return non-zero if ADDR is in range AR, traversing the entire t
Re: [LEDE-DEV] [OpenWrt-Devel] [PATCH] package/devel/gdb: Add support of ARC gdb
Hi Dirk, On Wed, 2016-06-01 at 18:21 +0200, Dirk Neukirchen wrote: > On 01.06.2016 17:32, Alexey Brodkin wrote: > > > > Also we disable sim because if the following breakage while > > building with it: > > >8 > > /usr/bin/env bash ./../common/genmloop.sh -shell /usr/bin/env bash \ > > -mono -fast -pbb -switch sem5-switch.c \ > > -cpu a5f -infile ./mloop5.in \ > > -outfile-suffix 5 > > unknown option: bash > > Makefile:699: recipe for target 'stamp-5mloop' failed > > make[7]: *** [stamp-5mloop] Error 1 > > >8 > rules.mk with its SHELL:=/usr/bin/env bash is the culprit I think so. > I had some issues when I set CONFIG_SHELL in the same way > - using SHELL:=/bin/bash probably fixes this but might have > other side effects or breakage (globally/for other packages) Indeed. But anyways we don't need GDB's simulator to be built here, so change itself is pretty sane. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH] package/util-linux: Fix libmount build under uClibc
Hi Waldemar, On Wed, 2016-06-01 at 19:28 +0200, Waldemar Brodkorb wrote: > Hi Alexey, > > Alexey Brodkin wrote, > > > > > Hi Waldemar, > > > > On Mon, 2016-05-30 at 14:12 +0300, Alexey Brodkin wrote: > > > > > > Hello, > > > > > > On Thu, 2016-05-26 at 14:55 +0300, Alexey Brodkin wrote: > > > > > > > > > > > > Hello, > > > > > > > > On Mon, 2016-05-23 at 17:46 +0300, Alexey Brodkin wrote: > > > > > > > > > > > > > > > > > > > > This fixes util-linux building with uClibc. > > > > > Patch is taken as it is from Buildroot: > > > > > https://git.busybox.net/buildroot/plain/package/util-linux/0001-Fix-libmount-build-under-uClibc.patch?id=baccb > > > > > 506a > > > > > 6f > > > > > ea > > > > > bf114623866568121f49712f5df > > > > > > > > > > Signed-off-by: Alexey Brodkin > > > > > --- > > > > > .../004-Fix-libmount-build-under-uClibc.patch | 153 > > > > > + > > > > > 1 file changed, 153 insertions(+) > > > > > create mode 100644 > > > > > package/utils/util-linux/patches/004-Fix-libmount-build-under-uClibc.patch > > We are discussing one issue with "util-linux" package building. > > The problem is in "util-linux" wants to use alloc modifier (either "%as" > > or "%ms") in scanf(). > > > > Looks like uClibc still doesn't support neither "%ms" nor "%as" (this one > > is obsolete glibc-specific so let's not bother with it anyways). > > > > Now to work-around this missing requirement we used to use > > an off-the-tree patch like this one in Buildroot: > > https://git.busybox.net/buildroot/tree/package/util-linux/0001-Fix-libmount-build-under-uClibc.patch > > > > OpenWRT: > > https://git.lede-project.org/?p=source.git;a=blob;f=package/utils/util-linux/patches/001-no-printf-alloc.patch;h=ad9 > > eef0 > > 959bf0c8ce269e8039d4d05ef58e1d527;hb=8a7b28071fba84e297796c46d46e12b0967804e8 > > > > Gentoo: > > https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-apps/util-linux/files/util-linux-2.21.1-no-printf-alloc > > .pat > > ch?revision=1.2 > > > > The question to you is where do you think we should fix mentioned problem: > > 1) In uClibc-ng with addition of "%ms" support in scanf or > I would prefer this solution. I have started reading the code, but I > can't give you any guarantee when I can work on this. > Do you have free resources to cook up a patch? :) You mean if I'm up to implement this missing feature in uClibc? Well I'd like to but as well not sure if and when I have time for that :) For now we have a work-around with mentioned patches. So that's not a showstopper. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] Add info about git URLs in Lede Git Web
Hello, I think it would be quite convenient to add info about URLs that could be used for accessing Lede repos via git. In OpenWRT Git Web we had something like that: --->8--- URL http://git.openwrt.org/openwrt.git https://git.openwrt.org/openwrt.git git://git.openwrt.org/openwrt.git --->8--- In case of Lede we don't have this information for example here: https://git.lede-project.org/?p=source.git;a=summary and every time one needs to figure out what is a correct URL that should be passed to git. And it's not only URL itself but what could be even more important what protocols could be used: git, http, https? -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] Add info about git URLs in Lede Git Web
Hi Ted, On Thu, 2016-06-02 at 13:02 -0400, Ted Hess wrote: > Check it out now... Indeed it's there! Thanks a bunch! -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [uclibc-ng-devel] [PATCH] package/util-linux: Fix libmount build under uClibc
Hi Max, On Thu, 2016-06-02 at 19:31 +0300, Max Filippov wrote: > Hi Alexey, > > On Wed, Jun 1, 2016 at 10:56 AM, Alexey Brodkin > wrote: > > > > We are discussing one issue with "util-linux" package building. > > The problem is in "util-linux" wants to use alloc modifier (either "%as" > > or "%ms") in scanf(). > > > > Looks like uClibc still doesn't support neither "%ms" nor "%as" (this one > > is obsolete glibc-specific so let's not bother with it anyways). > a while ago I touched %m support for %c and %[...] in uclibc > (b2d27c71bd13820a4263fa7ebda4c1a4a95b501c), > I've got an impression that %ms was working. I've expanded > test/stdio/scanf_m.c a bit (attached) and it appears to work. > So I'm curious, how the issue manifests itself. During configuration of "util-linux" it tests if "%as" or "ms" could be used when compiling a simple test. If not then "libmount" gets disabled. Then in OpenWRT/Lede on installation of "util-linux" to staging folder explicit "cp" is executed for copying some of "libmount" build artifacts and since "libmount" was never built "cp" fails and so entire build stops. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH] fix uClibc-ng scanf check
Hi Waldemar, On Fri, 2016-06-03 at 04:23 +0200, Waldemar Brodkorb wrote: > uClibc-ng tries to be compatible with GNU libc and defines > __GLIBC__ and pretend to be version 2.2. > We once changed it to 2.10, but then some hard to fix problems > in different software packages (gcc) occured. > It would be better if we disable the special GNU libc checks > for uClibc-ng here. uClibc-ng implements the required scanf > functionality. > > Signed-off-by: Waldemar Brodkorb > --- > configure.ac | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/configure.ac b/configure.ac > index f36b18c..4661c0d 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -581,7 +581,7 @@ AC_CACHE_VAL([scanf_cv_alloc_modifier], > #include > #include > > - #ifdef __GLIBC__ > + #if defined(__GLIBC__) && !defined(__UCLIBC__) > > #if !(__GLIBC_PREREQ(2, 7)) > #error %m is not available Even though this is a very minor and clean change I don't like this approach. We're again implicitly assume something. IMHO much better approach would be to include a compile test for small source that uses scanf() with "%as"/"%ms". That way we may remove all dependencies on either GLIBC/UCLIBC/MUSL etc. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH] fix uClibc-ng scanf check
Hi Max, On Fri, 2016-06-03 at 16:43 +0300, Max Filippov wrote: > Hi Alexey, > > On Fri, Jun 3, 2016 at 12:58 PM, Alexey Brodkin > wrote: > > > > IMHO much better approach would be to include a compile test for > > small source that uses scanf() with "%as"/"%ms". > I doubt a direct compile test is possible here, one need to run scanf > code to find out whether %m is actually supported. Right, I see now. So then indeed Waldemar's patch looks good. Sorry for the noise. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH] package/devel/gdb: Add support of ARC gdb
Hi John, On Fri, 2016-06-03 at 11:09 +0200, John Crispin wrote: > Hi, > > On 01/06/2016 17:32, Alexey Brodkin wrote: > > > > As of today gdb port for ARC is not yet in upstream even though > > we're working hard on that. > > > > Still to allow ARC users to debug user-space apps on top of > > Linux kernel we're adding here support for building GDB from > > sources hosted on our GitHub here: > > https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2016.03-gdb > > > > Likewise for host GDB sources that come from unified git repository > > (which is the case for upstream binutils/gdb today) we need to disable > > building of binutils in gdb: > > -->8-- > > --disable-binutils > > --disable-ld > > --disable-gas > > -->8-- > > > these work for !arc targets. disabling them for all targets because they > are broken on arc seem weird even if they might not be used. > > rather than cluttering the makefile how about marking the packahe broken > for arc and adding a new one called gdb-arc that depends on arc only. > this will allow us to keep gdb clean and just drop the gdb-arc package > once the fixes treacled down the tree. Well all 3 options except "--sim" are very valid because modern GDB sources come from "unified" git repo where binutils co-exist with gdb. That's done on purpose because a lot of stuff indeed is the same in both projects. And there's really no point in building either binutils, ld or gas when we're building GDB. Disabling those options we at least saving some time and in some cases may escape build failures. Mentioned build failures might happen with some even release versions of GDB tarballs. Again that is because gdb comes from the same unified repo BUT (and that's important) still from the separate branch and so some parts of binutils might be taken from "binutils" branch in unstable state. In other words disabling build of not used components is pretty safe and future-proof. And simulator falls here as well - we don't need it anyways for either arch/board. As for adding a separate package... we'll need to propagate new Kconfig symbol in other files and so instead of limiting changes to 1 file we'll spread our contamination all over source tree. Do we really want it? -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [PATCH] fix uClibc-ng scanf check
Hi Waldemar, On Fri, 2016-06-03 at 17:16 +0200, Waldemar Brodkorb wrote: > Hi Alexey, > Alexey Brodkin wrote, > > > > > Hi Waldemar, > > > > On Fri, 2016-06-03 at 04:23 +0200, Waldemar Brodkorb wrote: > > > > > > uClibc-ng tries to be compatible with GNU libc and defines > > > __GLIBC__ and pretend to be version 2.2. > > > We once changed it to 2.10, but then some hard to fix problems > > > in different software packages (gcc) occured. > > > It would be better if we disable the special GNU libc checks > > > for uClibc-ng here. uClibc-ng implements the required scanf > > > functionality. > > > > > > Signed-off-by: Waldemar Brodkorb > > > --- > > > configure.ac | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/configure.ac b/configure.ac > > > index f36b18c..4661c0d 100644 > > > --- a/configure.ac > > > +++ b/configure.ac > > > @@ -581,7 +581,7 @@ AC_CACHE_VAL([scanf_cv_alloc_modifier], > > > #include > > > #include > > > > > > - #ifdef __GLIBC__ > > > + #if defined(__GLIBC__) && !defined(__UCLIBC__) > > > > > > #if !(__GLIBC_PREREQ(2, 7)) > > > #error %m is not available > > Even though this is a very minor and clean change I don't like this > > approach. We're again implicitly assume something. > > > > IMHO much better approach would be to include a compile test for > > small source that uses scanf() with "%as"/"%ms". > > > > That way we may remove all dependencies on either GLIBC/UCLIBC/MUSL etc. > Just for completeness, I saw your other mail already. > Musl has no problem with this code, because it is util-linux > fallback code for old GNU libc. Unfortunately it matches the > pretended version from uClibc-ng. So I think it is the right > solution, if the fallback code will not be removed. Thanks for explanation. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] package/devel/gdb-arc: Add target GDB for ARC
ARC port of GDB is not yet upstream so we need to use sources from Synopsys GitHub repo. Given Synopys' commitment to upstream ARC support in GDB in the nearest future it might be simpler to add a separate package for ARC GDB instead of patching generic GDB package. This way once ARC GDB stuff gets uptreamed we'll only need to remove that new "gdb-arc" package. Note 1 very minor change in generic gdb package was done - it now depends on !arc (while "gdb-arc" depends on "arc"). Signed-off-by: Alexey Brodkin --- package/devel/{gdb => gdb-arc}/Makefile| 44 -- .../gdb-arc/patches/100-no_extern_inline.patch | 32 .../devel/gdb-arc/patches/110-no_testsuite.patch | 21 +++ .../patches/120-fix-compile-flag-mismatch.patch| 11 ++ package/devel/gdb/Makefile | 2 +- 5 files changed, 90 insertions(+), 20 deletions(-) copy package/devel/{gdb => gdb-arc}/Makefile (64%) create mode 100644 package/devel/gdb-arc/patches/100-no_extern_inline.patch create mode 100644 package/devel/gdb-arc/patches/110-no_testsuite.patch create mode 100644 package/devel/gdb-arc/patches/120-fix-compile-flag-mismatch.patch diff --git a/package/devel/gdb/Makefile b/package/devel/gdb-arc/Makefile similarity index 64% copy from package/devel/gdb/Makefile copy to package/devel/gdb-arc/Makefile index f6d5fec..c42b108 100644 --- a/package/devel/gdb/Makefile +++ b/package/devel/gdb-arc/Makefile @@ -7,13 +7,15 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=gdb -PKG_VERSION:=7.11 +PKG_NAME:=gdb-arc +PKG_VERSION:=arc-2016.03-gdb PKG_RELEASE:=1 -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz -PKG_SOURCE_URL:=@GNU/gdb -PKG_MD5SUM:=b5c784685e1cde65ba135feea86b6d75 +PKG_SOURCE:=gdb-arc-2016.03-gdb.tar.gz +PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/archive/$(PKG_VERSION) +PKG_MD5SUM:=775caaf6385c16f20b6f53c0a2b95f79 + +PKG_BUILD_DIR:=$(BUILD_DIR)/binutils-gdb-arc-2016.03-gdb PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 @@ -21,31 +23,31 @@ PKG_LICENSE:=GPL-3.0+ include $(INCLUDE_DIR)/package.mk -define Package/gdb/Default +define Package/gdb-arc/Default SECTION:=devel CATEGORY:=Development - DEPENDS:=+!USE_MUSL:libthread-db +PACKAGE_zlib:zlib + DEPENDS:=+!USE_MUSL:libthread-db +PACKAGE_zlib:zlib @arc URL:=http://www.gnu.org/software/gdb/ endef -define Package/gdb -$(call Package/gdb/Default) - TITLE:=GNU Debugger +define Package/gdb-arc +$(call Package/gdb-arc/Default) + TITLE:=GNU Debugger for ARC DEPENDS+=+libreadline +libncurses +zlib endef -define Package/gdb/description +define Package/gdb-arc/description GDB, the GNU Project debugger, allows you to see what is going on `inside' another program while it executes -- or what another program was doing at the moment it crashed. endef -define Package/gdbserver -$(call Package/gdb/Default) +define Package/gdbserver-arc +$(call Package/gdb-arc/Default) TITLE:=Remote server for GNU Debugger endef -define Package/gdbserver/description +define Package/gdbserver-arc/description GDBSERVER is a program that allows you to run GDB on a different machine than the one which is running the program being debugged. endef @@ -55,7 +57,11 @@ CONFIGURE_ARGS+= \ --with-system-readline \ --without-expat \ --without-lzma \ - --disable-werror + --disable-werror \ + --disable-binutils \ + --disable-ld \ + --disable-gas \ + --disable-sim CONFIGURE_VARS+= \ ac_cv_search_tgetent="$(TARGET_LDFLAGS) -lncurses -lreadline" @@ -74,15 +80,15 @@ define Build/Install install-gdb endef -define Package/gdb/install +define Package/gdb-arc/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gdb $(1)/usr/bin/ endef -define Package/gdbserver/install +define Package/gdbserver-arc/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gdbserver $(1)/usr/bin/ endef -$(eval $(call BuildPackage,gdb)) -$(eval $(call BuildPackage,gdbserver)) +$(eval $(call BuildPackage,gdb-arc)) +$(eval $(call BuildPackage,gdbserver-arc)) diff --git a/package/devel/gdb-arc/patches/100-no_extern_inline.patch b/package/devel/gdb-arc/patches/100-no_extern_inline.patch new file mode 100644 index 000..8c18c6e --- /dev/null +++ b/package/devel/gdb-arc/patches/100-no_extern_inline.patch @@ -0,0 +1,32 @@ +--- a/sim/common/sim-arange.c b/sim/common/sim-arange.c +@@ -280,11 +280,7 @@ sim_addr_range_delete (ADDR_RANGE *ar, a + build_search_tree (ar); + } + +-#endif /* DEFINE_NON_INLINE_P */ +- +-#if DEFINE_INLINE_P +- +-SIM_ARANGE_INLINE int ++int + sim_addr_range_hit_p (ADDR_RANGE *ar, address_word addr) + { + ADDR_RANGE_TREE *t = ar->range_tree; +@@ -301,4 +297,4 @@ sim_addr_range_hit_p (ADDR_RANGE *ar, ad + return 0; + } + +-#endif /*
[LEDE-DEV] [PATCH] toolchain/gdb: Use correct folder name for ARC patches
Even though ARC tools were released as arc-2016.03 we have a little bit different version name for GDB. That's because both Binutils and GDB come from the same git repo but from different branches (and so different tags). Also removing an extra patch that made its way into release. Signed-off-by: Alexey Brodkin --- .../100-no_extern_inline.patch | 0 .../{arc-2016.03 => arc-2016.03-gdb}/110-no_testsuite.patch | 0 .../120-fix-compile-flag-mismatch.patch | 0 .../gdb/patches/arc-2016.03/200-arc-fix-target-mask.patch | 13 - 4 files changed, 13 deletions(-) rename toolchain/gdb/patches/{arc-2016.03 => arc-2016.03-gdb}/100-no_extern_inline.patch (100%) rename toolchain/gdb/patches/{arc-2016.03 => arc-2016.03-gdb}/110-no_testsuite.patch (100%) rename toolchain/gdb/patches/{arc-2016.03 => arc-2016.03-gdb}/120-fix-compile-flag-mismatch.patch (100%) delete mode 100644 toolchain/gdb/patches/arc-2016.03/200-arc-fix-target-mask.patch diff --git a/toolchain/gdb/patches/arc-2016.03/100-no_extern_inline.patch b/toolchain/gdb/patches/arc-2016.03-gdb/100-no_extern_inline.patch similarity index 100% rename from toolchain/gdb/patches/arc-2016.03/100-no_extern_inline.patch rename to toolchain/gdb/patches/arc-2016.03-gdb/100-no_extern_inline.patch diff --git a/toolchain/gdb/patches/arc-2016.03/110-no_testsuite.patch b/toolchain/gdb/patches/arc-2016.03-gdb/110-no_testsuite.patch similarity index 100% rename from toolchain/gdb/patches/arc-2016.03/110-no_testsuite.patch rename to toolchain/gdb/patches/arc-2016.03-gdb/110-no_testsuite.patch diff --git a/toolchain/gdb/patches/arc-2016.03/120-fix-compile-flag-mismatch.patch b/toolchain/gdb/patches/arc-2016.03-gdb/120-fix-compile-flag-mismatch.patch similarity index 100% rename from toolchain/gdb/patches/arc-2016.03/120-fix-compile-flag-mismatch.patch rename to toolchain/gdb/patches/arc-2016.03-gdb/120-fix-compile-flag-mismatch.patch diff --git a/toolchain/gdb/patches/arc-2016.03/200-arc-fix-target-mask.patch b/toolchain/gdb/patches/arc-2016.03/200-arc-fix-target-mask.patch deleted file mode 100644 index 7e51d588..000 --- a/toolchain/gdb/patches/arc-2016.03/200-arc-fix-target-mask.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/bfd/config.bfd b/bfd/config.bfd -index 5145d4a..a9c9c99 100644 a/bfd/config.bfd -+++ b/bfd/config.bfd -@@ -275,7 +275,7 @@ case "${targ}" in - targ_defvec=am33_elf32_linux_vec - ;; - -- arc*-*-elf* | arc*-*-linux-uclibc*) -+ arc*-*-elf* | arc*-*-linux-*) - targ_defvec=arc_elf32_le_vec - targ_selvecs=arc_elf32_be_vec - ;; -- 2.5.0 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] linux: arc: disable kernel unwinding to fix modules loading
With update of binutils for ARC (this is now based on upstream 2.26) we noticed issues with loadable kernel modules. Something like that was happening: ->8--- mbcache: unknown relocation: 49 insmod: can't insert './mbcache.ko': invalid module format ->8--- More details could be found in that discussion in binutils mailing list: http://thread.gmane.org/gmane.comp.gnu.binutils/74662 As of now the simplest work-around is to disable in-kernel unwinder for now. That will at least allow us to use modules again. Signed-off-by: Alexey Brodkin Cc: Vineet Gupta Cc: John Crispin --- target/linux/arc770/config-4.4 | 3 +-- target/linux/archs38/config-4.4 | 4 +--- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/target/linux/arc770/config-4.4 b/target/linux/arc770/config-4.4 index 87fd7e3..d6905d7 100644 --- a/target/linux/arc770/config-4.4 +++ b/target/linux/arc770/config-4.4 @@ -18,7 +18,7 @@ CONFIG_ARC_CURR_IN_REG=y CONFIG_ARC_DBG=y # CONFIG_ARC_DBG_TLB_MISS_COUNT is not set # CONFIG_ARC_DBG_TLB_PARANOIA is not set -CONFIG_ARC_DW2_UNWIND=y +# CONFIG_ARC_DW2_UNWIND is not set CONFIG_ARC_EMUL_UNALIGNED=y # CONFIG_ARC_FPU_SAVE_RESTORE is not set CONFIG_ARC_HAS_DCACHE=y @@ -78,7 +78,6 @@ CONFIG_HAVE_FUTEX_CMPXCHG=y CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_HAVE_MEMBLOCK=y -CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_HAVE_NET_DSA=y CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_PERF_EVENTS=y diff --git a/target/linux/archs38/config-4.4 b/target/linux/archs38/config-4.4 index 9ea33c6..c7dc264 100644 --- a/target/linux/archs38/config-4.4 +++ b/target/linux/archs38/config-4.4 @@ -15,7 +15,7 @@ CONFIG_ARC_CURR_IN_REG=y CONFIG_ARC_DBG=y # CONFIG_ARC_DBG_TLB_MISS_COUNT is not set # CONFIG_ARC_DBG_TLB_PARANOIA is not set -CONFIG_ARC_DW2_UNWIND=y +# CONFIG_ARC_DW2_UNWIND is not set CONFIG_ARC_HAS_COH_CACHES=y CONFIG_ARC_HAS_DCACHE=y # CONFIG_ARC_HAS_DCCM is not set @@ -85,7 +85,6 @@ CONFIG_HAVE_FUTEX_CMPXCHG=y CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_HAVE_MEMBLOCK=y -CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_HAVE_NET_DSA=y CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_PERF_EVENTS=y @@ -175,7 +174,6 @@ CONFIG_SRCU=y CONFIG_STACKTRACE=y CONFIG_STMMAC_ETH=y CONFIG_STMMAC_PLATFORM=y -# CONFIG_SUNXI_SRAM is not set CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_UNINLINE_SPIN_UNLOCK=y CONFIG_USB_SUPPORT=y -- 2.5.5 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] Add Synopsys brand to Wiki
Hello, I wanted to add information about Synopsys boards (ARC 770D and ARC HS38 based) in the "Table of Hardware" here https://wiki.openwrt.org/toh/. Is there a chance to add new brand "Synopsys" to ToH? For reference: * Support of ARC770-based boards: https://git.lede-project.org/?p=source.git;a=tree;f=target/linux/arc770 * Support of ARC HS38-based boards: https://git.lede-project.org/?p=source.git;a=tree;f=target/linux/archs38 -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] Add Synopsys brand to Wiki
Hi Thomas, Could you please assist me in adding new brand (Synopsys) to OpenWRT Wiki ToH? That's my original request sent to Lede dev mailing list: http://lists.infradead.org/pipermail/lede-dev/2016-June/001551.html -Alexey On Wed, 2016-06-29 at 15:42 +0200, Jo-Philipp Wich wrote: > Hi Alexey, > > please contact Thomas Endt for assistance on adding > brands to the OpenWrt Wiki ToH. > > ~ Jo ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] Add Synopsys brand to Wiki
Hi Thomas, Thanks for that. Now looks like "target" has to be added as well. I'll need 2 targets: 1) arc770 2) archs38 Thanks in advance, Alexey On Wed, 2016-06-29 at 20:57 +0200, Thomas Endt wrote: > Done. > > Regards, Thomas > > > > > -Ursprüngliche Nachricht- > > Von: Alexey Brodkin [mailto:alexey.brod...@synopsys.com] > > Gesendet: Mittwoch, 29. Juni 2016 19:18 > > An: t...@gmx.de > > Cc: lede-dev@lists.infradead.org; j...@mein.io > > Betreff: Re: Add Synopsys brand to Wiki > > > > Hi Thomas, > > > > Could you please assist me in adding new brand (Synopsys) to OpenWRT > > Wiki ToH? > > > > That's my original request sent to Lede dev mailing list: > > http://lists.infradead.org/pipermail/lede-dev/2016-June/001551.html > > > > -Alexey > > > > On Wed, 2016-06-29 at 15:42 +0200, Jo-Philipp Wich wrote: > > > > > > Hi Alexey, > > > > > > please contact Thomas Endt for assistance on adding > > > brands to the OpenWrt Wiki ToH. > > > > > > ~ Jo= ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] Add Synopsys brand to Wiki
Hi Thomas, On Fri, 2016-07-01 at 02:12 +0200, Thomas Endt wrote: > > > Hi Alexey, > > Those two targets are not listed at https://dev.openwrt.org/wiki/platforms. Hm looks like I need to ask somebody to add info to that page because even if logged in I don't see any "edit" button. > > > Are they already supported by OpenWrt? If not, who is working on these > targets? Indeed both platforms are in upstream OpenWRT/Lede, see: https://git.lede-project.org/?p=source.git;a=tree;f=target/linux /arc770 https://git.lede-project.org/?p=source.git;a=tree;f=target/linux/archs38 And I'm the maintainer. Hence this activity of adding more info about those new platforms. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] Add Synopsys brand to Wiki
Hi Thomas, Another missing thing is instruction set. May I have 2 new items there: ARC and ARCv2? -Alexey On Fri, 2016-07-01 at 21:01 +0200, Thomas Endt wrote: > Hey Alexey, > > nice to see that you are actively working on these targets! > Targets arc770, archs38 added. > > Let me know when you have any further problems. > > Regards, Thomas > > > > > > -Ursprüngliche Nachricht- > > Von: Alexey Brodkin [mailto:alexey.brod...@synopsys.com] > > Gesendet: Freitag, 1. Juli 2016 10:17 > > An: tm...@gmx.de > > Cc: j...@phrozen.org; lede-dev@lists.infradead.org; j...@mein.io > > Betreff: Re: AW: AW: Add Synopsys brand to Wiki > > > > Hi Thomas, > > > > On Fri, 2016-07-01 at 02:12 +0200, Thomas Endt wrote: > > > > > > > > > > > > Hi Alexey, > > > > > > Those two targets are not listed at > > https://dev.openwrt.org/wiki/platforms. > > > > Hm looks like I need to ask somebody to add info to that page because > > even if logged in I don't see any "edit" button. > > > > > > > > > > > > > > Are they already supported by OpenWrt? If not, who is working on > > these targets? > > Indeed both platforms are in upstream OpenWRT/Lede, see: > > https://git.lede-project.org/?p=source.git;a=tree;f=target/linux > > /arc770 > > https://git.lede- > > project.org/?p=source.git;a=tree;f=target/linux/archs38 > > > > And I'm the maintainer. > > > > Hence this activity of adding more info about those new platforms. > > > > -Alexey= ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] linux/archs38: Disable USB 2.0
As of today USB 2.0 (AKA EHCI) doesn't work on axs103 board and so there's no reason to build corresponding software for it. Once USB 2.0 gets fixed on axs103 thi patch might be reverted. Signed-off-by: Alexey Brodkin --- target/linux/archs38/generic/profiles/00-default.mk | 2 +- target/linux/archs38/generic/profiles/02-axs103.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/target/linux/archs38/generic/profiles/00-default.mk b/target/linux/archs38/generic/profiles/00-default.mk index 10edb88..fe8f49b 100644 --- a/target/linux/archs38/generic/profiles/00-default.mk +++ b/target/linux/archs38/generic/profiles/00-default.mk @@ -7,7 +7,7 @@ define Profile/Default NAME:=Default Profile (all drivers) - PACKAGES:= kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-mmc kmod-sdhci + PACKAGES:= kmod-usb-core kmod-usb-ohci kmod-mmc kmod-sdhci endef define Profile/Default/Description diff --git a/target/linux/archs38/generic/profiles/02-axs103.mk b/target/linux/archs38/generic/profiles/02-axs103.mk index 4a8ea3a..1461697 100644 --- a/target/linux/archs38/generic/profiles/02-axs103.mk +++ b/target/linux/archs38/generic/profiles/02-axs103.mk @@ -7,7 +7,7 @@ define Profile/axs103 NAME:=Synopsys DesignWare AXS103 - PACKAGES:= kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-mmc kmod-sdhci + PACKAGES:= kmod-usb-core kmod-usb-ohci kmod-mmc kmod-sdhci endef define Profile/axs103/Description -- 2.5.5 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] usb: Remove annoying warning about bogus URB
When USB Wi-Fi dongle based on Atheros AR9271 is connected to OHCI (USB 1.1) controller following warnings flood debug console: >8--- usb 1-1: new full-speed USB device number 2 using ohci-platform usb 1-1: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw requested usb 1-1: ath9k_htc: Transferred FW: ath9k_htc/htc_9271-1.4.0.fw, size: 51008 [ cut here ] WARNING: CPU: 0 PID: 4 at drivers/usb/core/urb.c:450 usb_submit_urb+0x162/0x404 usb 1-1: BOGUS urb xfer, pipe 1 != type 3 Modules linked in: CPU: 0 PID: 4 Comm: kworker/0:0 Not tainted 4.6.3 #10 Workqueue: events request_firmware_work_func Stack Trace: arc_unwind_core.constprop.1+0x94/0x10c ---[ end trace 2249b79eac9991d1 ]--- [ cut here ] WARNING: CPU: 0 PID: 4 at drivers/usb/core/urb.c:450 usb_submit_urb+0x162/0x404 usb 1-1: BOGUS urb xfer, pipe 1 != type 3 Modules linked in: CPU: 0 PID: 4 Comm: kworker/0:0 Tainted: GW 4.6.3 #10 Workqueue: events request_firmware_work_func Stack Trace: arc_unwind_core.constprop.1+0x94/0x10c ---[ end trace 2249b79eac9991d2 ]--- [ cut here ] WARNING: CPU: 0 PID: 4 at drivers/usb/core/urb.c:450 usb_submit_urb+0x162/0x404 usb 1-1: BOGUS urb xfer, pipe 1 != type 3 Modules linked in: CPU: 0 PID: 4 Comm: kworker/0:0 Tainted: GW 4.6.3 #10 Workqueue: events request_firmware_work_func Stack Trace: arc_unwind_core.constprop.1+0x94/0x10c ---[ end trace 2249b79eac9991d3 ]--- ... >8--- With removed warning Wi-Fi dongle works properly. Even though this is not the best solution it gets us a working Wireless AP. Anyways new discussion was started in linux-usb mailing list to find a proper solution instead of that hack. Signed-off-by: Alexey Brodkin --- ...b-Remove-annoying-warning-about-bogus-URB.patch | 73 ++ 1 file changed, 73 insertions(+) create mode 100644 target/linux/generic/patches-4.4/821-usb-Remove-annoying-warning-about-bogus-URB.patch diff --git a/target/linux/generic/patches-4.4/821-usb-Remove-annoying-warning-about-bogus-URB.patch b/target/linux/generic/patches-4.4/821-usb-Remove-annoying-warning-about-bogus-URB.patch new file mode 100644 index 000..0aae481 --- /dev/null +++ b/target/linux/generic/patches-4.4/821-usb-Remove-annoying-warning-about-bogus-URB.patch @@ -0,0 +1,73 @@ +From f13ad28ba4280d2283ca2b49f0bd384bc51e6a68 Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin +Date: Tue, 5 Jul 2016 14:28:31 +0300 +Subject: [PATCH] usb: Remove annoying warning about bogus URB + +When ath9k-htc Wi-Fi dongle is used with generic OHCI controller +infinite stream of warnings appears in debug console like this: +-->8-- +usb 1-1: new full-speed USB device number 2 using ohci-platform +usb 1-1: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw requested +usb 1-1: ath9k_htc: Transferred FW: ath9k_htc/htc_9271-1.4.0.fw, size: +51008 +[ cut here ] +WARNING: CPU: 0 PID: 19 at drivers/usb/core/urb.c:449 +usb_submit_urb+0x1b4/0x498() +usb 1-1: BOGUS urb xfer, pipe 1 != type 3 +Modules linked in: +CPU: 0 PID: 19 Comm: kworker/0:1 Not tainted +4.4.0-rc4-00017-g00e2d79-dirty #3 +Workqueue: events request_firmware_work_func + +Stack Trace: + arc_unwind_core.constprop.1+0xa4/0x110 +---[ end trace 649ef8c342817fc2 ]--- +[ cut here ] +WARNING: CPU: 0 PID: 19 at drivers/usb/core/urb.c:449 +usb_submit_urb+0x1b4/0x498() +usb 1-1: BOGUS urb xfer, pipe 1 != type 3 +Modules linked in: +CPU: 0 PID: 19 Comm: kworker/0:1 Tainted: GW +4.4.0-rc4-00017-g00e2d79-dirty #3 +Workqueue: events request_firmware_work_func + +Stack Trace: + arc_unwind_core.constprop.1+0xa4/0x110 +---[ end trace 649ef8c342817fc3 ]--- +[ cut here ] +-->8-- + +There're some discussions in mailing lists proposing to disable +that particular check alltogether and magically all seem to work +fine with muted warning. + +Anyways new thread on that regard could be found here: +http://lists.infradead.org/pipermail/linux-snps-arc/2016-July/001310.html + +Let's see what comes out of that new discussion, hopefully patching +of generic USB stuff won't be required then. + +Signed-off-by: Alexey Brodkin +--- + drivers/usb/core/urb.c | 5 - + 1 file changed, 5 deletions(-) + +diff --git a/drivers/usb/core/urb.c b/drivers/usb/core/urb.c +index 3d27477..a317e1e 100644 +--- a/drivers/usb/core/urb.c b/drivers/usb/core/urb.c +@@ -443,11 +443,6 @@ int usb_submit_urb(struct urb *urb, gfp_t mem_flags) +* cause problems in HCDs if they get it wrong. +*/ + +- /* Check that the pipe's type matches the endpoint's type */ +- if (usb_pipetype(urb->pipe) != pipetypes[xfertype]) +- dev_WARN(&dev
[LEDE-DEV] [PATCH] linux/archs38: Add wireless AP capabilities similarly to axs101
Now when ath9k-htc USB dongle works with axs103 in OHCI mode quite fine adding corresponding features to default configuration. Signed-off-by: Alexey Brodkin --- target/linux/archs38/generic/profiles/00-default.mk | 2 +- target/linux/archs38/generic/profiles/02-axs103.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/target/linux/archs38/generic/profiles/00-default.mk b/target/linux/archs38/generic/profiles/00-default.mk index fe8f49b..b097108 100644 --- a/target/linux/archs38/generic/profiles/00-default.mk +++ b/target/linux/archs38/generic/profiles/00-default.mk @@ -7,7 +7,7 @@ define Profile/Default NAME:=Default Profile (all drivers) - PACKAGES:= kmod-usb-core kmod-usb-ohci kmod-mmc kmod-sdhci + PACKAGES:= kmod-usb-core kmod-usb-ohci kmod-mmc kmod-sdhci kmod-ath9k-htc wpad-mini endef define Profile/Default/Description diff --git a/target/linux/archs38/generic/profiles/02-axs103.mk b/target/linux/archs38/generic/profiles/02-axs103.mk index 1461697..156bef7 100644 --- a/target/linux/archs38/generic/profiles/02-axs103.mk +++ b/target/linux/archs38/generic/profiles/02-axs103.mk @@ -7,7 +7,7 @@ define Profile/axs103 NAME:=Synopsys DesignWare AXS103 - PACKAGES:= kmod-usb-core kmod-usb-ohci kmod-mmc kmod-sdhci + PACKAGES:= kmod-usb-core kmod-usb-ohci kmod-mmc kmod-sdhci kmod-ath9k-htc wpad-mini endef define Profile/axs103/Description -- 2.5.5 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH 1/2] Revert "linux: arc: disable kernel unwinding to fix modules loading"
This reverts commit acd41539d630688e9891003c9b51cace3e113316. There's a fix in upstream that will at some point land in 4.4 stable as well so we'll get rid of this hack and with the next commit will apply upstream fix. Signed-off-by: Alexey Brodkin --- target/linux/arc770/config-4.4 | 3 ++- target/linux/archs38/config-4.4 | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/target/linux/arc770/config-4.4 b/target/linux/arc770/config-4.4 index d6905d7..87fd7e3 100644 --- a/target/linux/arc770/config-4.4 +++ b/target/linux/arc770/config-4.4 @@ -18,7 +18,7 @@ CONFIG_ARC_CURR_IN_REG=y CONFIG_ARC_DBG=y # CONFIG_ARC_DBG_TLB_MISS_COUNT is not set # CONFIG_ARC_DBG_TLB_PARANOIA is not set -# CONFIG_ARC_DW2_UNWIND is not set +CONFIG_ARC_DW2_UNWIND=y CONFIG_ARC_EMUL_UNALIGNED=y # CONFIG_ARC_FPU_SAVE_RESTORE is not set CONFIG_ARC_HAS_DCACHE=y @@ -78,6 +78,7 @@ CONFIG_HAVE_FUTEX_CMPXCHG=y CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_HAVE_NET_DSA=y CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_PERF_EVENTS=y diff --git a/target/linux/archs38/config-4.4 b/target/linux/archs38/config-4.4 index c7dc264..9ea33c6 100644 --- a/target/linux/archs38/config-4.4 +++ b/target/linux/archs38/config-4.4 @@ -15,7 +15,7 @@ CONFIG_ARC_CURR_IN_REG=y CONFIG_ARC_DBG=y # CONFIG_ARC_DBG_TLB_MISS_COUNT is not set # CONFIG_ARC_DBG_TLB_PARANOIA is not set -# CONFIG_ARC_DW2_UNWIND is not set +CONFIG_ARC_DW2_UNWIND=y CONFIG_ARC_HAS_COH_CACHES=y CONFIG_ARC_HAS_DCACHE=y # CONFIG_ARC_HAS_DCCM is not set @@ -85,6 +85,7 @@ CONFIG_HAVE_FUTEX_CMPXCHG=y CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_HAVE_NET_DSA=y CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_PERF_EVENTS=y @@ -174,6 +175,7 @@ CONFIG_SRCU=y CONFIG_STACKTRACE=y CONFIG_STMMAC_ETH=y CONFIG_STMMAC_PLATFORM=y +# CONFIG_SUNXI_SRAM is not set CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_UNINLINE_SPIN_UNLOCK=y CONFIG_USB_SUPPORT=y -- 2.5.5 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH 2/2] kernel: Add upstream fix for module loading
Instead of disabling unwinding entirely this upstream patch just disables generation of async unwind tables. Once the patch in question lands in stable 4.4 tree this change essentially must be removed (otherwise patch application will fail). Reference to upstream commit: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/arch/arc?id=f52e126cc7476196f44f3c313b7d9f0699a881fc Signed-off-by: Alexey Brodkin --- ...ensure-that-.debug_frame-is-generated-vs..patch | 46 ++ 1 file changed, 46 insertions(+) create mode 100644 target/linux/generic/patches-4.4/334-ARC-unwind-ensure-that-.debug_frame-is-generated-vs..patch diff --git a/target/linux/generic/patches-4.4/334-ARC-unwind-ensure-that-.debug_frame-is-generated-vs..patch b/target/linux/generic/patches-4.4/334-ARC-unwind-ensure-that-.debug_frame-is-generated-vs..patch new file mode 100644 index 000..a1e287c --- /dev/null +++ b/target/linux/generic/patches-4.4/334-ARC-unwind-ensure-that-.debug_frame-is-generated-vs..patch @@ -0,0 +1,46 @@ +From 23cd0de28cc7978130b770dd59b18ac143253351 Mon Sep 17 00:00:00 2001 +From: Vineet Gupta +Date: Tue, 28 Jun 2016 09:42:25 +0530 +Subject: [PATCH] ARC: unwind: ensure that .debug_frame is generated (vs. + .eh_frame) + +With recent binutils update to support dwarf CFI pseudo-ops in gas, we +now get .eh_frame vs. .debug_frame. Although the call frame info is +exactly the same in both, the CIE differs, which the current kernel +unwinder can't cope with. + +This broke both the kernel unwinder as well as loadable modules (latter +because of a new unhandled relo R_ARC_32_PCREL from .rela.eh_frame in +the module loader) + +The ideal solution would be to switch unwinder to .eh_frame. +For now however we can make do by just ensureing .debug_frame is +generated by removing -fasynchronous-unwind-tables + + .eh_framegenerated with -gdwarf-2 -fasynchronous-unwind-tables + .debug_frame generated with -gdwarf-2 + +Fixes STAR 9001058196 + +Cc: sta...@vger.kernel.org +Signed-off-by: Vineet Gupta +--- + arch/arc/Makefile | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/arch/arc/Makefile b/arch/arc/Makefile +index aeb1902..209d845 100644 +--- a/arch/arc/Makefile b/arch/arc/Makefile +@@ -48,8 +48,6 @@ endif + + endif + +-cflags-$(CONFIG_ARC_DW2_UNWIND) += -fasynchronous-unwind-tables +- + # By default gcc 4.8 generates dwarf4 which kernel unwinder can't grok + ifeq ($(atleast_gcc48),y) + cflags-$(CONFIG_ARC_DW2_UNWIND) += -gdwarf-2 +-- +2.5.5 + -- 2.5.5 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH 1/2] Revert "linux: arc: disable kernel unwinding to fix modules loading"
This reverts commit acd41539d630688e9891003c9b51cace3e113316. There's a fix in upstream that will at some point land in 4.4 stable as well so we'll get rid of this hack and with the next commit will apply upstream fix. Signed-off-by: Alexey Brodkin --- target/linux/arc770/config-4.4 | 3 ++- target/linux/archs38/config-4.4 | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/target/linux/arc770/config-4.4 b/target/linux/arc770/config-4.4 index d6905d7..87fd7e3 100644 --- a/target/linux/arc770/config-4.4 +++ b/target/linux/arc770/config-4.4 @@ -18,7 +18,7 @@ CONFIG_ARC_CURR_IN_REG=y CONFIG_ARC_DBG=y # CONFIG_ARC_DBG_TLB_MISS_COUNT is not set # CONFIG_ARC_DBG_TLB_PARANOIA is not set -# CONFIG_ARC_DW2_UNWIND is not set +CONFIG_ARC_DW2_UNWIND=y CONFIG_ARC_EMUL_UNALIGNED=y # CONFIG_ARC_FPU_SAVE_RESTORE is not set CONFIG_ARC_HAS_DCACHE=y @@ -78,6 +78,7 @@ CONFIG_HAVE_FUTEX_CMPXCHG=y CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_HAVE_NET_DSA=y CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_PERF_EVENTS=y diff --git a/target/linux/archs38/config-4.4 b/target/linux/archs38/config-4.4 index c7dc264..9ea33c6 100644 --- a/target/linux/archs38/config-4.4 +++ b/target/linux/archs38/config-4.4 @@ -15,7 +15,7 @@ CONFIG_ARC_CURR_IN_REG=y CONFIG_ARC_DBG=y # CONFIG_ARC_DBG_TLB_MISS_COUNT is not set # CONFIG_ARC_DBG_TLB_PARANOIA is not set -# CONFIG_ARC_DW2_UNWIND is not set +CONFIG_ARC_DW2_UNWIND=y CONFIG_ARC_HAS_COH_CACHES=y CONFIG_ARC_HAS_DCACHE=y # CONFIG_ARC_HAS_DCCM is not set @@ -85,6 +85,7 @@ CONFIG_HAVE_FUTEX_CMPXCHG=y CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_HAVE_NET_DSA=y CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_PERF_EVENTS=y @@ -174,6 +175,7 @@ CONFIG_SRCU=y CONFIG_STACKTRACE=y CONFIG_STMMAC_ETH=y CONFIG_STMMAC_PLATFORM=y +# CONFIG_SUNXI_SRAM is not set CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_UNINLINE_SPIN_UNLOCK=y CONFIG_USB_SUPPORT=y -- 2.5.5 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH 0/2] kernel: arc: Better fix for modules loading
Current fix in Lede/OpenWRT was done when upstream kernel had no similar fix. Now when upstream fix is available let's take it. Alexey Brodkin (2): Revert "linux: arc: disable kernel unwinding to fix modules loading" kernel: Add upstream fix for module loading target/linux/arc770/config-4.4 | 3 +- target/linux/archs38/config-4.4| 4 +- ...ensure-that-.debug_frame-is-generated-vs..patch | 46 ++ 3 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 target/linux/generic/patches-4.4/334-ARC-unwind-ensure-that-.debug_frame-is-generated-vs..patch -- 2.5.5 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH 2/2 v2] kernel: Add upstream fix for module loading
Instead of disabling unwinding entirely this upstream patch just disables generation of async unwind tables. Once the patch in question lands in stable 4.4 tree this change essentially must be removed (otherwise patch application will fail). Signed-off-by: Alexey Brodkin --- Changes v1 -> v2: * Since this is a true backport from upstream kernel move patch to 0xx-... ...ensure-that-.debug_frame-is-generated-vs..patch | 46 ++ 1 file changed, 46 insertions(+) create mode 100644 target/linux/generic/patches-4.4/095-ARC-unwind-ensure-that-.debug_frame-is-generated-vs..patch diff --git a/target/linux/generic/patches-4.4/095-ARC-unwind-ensure-that-.debug_frame-is-generated-vs..patch b/target/linux/generic/patches-4.4/095-ARC-unwind-ensure-that-.debug_frame-is-generated-vs..patch new file mode 100644 index 000..a1e287c --- /dev/null +++ b/target/linux/generic/patches-4.4/095-ARC-unwind-ensure-that-.debug_frame-is-generated-vs..patch @@ -0,0 +1,46 @@ +From 23cd0de28cc7978130b770dd59b18ac143253351 Mon Sep 17 00:00:00 2001 +From: Vineet Gupta +Date: Tue, 28 Jun 2016 09:42:25 +0530 +Subject: [PATCH] ARC: unwind: ensure that .debug_frame is generated (vs. + .eh_frame) + +With recent binutils update to support dwarf CFI pseudo-ops in gas, we +now get .eh_frame vs. .debug_frame. Although the call frame info is +exactly the same in both, the CIE differs, which the current kernel +unwinder can't cope with. + +This broke both the kernel unwinder as well as loadable modules (latter +because of a new unhandled relo R_ARC_32_PCREL from .rela.eh_frame in +the module loader) + +The ideal solution would be to switch unwinder to .eh_frame. +For now however we can make do by just ensureing .debug_frame is +generated by removing -fasynchronous-unwind-tables + + .eh_framegenerated with -gdwarf-2 -fasynchronous-unwind-tables + .debug_frame generated with -gdwarf-2 + +Fixes STAR 9001058196 + +Cc: sta...@vger.kernel.org +Signed-off-by: Vineet Gupta +--- + arch/arc/Makefile | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/arch/arc/Makefile b/arch/arc/Makefile +index aeb1902..209d845 100644 +--- a/arch/arc/Makefile b/arch/arc/Makefile +@@ -48,8 +48,6 @@ endif + + endif + +-cflags-$(CONFIG_ARC_DW2_UNWIND) += -fasynchronous-unwind-tables +- + # By default gcc 4.8 generates dwarf4 which kernel unwinder can't grok + ifeq ($(atleast_gcc48),y) + cflags-$(CONFIG_ARC_DW2_UNWIND) += -gdwarf-2 +-- +2.5.5 + -- 2.5.5 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH 0/2 v2] kernel: arc: Better fix for modules loading
Current fix in Lede/OpenWRT was done when upstream kernel had no similar fix. Now when upstream fix is available let's take it. Changes v1 -> v2: * Renamed backported patch to 0xx- Alexey Brodkin (2): Revert "linux: arc: disable kernel unwinding to fix modules loading" kernel: Add upstream fix for module loading target/linux/arc770/config-4.4 | 3 +- target/linux/archs38/config-4.4| 4 +- ...ensure-that-.debug_frame-is-generated-vs..patch | 46 ++ 3 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 target/linux/generic/patches-4.4/095-ARC-unwind-ensure-that-.debug_frame-is-generated-vs..patch -- 2.5.5 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH 1/2 v2] Revert "linux: arc: disable kernel unwinding to fix modules loading"
This reverts commit acd41539d630688e9891003c9b51cace3e113316. There's a fix in upstream that will at some point land in 4.4 stable as well so we'll get rid of this hack and with the next commit will apply upstream fix. Signed-off-by: Alexey Brodkin --- No changes v1 -> v2. target/linux/arc770/config-4.4 | 3 ++- target/linux/archs38/config-4.4 | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/target/linux/arc770/config-4.4 b/target/linux/arc770/config-4.4 index d6905d7..87fd7e3 100644 --- a/target/linux/arc770/config-4.4 +++ b/target/linux/arc770/config-4.4 @@ -18,7 +18,7 @@ CONFIG_ARC_CURR_IN_REG=y CONFIG_ARC_DBG=y # CONFIG_ARC_DBG_TLB_MISS_COUNT is not set # CONFIG_ARC_DBG_TLB_PARANOIA is not set -# CONFIG_ARC_DW2_UNWIND is not set +CONFIG_ARC_DW2_UNWIND=y CONFIG_ARC_EMUL_UNALIGNED=y # CONFIG_ARC_FPU_SAVE_RESTORE is not set CONFIG_ARC_HAS_DCACHE=y @@ -78,6 +78,7 @@ CONFIG_HAVE_FUTEX_CMPXCHG=y CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_HAVE_NET_DSA=y CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_PERF_EVENTS=y diff --git a/target/linux/archs38/config-4.4 b/target/linux/archs38/config-4.4 index c7dc264..9ea33c6 100644 --- a/target/linux/archs38/config-4.4 +++ b/target/linux/archs38/config-4.4 @@ -15,7 +15,7 @@ CONFIG_ARC_CURR_IN_REG=y CONFIG_ARC_DBG=y # CONFIG_ARC_DBG_TLB_MISS_COUNT is not set # CONFIG_ARC_DBG_TLB_PARANOIA is not set -# CONFIG_ARC_DW2_UNWIND is not set +CONFIG_ARC_DW2_UNWIND=y CONFIG_ARC_HAS_COH_CACHES=y CONFIG_ARC_HAS_DCACHE=y # CONFIG_ARC_HAS_DCCM is not set @@ -85,6 +85,7 @@ CONFIG_HAVE_FUTEX_CMPXCHG=y CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_HAVE_NET_DSA=y CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_PERF_EVENTS=y @@ -174,6 +175,7 @@ CONFIG_SRCU=y CONFIG_STACKTRACE=y CONFIG_STMMAC_ETH=y CONFIG_STMMAC_PLATFORM=y +# CONFIG_SUNXI_SRAM is not set CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_UNINLINE_SPIN_UNLOCK=y CONFIG_USB_SUPPORT=y -- 2.5.5 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] DHCP via bridge in case of IPv4
Hello, I was playing with quite simple bridged setup on different boards with very recent kernels (4.6.3 as of this writing) and found one interesting behavior that I cannot yet understand and googling din't help here as well. My setup is pretty simple: - -- - | HOST | | "Dumb AP" | | Wireless client | | with DHCP |<->(eth0) (wlan0)<->| attempting to | | server| |\ br0 / | | get settings via DHCP | - -- - * HOST is my laptop with DHCP server that works for sure. * "Dumb AP" is a separate board (I tried ARM-based Wandboard and ARC-based AXS10x boards but results are exactly the same) with wired (eth0) and wireless (wlan0) network controllers bridged together (br0). That "br0" bridge flawlessly gets its settings from DHCP server on host. * Wireless client could be either a smatrphone or another laptop etc but what's important it should be configured to get network settings by DHCP as well. So what happens "br0" always gets network settings from DHCP server on HOST. That's fine. But wireless client only reliably gets settings from DHCP server if IPv6 is enabled on "Dumb AP" board. If IPv6 is disabled I may see that wireless client sends "DHCP Discover" then server replies with "DHCP Offer" but that offer never reaches wireless client. Well actually sometimes very-very rarely that offer may reach wireless client but I cannot understand how to reproduce it reliably. Still looks like enabling of IPv6 fixes that issue. So my question here is: why I see that difference with IPv4 vs IPv6? One sidenote: Somehow I figured out that in case of IPv4 so-called routing cache is absent (it was removed in Linux kernel 3.6) while with IPv6 it still exist. And assuming my hardware is sane and no data gets lost I may think that it's really a routing problem and missing routing cache might be an answer. Still being a noob in networking stuff I'd like to get a bit better explanation of things I see. All thoughts and comments are more than welcome. Regards, Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] DHCP via bridge in case of IPv4
Hi Aaron, On Sat, 2016-07-09 at 07:47 -0400, Aaron Z wrote: > On Sat, Jul 9, 2016 at 4:37 AM, Alexey Brodkin > wrote: > > > > Hello, > > > > I was playing with quite simple bridged setup on different boards with > > very recent kernels (4.6.3 as of this writing) and found one interesting > > behavior that I cannot yet understand and googling din't help here as well. > > > > My setup is pretty simple: > > - -- - > > > > > > HOST | | "Dumb AP" | | Wireless client | > > > with DHCP |<->(eth0) (wlan0)<->| attempting to | > > > server| |\ br0 / | | get settings via DHCP | > > - -- - > > > > * HOST is my laptop with DHCP server that works for sure. > > * "Dumb AP" is a separate board (I tried ARM-based Wandboard and ARC-based > > AXS10x boards but results are exactly the same) with wired (eth0) and > > wireless > > (wlan0) network controllers bridged together (br0). That "br0" bridge > > flawlessly > > gets its settings from DHCP server on host. > > * Wireless client could be either a smatrphone or another laptop etc but > > what's important it should be configured to get network settings by DHCP > > as well. > > > > So what happens "br0" always gets network settings from DHCP server on HOST. > > That's fine. But wireless client only reliably gets settings from DHCP > > server > > if IPv6 is enabled on "Dumb AP" board. If IPv6 is disabled I may see that > > wireless client sends "DHCP Discover" then server replies with "DHCP Offer" > > but > > that offer never reaches wireless client. > > > Do you have WDS enabled? If not, DHCP has issues in that scenario: > https://wiki.openwrt.org/doc/howto/clientmode I don't have WDS enabled. I tried to have as simple setup as possible. Still from what I see in the Wiki article above problem happens when there're 4 devices in the chain, right? Because as it says: >8 The 802.11 standard only uses three MAC addresses for frames transmitted between the Access Point and the Station. Frames transmitted from the Station to the AP don't include the ethernet source MAC of the requesting host and response frames are missing the destination ethernet MAC to address the target host behind the client bridge. >8 But in my case I only have 3 devices in the chain so I would think it's something else but issue described in the article. Anyways thanks for the hint. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] DHCP via bridge in case of IPv4
Hi Russel, On Sun, 2016-07-10 at 00:19 -0700, Russell Senior wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > "Alexey" == Alexey Brodkin writes: > Alexey> Hi Aaron, > Alexey> On Sat, 2016-07-09 at 07:47 -0400, Aaron Z wrote: > > > > > > > > On Sat, Jul 9, 2016 at 4:37 AM, Alexey Brodkin > > > wrote: > > > > > > > > > > > > Hello, > > > > > > > > I was playing with quite simple bridged setup on different boards > > > with > very recent kernels (4.6.3 as of this writing) and found one > > > interesting > behavior that I cannot yet understand and googling > > > din't help here as well. > > > > > > > > > > > > My setup is pretty simple: > > > > - -- - > > > > > > > > > > > > > > > > > > > HOST | | "Dumb AP" | | Wireless > > > client | > > with DHCP |<->(eth0) (wlan0)<->| > > > attempting to | > > server| |\ br0 > > > / | | get settings via DHCP | > > > > - -- - > > > > > > > > > > > > * HOST is my laptop with DHCP server that works for sure. > * > > > "Dumb AP" is a separate board (I tried ARM-based Wandboard and > > > ARC-based > AXS10x boards but results are exactly the same) with > > > wired (eth0) and wireless > (wlan0) network controllers bridged > > > together (br0). That "br0" bridge flawlessly > gets its settings > > > from DHCP server on host. > * Wireless client could be either a > > > smatrphone or another laptop etc but > what's important it should > > > be configured to get network settings by DHCP as well. > > > > > > > > > > > > So what happens "br0" always gets network settings from DHCP server > > > on HOST. > That's fine. But wireless client only reliably gets > > > settings from DHCP server > if IPv6 is enabled on "Dumb AP" board. If > > > IPv6 is disabled I may see that > wireless client sends "DHCP > > > Discover" then server replies with "DHCP Offer" but > that offer > > > never reaches wireless client. > > > > > > > > > Do you have WDS enabled? If not, DHCP has issues in that scenario: > > > https://wiki.openwrt.org/doc/howto/clientmode > If the Dumb AP's wireless interface is in ap-mode, then this shouldn't > be an issue. It's only client-mode interfaces that have trouble with > bridging. > > I'd suggest running tcpdump on the Dumb AP's wireless interface and the > client's wireless interface and see which of them sees the various parts > of the DHCP handshake. So I did but for DHCP server and wireless client (had no tcpdump on Dump AP at the moment). That's what I see on the server: ->8--- No. TimeSource Destination Protocol Length Info 3 0.151181000 0.0.0.0255.255.255.255 DHCP 342DHCP Discover - Transaction ID 0x31dc321f 11 2.760796000 10.42.0.1 10.42.0.13 DHCP 342DHCP Offer- Transaction ID 0x31dc321f 14 5.220985000 0.0.0.0255.255.255.255 DHCP 342DHCP Discover - Transaction ID 0x31dc321f 15 5.22115 10.42.0.1 10.42.0.13 DHCP 342DHCP Offer- Transaction ID 0x31dc321f 23 15.649835000 0.0.0.0255.255.255.255 DHCP 342DHCP Discover - Transaction ID 0x31dc321f 24 15.650017000 10.42.0.1 10.42.0.13 DHCP 342DHCP Offer- Transaction ID 0x31dc321f 32 25.648589000 0.0.0.0255.255.255.255 DHCP 342DHCP Discover - Transaction ID 0x31dc321f 33 25.648758000 10.42.0.1 10.42.0.13 DHCP 342DHCP Offer- Transaction ID 0x31dc321f 43 35.864567000 0.0.0.0255.255.255.255 DHCP 342DHCP Discover - Transaction ID 0x31dc321f 48 38.832837000 10.42.0.1 10.42.0.13 DHCP 342DHCP Offer- Transaction ID 0x31dc321f ->8--- That's on the wireless client: ->8--- No. Time Source Destination Protocol Length Info 1171 94.192971000 0.0.0.0 255.255.255.255 DHCP 342DHCP Discover - Transaction ID 0x31dc321f 1182 99.263686000 0.0.0.0 255.255.255.255 DHCP 342DHCP Discover - Transaction ID 0x31dc321f 1185 109.692642000 0.0.0.0 255.255.255.255 DHCP 342DHCP Discover - Transaction ID 0x31dc321f 1186 119.691474000 0.0.0.0 255.255.255.255 DHCP 342DHCP Discover - Transaction ID 0x31dc321f 1190 129.907507000 0.0.0.0 255.255.255.255 DHCP 342DHCP Discover - Transaction ID 0x31dc321f ->8--- I'll try to capture data from Dumb AP sometime soon and will reply to the thread. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] Add ARC platforms to platforms wiki
Hello, I'm wondering if there's a chance to add information about ARC platforms in the Wiki here https://dev.openwrt.org/wiki/platforms? I think something like this will work == Target name Platform Architecture Endianness Developer(s)Known Issues/Notes -- arc770 Synopsys DesignWare ARC 770D ARC little abrodkin arc770 archs38 Synopsys DesignWare ARC HS38 ARC little abrodkin archs38 == Regards, Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] [OpenWrt-Devel] Add ARC platforms to platforms wiki
Hi Florian, On Thu, 2016-07-21 at 11:23 -0700, Florian Fainelli wrote: > On 07/21/2016 10:45 AM, Alexey Brodkin wrote: > > > > Hello, > > > > I'm wondering if there's a chance to add information about ARC > > platforms in the Wiki here https://dev.openwrt.org/wiki/platforms? > > Done Thanks a lot! -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] Do we really need 000-keep_initrafs_the_default.patch?
Hello, I'm wondering why there's a need for "000-keep_initrafs_the_default.patch"? It could be found here: -->8 target/linux/generic/patches-3.18/000-keep_initrafs_the_default.patch target/linux/generic/patches-4.1/000-keep_initrafs_the_default.patch target/linux/generic/patches-4.4/000-keep_initrafs_the_default.patch -->8 With that patch in place for initramfs no additional options are reported for "/" partition. What's really important is missing info about sizes. Which in its turn makes opkg think that there's no space on "/" partition to install software. I understand that's a sort of corner-case, people rarely install packages on ramfs but anyways why not? Just in case that's what I see with the patch: -->8 root@lede:/# cat /proc/mounts rootfs / rootfs rw 0 0 proc /proc proc rw,nosuid,nodev,noexec,noatime 0 0 sysfs /sys sysfs rw,nosuid,nodev,noexec,noatime 0 0 tmpfs /tmp tmpfs rw,nosuid,nodev,noatime 0 0 tmpfs /dev tmpfs rw,nosuid,relatime,size=512k,mode=755 0 0 devpts /dev/pts devpts rw,nosuid,noexec,relatime,mode=600 0 0 debugfs /sys/kernel/debug debugfs rw,noatime 0 0 -->8 And without: -->8 root@lede:/# cat /proc/mounts rootfs / rootfs rw,size=256168k,nr_inodes=32021 0 0 proc /proc proc rw,nosuid,nodev,noexec,noatime 0 0 sysfs /sys sysfs rw,nosuid,nodev,noexec,noatime 0 0 tmpfs /tmp tmpfs rw,nosuid,nodev,noatime 0 0 tmpfs /dev tmpfs rw,nosuid,relatime,size=512k,mode=755 0 0 devpts /dev/pts devpts rw,nosuid,noexec,relatime,mode=600 0 0 debugfs /sys/kernel/debug debugfs rw,noatime 0 0 -->8 Note how different is entry for rootfs. If there're no objections I'll go ahead and send a patch that gets rid of all 3 patches mentioned above. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] sunxi/pcduino3: Remove selection of absent rtl8188eu
Since commit 217a64375547 "wireless: remove rtl8188eu (staging)" there's no point in selection of the missing module. Signed-off-by: Alexey Brodkin Cc: John Crispin Cc: Zoltan Herpai --- target/linux/sunxi/profiles/pcduino3.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/sunxi/profiles/pcduino3.mk b/target/linux/sunxi/profiles/pcduino3.mk index 4d6dcb1..1c4e753 100644 --- a/target/linux/sunxi/profiles/pcduino3.mk +++ b/target/linux/sunxi/profiles/pcduino3.mk @@ -9,7 +9,7 @@ define Profile/Linksprite_pcDuino3 NAME:=pcDuino3 PACKAGES:=\ uboot-sunxi-Linksprite_pcDuino3 kmod-sun4i-emac kmod-rtc-sunxi \ - kmod-net-rtl8188eu kmod-ata-core kmod-ata-sunxi + kmod-ata-core kmod-ata-sunxi endef define Profile/Linksprite_pcDuino3/Description -- 2.7.4 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] linux: Get rid of 000-keep_initrafs_the_default.patch
With that patch in place for initramfs no additional options are reported for "/" partition. What's really important is missing info about sizes. Which in its turn makes opkg think that there's no space on "/" partition to install software. I understand that's a sort of corner-case, people rarely install packages on ramfs but anyways why not? Just in case that's what I see with the patch: -->8 root@lede:/# cat /proc/mounts rootfs / rootfs rw 0 0 proc /proc proc rw,nosuid,nodev,noexec,noatime 0 0 sysfs /sys sysfs rw,nosuid,nodev,noexec,noatime 0 0 tmpfs /tmp tmpfs rw,nosuid,nodev,noatime 0 0 tmpfs /dev tmpfs rw,nosuid,relatime,size=512k,mode=755 0 0 devpts /dev/pts devpts rw,nosuid,noexec,relatime,mode=600 0 0 debugfs /sys/kernel/debug debugfs rw,noatime 0 0 -->8 And without: -->8 root@lede:/# cat /proc/mounts rootfs / rootfs rw,size=256168k,nr_inodes=32021 0 0 proc /proc proc rw,nosuid,nodev,noexec,noatime 0 0 sysfs /sys sysfs rw,nosuid,nodev,noexec,noatime 0 0 tmpfs /tmp tmpfs rw,nosuid,nodev,noatime 0 0 tmpfs /dev tmpfs rw,nosuid,relatime,size=512k,mode=755 0 0 devpts /dev/pts devpts rw,nosuid,noexec,relatime,mode=600 0 0 debugfs /sys/kernel/debug debugfs rw,noatime 0 0 -->8 Note how different is entry for rootfs. And given there's no known rationale for that patch we're getting rid of it. Signed-off-by: Alexey Brodkin Cc: Jonas Gorski Cc: Rafał Miłecki Cc: John Crispin Cc: Felix Fietkau --- .../000-keep_initrafs_the_default.patch| 25 -- .../000-keep_initrafs_the_default.patch| 25 -- .../000-keep_initrafs_the_default.patch| 25 -- 3 files changed, 75 deletions(-) delete mode 100644 target/linux/generic/patches-3.18/000-keep_initrafs_the_default.patch delete mode 100644 target/linux/generic/patches-4.1/000-keep_initrafs_the_default.patch delete mode 100644 target/linux/generic/patches-4.4/000-keep_initrafs_the_default.patch diff --git a/target/linux/generic/patches-3.18/000-keep_initrafs_the_default.patch b/target/linux/generic/patches-3.18/000-keep_initrafs_the_default.patch deleted file mode 100644 index d4164ca..000 --- a/target/linux/generic/patches-3.18/000-keep_initrafs_the_default.patch +++ /dev/null @@ -1,25 +0,0 @@ -Upstream changed the default rootfs to tmpfs when none has been passed -to the kernel - this doesn't fit our purposes, so change it back. - -Signed-off-by: Imre Kaloz - a/init/do_mounts.c -+++ b/init/do_mounts.c -@@ -623,6 +623,7 @@ int __init init_rootfs(void) - if (err) - return err; - -+#if 0 - if (IS_ENABLED(CONFIG_TMPFS) && !saved_root_name[0] && - (!root_fs_names || strstr(root_fs_names, "tmpfs"))) { - err = shmem_init(); -@@ -630,6 +631,9 @@ int __init init_rootfs(void) - } else { - err = init_ramfs_fs(); - } -+#else -+ err = init_ramfs_fs(); -+#endif - - if (err) - unregister_filesystem(&rootfs_fs_type); diff --git a/target/linux/generic/patches-4.1/000-keep_initrafs_the_default.patch b/target/linux/generic/patches-4.1/000-keep_initrafs_the_default.patch deleted file mode 100644 index 5e56d44..000 --- a/target/linux/generic/patches-4.1/000-keep_initrafs_the_default.patch +++ /dev/null @@ -1,25 +0,0 @@ -Upstream changed the default rootfs to tmpfs when none has been passed -to the kernel - this doesn't fit our purposes, so change it back. - -Signed-off-by: Imre Kaloz - a/init/do_mounts.c -+++ b/init/do_mounts.c -@@ -628,6 +628,7 @@ int __init init_rootfs(void) - if (err) - return err; - -+#if 0 - if (IS_ENABLED(CONFIG_TMPFS) && !saved_root_name[0] && - (!root_fs_names || strstr(root_fs_names, "tmpfs"))) { - err = shmem_init(); -@@ -635,6 +636,9 @@ int __init init_rootfs(void) - } else { - err = init_ramfs_fs(); - } -+#else -+ err = init_ramfs_fs(); -+#endif - - if (err) - unregister_filesystem(&rootfs_fs_type); diff --git a/target/linux/generic/patches-4.4/000-keep_initrafs_the_default.patch b/target/linux/generic/patches-4.4/000-keep_initrafs_the_default.patch deleted file mode 100644 index e6f1be4..000 --- a/target/linux/generic/patches-4.4/000-keep_initrafs_the_default.patch +++ /dev/null @@ -1,25 +0,0 @@ -Upstream changed the default rootfs to tmpfs when none has been passed -to the kernel - this doesn't fit our purposes, so change it back. - -Signed-off-by: Imre Kaloz - a/init/do_mounts.c -+++ b/init/do_mounts.c -@@ -633,6 +633,7 @@ int __init init_rootfs(void) - if (err) - return err;
[LEDE-DEV] [PATCH] linux/arc*: disable MAC frame filter in DW GMAC
For some [still unknown] reason in ARC SDP boards DW GMAC doesn't enter promiscuous mode if eth0 gets added to the br-lan interface before Ethernet PHY finishes autonegotiation (PHY gets reset on DW GMAC start). As a work-around we completely disable frame filtering in GMAC hardware which gives us working bridge that consists of eth0 and wlan0 (USB Wi-Fi dongle). I.e. we finally have working "Dumb AP" setup made of ARC AXS10x boards. Given this is pretty ugly hack we're applying it only for affected platforms which do require eth0 to enter promiscuous mode to operate in a bridge with wlan0. Signed-off-by: Alexey Brodkin --- ...-stmmac-Disable-fame-filtering-completely.patch | 36 ++ ...-stmmac-Disable-fame-filtering-completely.patch | 36 ++ 2 files changed, 72 insertions(+) create mode 100644 target/linux/arc770/patches-4.4/700-stmmac-Disable-fame-filtering-completely.patch create mode 100644 target/linux/archs38/patches-4.4/700-stmmac-Disable-fame-filtering-completely.patch diff --git a/target/linux/arc770/patches-4.4/700-stmmac-Disable-fame-filtering-completely.patch b/target/linux/arc770/patches-4.4/700-stmmac-Disable-fame-filtering-completely.patch new file mode 100644 index 000..d47f155 --- /dev/null +++ b/target/linux/arc770/patches-4.4/700-stmmac-Disable-fame-filtering-completely.patch @@ -0,0 +1,36 @@ +From 0031b9011cb2b2b1de4dbb4f9620303aec760db4 Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin +Date: Wed, 27 Jul 2016 11:33:14 +0300 +Subject: [PATCH] stmmac: Disable fame filtering completely + +For some [still unknown] reason in ARC SDP boards +DW GMAC doesn't enter promiscuous mode if eth0 gets +added to the br-lan interface before Ethernet PHY finishes +autonegotiation (PHY gets reset on DW GMAC start). + +As a work-around we completely disable frame filtering +in GMAC hardware which gives us working bridge that consists +of eth0 and wlan0 (USB Wi-Fi dongle). I.e. we finally have +working "Dumb AP" setup made of ARC AXS10x boards. + +Signed-off-by: Alexey Brodkin +--- + drivers/net/ethernet/stmicro/stmmac/common.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h +index 623c6ed..6396b81 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h +@@ -42,7 +42,7 @@ + #define DWMAC_CORE_3_50 0x35 + + #undef FRAME_FILTER_DEBUG +-/* #define FRAME_FILTER_DEBUG */ ++#define FRAME_FILTER_DEBUG + + /* Extra statistic and debug information exposed by ethtool */ + struct stmmac_extra_stats { +-- +2.7.4 + diff --git a/target/linux/archs38/patches-4.4/700-stmmac-Disable-fame-filtering-completely.patch b/target/linux/archs38/patches-4.4/700-stmmac-Disable-fame-filtering-completely.patch new file mode 100644 index 000..d47f155 --- /dev/null +++ b/target/linux/archs38/patches-4.4/700-stmmac-Disable-fame-filtering-completely.patch @@ -0,0 +1,36 @@ +From 0031b9011cb2b2b1de4dbb4f9620303aec760db4 Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin +Date: Wed, 27 Jul 2016 11:33:14 +0300 +Subject: [PATCH] stmmac: Disable fame filtering completely + +For some [still unknown] reason in ARC SDP boards +DW GMAC doesn't enter promiscuous mode if eth0 gets +added to the br-lan interface before Ethernet PHY finishes +autonegotiation (PHY gets reset on DW GMAC start). + +As a work-around we completely disable frame filtering +in GMAC hardware which gives us working bridge that consists +of eth0 and wlan0 (USB Wi-Fi dongle). I.e. we finally have +working "Dumb AP" setup made of ARC AXS10x boards. + +Signed-off-by: Alexey Brodkin +--- + drivers/net/ethernet/stmicro/stmmac/common.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h +index 623c6ed..6396b81 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h +@@ -42,7 +42,7 @@ + #define DWMAC_CORE_3_50 0x35 + + #undef FRAME_FILTER_DEBUG +-/* #define FRAME_FILTER_DEBUG */ ++#define FRAME_FILTER_DEBUG + + /* Extra statistic and debug information exposed by ethtool */ + struct stmmac_extra_stats { +-- +2.7.4 + -- 2.7.4 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] toolchain/gcc/arc-2016.03: Fix building on hosts with gcc 6.x
On attempt to build ARC toolchain on the host with gcc 6.1 I saw the same failure as described in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69959 This change adds a back-port of the fix from upstream gcc, see https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=233572 Note the fix is already a part of gcc-5.4 and gcc-6.1 so no need for the same fix for others. Signed-off-by: Alexey Brodkin --- .../arc-2016.03/950-fix-building-with-gcc6.patch | 153 + 1 file changed, 153 insertions(+) create mode 100644 toolchain/gcc/patches/arc-2016.03/950-fix-building-with-gcc6.patch diff --git a/toolchain/gcc/patches/arc-2016.03/950-fix-building-with-gcc6.patch b/toolchain/gcc/patches/arc-2016.03/950-fix-building-with-gcc6.patch new file mode 100644 index 000..e958380 --- /dev/null +++ b/toolchain/gcc/patches/arc-2016.03/950-fix-building-with-gcc6.patch @@ -0,0 +1,153 @@ +From 5dce741e00f86a08a4c174fb3605d896f210ab52 Mon Sep 17 00:00:00 2001 +From: Bernd Edlinger +Date: Wed, 27 Jul 2016 13:30:03 +0300 +Subject: [PATCH] 2016-02-19 Jakub JelinekBernd Edlinger + + +* Make-lang.in: Invoke gperf with -L C++. +* cfns.gperf: Remove prototypes for hash and libc_name_p +inlines. +* cfns.h: Regenerated. +* except.c (nothrow_libfn_p): Adjust. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233572138bc75d-0d04-0410-961f-82ee72b054a4 + +This patch fixes building of gcc-4.x by gcc-6.x, for more details see +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69959 + +Signed-off-by: Alexey Brodkin +--- + gcc/cp/Make-lang.in | 2 +- + gcc/cp/cfns.gperf | 10 ++ + gcc/cp/cfns.h | 41 ++--- + gcc/cp/except.c | 3 ++- + 4 files changed, 19 insertions(+), 37 deletions(-) + +diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in +index dce523a..36a1a97 100644 +--- a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in +@@ -115,7 +115,7 @@ else + # deleting the $(srcdir)/cp/cfns.h file. + $(srcdir)/cp/cfns.h: + endif +- gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \ ++ gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L C++ \ + $(srcdir)/cp/cfns.gperf --output-file $(srcdir)/cp/cfns.h + + # +diff --git a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf +index c4c4e2a..5c40933 100644 +--- a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf +@@ -1,3 +1,5 @@ ++%language=C++ ++%define class-name libc_name + %{ + /* Copyright (C) 2000-2013 Free Software Foundation, Inc. + +@@ -16,14 +18,6 @@ for more details. + You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING3. If not see + <http://www.gnu.org/licenses/>. */ +-#ifdef __GNUC__ +-__inline +-#endif +-static unsigned int hash (const char *, unsigned int); +-#ifdef __GNUC__ +-__inline +-#endif +-const char * libc_name_p (const char *, unsigned int); + %} + %% + # The standard C library functions, for feeding to gperf; the result is used +diff --git a/gcc/cp/cfns.h b/gcc/cp/cfns.h +index 42dd3cf..6c79864 100644 +--- a/gcc/cp/cfns.h b/gcc/cp/cfns.h +@@ -1,5 +1,5 @@ +-/* ANSI-C code produced by gperf version 3.0.3 */ +-/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf */ ++/* C++ code produced by gperf version 3.0.4 */ ++/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L C++ --output-file cfns.h cfns.gperf */ + + #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ + && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ +@@ -28,7 +28,7 @@ + #error "gperf generated tables don't work with this execution character set. Please report a bug to ." + #endif + +-#line 1 "cfns.gperf" ++#line 3 "cfns.gperf" + + /* Copyright (C) 2000-2013 Free Software Foundation, Inc. + +@@ -47,25 +47,18 @@ for more details. + You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING3. If not see + <http://www.gnu.org/licenses/>. */ +-#ifdef __GNUC__ +-__inline +-#endif +-static unsigned int hash (const char *, unsigned int); +-#ifdef __GNUC__ +-__inline +-#endif +-const char * libc_name_p (const char *, unsigned int); + /* maximum key range = 391, duplicates = 0 */ + +-#ifdef __GNUC__ +-__inline +-#else +-#ifdef __cplusplus +-inline +-#endif +-#endif +-static unsigned int +-hash (register const char *str, register unsigned int len) ++class libc_name ++{ ++private: ++ static inline unsigned int hash (const char *str, unsigned int len); ++public: ++ static const char *libc_name_p (const char *str, unsigned int len); ++}; ++ ++inline unsigned int ++libc_name::hash (register const char *str, register un
Re: [LEDE-DEV] [PATCH] linux/arc*: disable MAC frame filter in DW GMAC
Hi Felix, On Wed, 2016-07-27 at 17:19 +0200, Felix Fietkau wrote: > On 2016-07-27 14:11, Alexey Brodkin wrote: > > > > For some [still unknown] reason in ARC SDP boards > > DW GMAC doesn't enter promiscuous mode if eth0 gets > > added to the br-lan interface before Ethernet PHY finishes > > autonegotiation (PHY gets reset on DW GMAC start). > > I think this is something we need to look at more closely instead of > just papering over it in this way. By the way, arc* aren't the only ones > using stmmac, ipq806x uses it as well and might be equally affected. > Did you check if the network stack tells the driver to go into promisc > mode? Or does the frame filtering registers simply get clobbered > somewhere internally? > Let's do some more testing and get this fixed properly... Yeah I know DW GMAC is used a lot around the globe in different forms. For example I have Cubieboard2 where it is used and there I cannot reproduce the same problem. Luckily I have access to GMAC documentation and so I was able to check that Linux driver correctly programs "MAC frame filter" in different situations and still in some cases even if "PR" bit (bit #0) is set CPU doesn't get packages which DST MAC differs from GMAC's one. I.e. it looks like hardware for some reason operates not in the mode it was instructed/programmed to be in. I tried to check if "MAC frame filter" register gets corrupted every time new value was about to be written there but I haven't seen unexpected values. So either that "corruption" happens as a side-effect of some other operations or internal state-machine enters unexpected state based on some external events. If someone may try my reproduction scenario on other boards with DW GMAC it might give us more datapoints here. So what I do (before connection of network cable!) is: -->8- ifconfig eth0 up brctl addbr br0 brctl addif br0 eth0 ifconfig br0 up tcpdump -vv -i eth0 -n -e -->8- Then connect network cable and see if tcpdump shows anything. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
Re: [LEDE-DEV] DHCP via bridge in case of IPv4
Hello, On Mon, 2016-07-11 at 06:15 +, Alexey Brodkin wrote: > Hi Russel, > > On Sun, 2016-07-10 at 00:19 -0700, Russell Senior wrote: > > > > > > > > > "Alexey" == Alexey Brodkin writes: > > Alexey> Hi Aaron, > > Alexey> On Sat, 2016-07-09 at 07:47 -0400, Aaron Z wrote: > > > > > > > On Sat, Jul 9, 2016 at 4:37 AM, Alexey Brodkin > > > > wrote: > > > > > > > > > > Hello, > > > > > > > > > > I was playing with quite simple bridged setup on different boards > > > > with > very recent kernels (4.6.3 as of this writing) and found one > > > > interesting > behavior that I cannot yet understand and googling > > > > din't help here as well. > > > > > > > > > > My setup is pretty simple: > > > > > - -- - > > > > > > > > > > > HOST | | "Dumb AP" | | Wireless > > > > client | > > with DHCP |<->(eth0) (wlan0)<->| > > > > attempting to | > > server| |\ br0 > > > > / | | get settings via DHCP | > > > > > - -- - > > > > > * HOST is my laptop with DHCP server that works for sure. > * > > > > "Dumb AP" is a separate board (I tried ARM-based Wandboard and > > > > ARC-based > AXS10x boards but results are exactly the same) with > > > > wired (eth0) and wireless > (wlan0) network controllers bridged > > > > together (br0). That "br0" bridge flawlessly > gets its settings > > > > from DHCP server on host. > * Wireless client could be either a > > > > smatrphone or another laptop etc but > what's important it should > > > > be configured to get network settings by DHCP as well. > > > > > > > > > > So what happens "br0" always gets network settings from DHCP server > > > > on HOST. > That's fine. But wireless client only reliably gets > > > > settings from DHCP server > if IPv6 is enabled on "Dumb AP" board. If > > > > IPv6 is disabled I may see that > wireless client sends "DHCP > > > > Discover" then server replies with "DHCP Offer" but > that offer > > > > never reaches wireless client. > > > > > > > > Do you have WDS enabled? If not, DHCP has issues in that scenario: > > > > https://wiki.openwrt.org/doc/howto/clientmode > > If the Dumb AP's wireless interface is in ap-mode, then this shouldn't > > be an issue. It's only client-mode interfaces that have trouble with > > bridging. > > > > I'd suggest running tcpdump on the Dumb AP's wireless interface and the > > client's wireless interface and see which of them sees the various parts > > of the DHCP handshake. > > So I did but for DHCP server and wireless client (had no tcpdump on Dump AP > at the moment). > > That's what I see on the server: > ->8--- > No. TimeSource Destination Protocol Length Info > 3 0.151181000 0.0.0.0255.255.255.255 DHCP 342DHCP Discover - > Transaction ID 0x31dc321f > 11 2.760796000 10.42.0.1 10.42.0.13 DHCP 342DHCP Offer- > Transaction ID 0x31dc321f > 14 5.220985000 0.0.0.0255.255.255.255 DHCP 342DHCP Discover - > Transaction ID 0x31dc321f > 15 5.22115 10.42.0.1 10.42.0.13 DHCP 342DHCP Offer- > Transaction ID 0x31dc321f > 23 15.649835000 0.0.0.0255.255.255.255 DHCP 342DHCP Discover - > Transaction ID 0x31dc321f > 24 15.650017000 10.42.0.1 10.42.0.13 DHCP 342DHCP Offer- > Transaction ID 0x31dc321f > 32 25.648589000 0.0.0.0255.255.255.255 DHCP 342DHCP Discover - > Transaction ID 0x31dc321f > 33 25.648758000 10.42.0.1 10.42.0.13 DHCP 342DHCP Offer- > Transaction ID 0x31dc321f > 43 35.864567000 0.0.0.0255.255.255.255 DHCP 342DHCP Discover - > Transaction ID 0x31dc321f > 48 38.832837000 10.42.0.1 10.42.0.13 DHCP 342DHCP Offer- > Transaction ID 0x31dc321f > ->8--- > > That's on the wireless client: > ->8--- &
Re: [LEDE-DEV] [PATCH] linux/arc*: disable MAC frame filter in DW GMAC
Hi Felix, On Wed, 2016-07-27 at 17:19 +0200, Felix Fietkau wrote: > On 2016-07-27 14:11, Alexey Brodkin wrote: > > > > For some [still unknown] reason in ARC SDP boards > > DW GMAC doesn't enter promiscuous mode if eth0 gets > > added to the br-lan interface before Ethernet PHY finishes > > autonegotiation (PHY gets reset on DW GMAC start). > > I think this is something we need to look at more closely instead of > just papering over it in this way. By the way, arc* aren't the only ones > using stmmac, ipq806x uses it as well and might be equally affected. > Did you check if the network stack tells the driver to go into promisc > mode? Or does the frame filtering registers simply get clobbered > somewhere internally? > > Let's do some more testing and get this fixed properly... So I spent quite some time with that, short summary could be found here: http://lists.infradead.org/pipermail/linux-snps-arc/2016-August/001395.html Probably most important summary for us here is: ->8-- Unfortunately I cannot figure out why GMAC behaves that way. As per GMAC's databook the only reason for it to not react on a register being written is missing input clock but there's no reason for the clock to be missing and I don't seem to have a way to check if there's a problem with clock or not. ->8-- It worth trying on other boards with DW GMAC but the only other board except ARC SDP ones is Cubieboard2 with sunxi-gmac (which is a kind of DW GMAC as I may see from its Linux's driver) but on CB2 all works as exected. If somebody wants to volunteer I'll be more than happy to work with him/her trying to get more datapoints. And I do think in the meantime it's good to apply this patch so people get working Wireless AP without extra patching of sources or what's even better with snapshot images. -Alexey ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] tools/cmake: Fix building with openssl libs in non-default location
For some reason CMake's buildsystem searches for openssl libs on Linux either in /usr/libX, /usr/local/libX or in OPENSSL_ROOT_DIR ignoring standard LD_LIBRARY_PATH env var. This behavior breaks CMAke building if openssl libs are in some specific location like ~/.local/lib etc. Solution is simple set OPENSSL_ROOT_DIR env var before calling CMake's configure script. Now openssl libs if they exist in $(LD_LIBRARY_PATH) will be used. What's also nice libs from LD_LIBRARY_PATH will be used instead of system ones (if they exist). Signed-off-by: Alexey Brodkin --- tools/cmake/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/cmake/Makefile b/tools/cmake/Makefile index 7de0bd8..9985e09 100644 --- a/tools/cmake/Makefile +++ b/tools/cmake/Makefile @@ -19,7 +19,7 @@ HOST_CONFIGURE_PARALLEL:=1 include $(INCLUDE_DIR)/host-build.mk -HOST_CONFIGURE_CMD := MAKEFLAGS="$(HOST_JOBS)" $(BASH) ./configure +HOST_CONFIGURE_CMD := MAKEFLAGS="$(HOST_JOBS)" OPENSSL_ROOT_DIR=$(LD_LIBRARY_PATH) $(BASH) ./configure HOST_CONFIGURE_VARS := -- 2.6.3 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev
[LEDE-DEV] [PATCH] tools/tar: Bump to 1.29
This change updates tar from 1.28 to 1.29. Among other changes following commit http://git.savannah.gnu.org/cgit/tar.git/commit/lib/xattr-at.c?h=9c2b57232e3bc2e5ba85387560bcdd851849a128 substitutes previously used off-the-tree patch 100-fix_xattr_disable.patch Signed-off-by: Alexey Brodkin --- tools/tar/Makefile| 4 ++-- tools/tar/patches/100-fix_xattr_disable.patch | 17 - 2 files changed, 2 insertions(+), 19 deletions(-) delete mode 100644 tools/tar/patches/100-fix_xattr_disable.patch diff --git a/tools/tar/Makefile b/tools/tar/Makefile index 975e783..4f2c2e5 100644 --- a/tools/tar/Makefile +++ b/tools/tar/Makefile @@ -7,11 +7,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tar -PKG_VERSION:=1.28 +PKG_VERSION:=1.29 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/tar -PKG_MD5SUM:=49b6306167724fe48f419a33a5beb857 +PKG_MD5SUM:=a1802fec550baaeecff6c381629653ef HOST_BUILD_PARALLEL := 1 diff --git a/tools/tar/patches/100-fix_xattr_disable.patch b/tools/tar/patches/100-fix_xattr_disable.patch deleted file mode 100644 index 5735bd2..000 --- a/tools/tar/patches/100-fix_xattr_disable.patch +++ /dev/null @@ -1,17 +0,0 @@ a/lib/xattr-at.c -+++ b/lib/xattr-at.c -@@ -18,6 +18,8 @@ - - #include - -+#ifdef HAVE_XATTRS -+ - #include "xattr-at.h" - #include "openat.h" - -@@ -108,3 +110,5 @@ - #undef AT_FUNC_RESULT - #undef AT_FUNC_POST_FILE_PARAM_DECLS - #undef AT_FUNC_POST_FILE_ARGS -+ -+#endif -- 2.6.3 ___ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev