Jörg Krause [Tue, 4 Nov 2014 13:04:29 +0000 (14:04 +0100)]
package/shairport-sync: fix avahi dependency
shairport-sync uses mDNS to pubish its service. This task is implemented
(among others) in avahi and tinysvcmdns.
To use avahi as the mDNS backend, shairport-sync requires libavahi-client or
libdns_sd. Both will work, but libavahi-client is sufficient.
To get libavahi-client support from avahi BR2_PACKAGE_AVAHI_DAEMON and
BR2_PACKAGE_DBUS needs to be selected. Unfortunatly this is not immediately
obvious if you've not checked avahis configure file. A
BR2_PACKAGE_LIBAVAHI_CLIENT config symbol may help here for clarification,
but is not present yet.
Thomas Petazzoni [Mon, 10 Nov 2014 19:50:26 +0000 (20:50 +0100)]
configs/apf9328: bump to a modern kernel
Since the apf9238 support is in the mainline kernel, we can bump to
kernel 3.17.2.
The patches can be removed because:
- linux-3.1.1-0001-fixes_arm_mach-types_for_apf9328.patch is no
longer needed, since the machine number for apf9328 is now
upstream.
- linux-3.1.1-0002-add_missing_config_option_for_apf9328.patch is no
longer needed, because the MTD_CFI_INTELEXT option is selected by
the imx_v4_v5_defconfig.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Mon, 10 Nov 2014 19:50:25 +0000 (20:50 +0100)]
configs/apf9328: use default gcc version
The gcc 4.4 version has been deprecated recently, so we cannot use it
anymore. Since this platform is just using a normal ARM processor with
nothing special, we can expect the default gcc version to just work.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Baruch Siach [Tue, 11 Nov 2014 10:23:03 +0000 (12:23 +0200)]
tcpdump: fix static build
Commit 746116d1eb2e (tcpdump: use libpcap shared library) broke static build
of tcpdump, because its configure script doesn't take into account indirect
dependencies of libpcap. Add these dependencies to the LIBS configure
parameter.
Gustavo Zacarias [Tue, 11 Nov 2014 21:17:11 +0000 (18:17 -0300)]
aircrack-ng: security bump to version 1.2-rc1
Fixes:
CVE-2014-8321 - gps_tracer stack overflow
CVE-2014-8322 - tcp_test length parameter inconsistency
CVE-2014-8323 - buddy-ng missing check in data format
CVE-2014-8324 - net_get missing check for invalid values
Previous CVE patch dropped since the fix is upstream.
Also add hash file.
Drop iw runtime dep since it's only one of many required by airmon-zc (a
script) which require a ton of conditionals for just that tool.
It will tell somewhat nicely if they're missing. These would be:
awk - from busybox or gawk
ethtool
grep - from busybox or grep
ip or ifconfig - from busybox, iproute2 or net-tools
iw
lspci - from pciutils (needs full variant)
lsusb - from usbutils (needs full variant)
modprobe/modinfo - from busybox or kmod
uname - from busybox or coreutils
[Peter: drop double -lpthread from sqlite conditional] Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Gustavo Zacarias [Tue, 11 Nov 2014 20:29:15 +0000 (17:29 -0300)]
zeromq: security bump to version 4.0.5
Fixes:
CVE-2014-7202 - stream_engine.cpp in libzmq (aka ZeroMQ/C++)) 4.0.5
before 4.0.5 allows man-in-the-middle attackers to conduct downgrade
attacks via a crafted connection request.
CVE-2014-7203 - libzmq (aka ZeroMQ/C++) 4.0.x before 4.0.5 does not
ensure that nonces are unique, which allows man-in-the-middle attackers
to conduct replay attacks via unspecified vectors.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Yann E. MORIN [Tue, 11 Nov 2014 18:33:56 +0000 (19:33 +0100)]
docs/manual: cleanup github helper docs
Explicitly state that the github helper should not be used when there is
a release tarball.
Properly render the list by separating it from the previous paragraph.
[Peter: fix typo as pointed out by Maxime] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
alsa-utils needs to link with intl if the toolchain needs gettext and
locale is set. Otherwise we will see an error like this one:
alsamixer-cli.o: In function `main':
cli.c:(.text.startup+0x4d): undefined reference to `libintl_textdomain'
cli.c:(.text.startup+0xc1): undefined reference to `libintl_gettext'
cli.c:(.text.startup+0xd5): undefined reference to `libintl_gettext'
cli.c:(.text.startup+0xe9): undefined reference to `libintl_gettext'
cli.c:(.text.startup+0x1fd): undefined reference to `libintl_gettext'
cli.c:(.text.startup+0x223): undefined reference to `libintl_gettext'
Thomas Petazzoni [Mon, 10 Nov 2014 19:45:41 +0000 (20:45 +0100)]
util-linux: re-enable libmount and binaries on Microblaze
In commit 442aa88f95d6c4a921aa3d4de91f54d50bd0cd35 ("util-linux: bump
version and revamp options"), Gustavo disabled util-linux libmount and
binaries on microblaze, as it was not building properly.
However, as mentionned in the comment, these options were disabled on
Microblaze due to "libc lacks UTIME_NOW & UTIME_COMMIT for
libmount". This was true specifically for the microblaze external
toolchain that we were using at the time. But we are no longer using
this external toolchain (which proved to be broken in many ways), and
have microblaze support in our internal backend.
I have verified that with our internal toolchain, util-linux with
libmount and the binaries enabled builds fine.
Those options are not selected by anything else in Buildroot, so
there's no other package impacted by this dependency change.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Mon, 10 Nov 2014 10:06:31 +0000 (11:06 +0100)]
toolchain-external: update Linaro toolchains
Bump the ARM, ARMeb and AArch64 Linaro toolchains from 14.08 to
14.09. We can't bump to 14.10, because they completely changed the
toolchains and they are now completely broken: they switched from
Crosstool-NG to a new build tool to generate the toolchain, and now
the sysroot handling is completely borked.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Alexey Brodkin [Mon, 10 Nov 2014 09:59:08 +0000 (12:59 +0300)]
rt-tests: bump version to 0.89
With this change we're moving to the latest version of rt-tests.
Existing patches were updated so they apply on sources without errors and
warnings.
In "01-fix-build-system.patch" CFLAGS substitution was removed because
now external CFLAGS are accepted:
http://git.kernel.org/cgit/linux/kernel/git/clrkwllms/rt-tests.git/commit/?id=dfcef6e557b7980a33aa30b45bde196ed1780eb1
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Alexey Brodkin [Mon, 10 Nov 2014 09:59:07 +0000 (12:59 +0300)]
rt-tests: switch site from Debian snapshot to Linux's git
Origin of "rt-tests" is:
git://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git
Switching to this new "origin" simplifies version bumping because there's
no need in updating Debian snapshot folder as it was done already here:
http://git.buildroot.net/buildroot/commit/package/rt-tests?id=da330e508c2d95e898ac52a2aa39426a5f6d0506
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Gustavo Zacarias [Tue, 11 Nov 2014 13:08:56 +0000 (10:08 -0300)]
dhcp: fix bad --enable/disable-debug logic
It interprets disable as enable and wreaks havoc since it changes the
behaviour of the build, for instance not using configured leases files
paths.
Thanks to Nathaniel Roach for pointing me to this problem.
Alexey Brodkin [Tue, 11 Nov 2014 13:56:48 +0000 (16:56 +0300)]
rt-tests: allow building subset of tests with non-NPTL toolchains
Some architectures are still stuck with non-NPTL toolchains.
These are for example ARC, Blackfin, Xtensa etc.
Still rt-tests are very good benchmarks and it would be good to enable use of
at least selected (those that will be built) tests on those architectures.
This change makes it possible to only build subset of tests that don't require
NPTL calls.
Following tests will be built with non-NPTL toolchain:
* signaltest
* ptsematest
* sigwaittest
* svsematest
* sendme
* hackbench
Still it's required to have a toolchain with threads support because most of
mentioned tests use threads.
03-fix-non-nptl-buil.patch was submitted upstream:
https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg762958.html
so as soon as it is accepted with the next version bump this patch should be
removed.
[Thomas: fix the rt-tests.mk test on NPTL to use positive logic.]
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Gustavo Zacarias [Mon, 10 Nov 2014 12:48:01 +0000 (09:48 -0300)]
gnutls: security bump to version 3.2.20
Fixes:
CVE-2014-8564 / GNUTLS-SA-2014-5 - Sean Burford reported that the
encoding of elliptic curves parameters GnuTLS 3 is vulnerable to a
denial of service (heap corruption). It affects clients and servers
which print information about the peer's certificate, e.g., the key ID,
and can be exploited via a specially crafted X.509 certificate.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The aim of this patch is to fix bug #7574, i.e fix the static linking
of the quota package. It does so by introducing a patch to the quota
build system that generalizes the use of $(LIBS), and then changes
quota.mk to use LIBS instead of LDFLAGS to link against intl and tirpc
when needed.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The dependency on util-linux is only present in Config.in, and not in
quota.mk, and quota indeed builds properly without util-linux. It
could be a runtime dependency, but there is no indication that it is
the case, and I don't see why quota would run-time depend on
util-linux utilities.
Looking back at when the quota package was introduced, in one of the
preliminary patch, he following explanation was given by the original
author:
[Update: I added check for util-linux mount because
it support usrquota and grpquota mount options.]
But I still don't see why usrquota and grpquota mount options would be
the source of a dependency of the quota utilities on util-linux. Here
is what the util-linux mount man page says about those two mount
options:
grpquota|noquota|quota|usrquota
These options are accepted but ignored. (However, quota
utilities may react to such strings in /etc/fstab.)
So indeed, the quota tools will look at /proc/mounts and see if those
options are used for certain mount points, but that doesn't create a
dependency of quota on util-linux.
Therefore, this commit gets rid of the dependency of quota on
util-linux. It allows to re-enable quota on Microblaze, since this
dependency was inherited from util-linux.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The previous releases was removed from their servers has they did a
releases from a wrong tag, the resulting binary was wrong.
Thanks to "Yann E. Morin" for spotting that.
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: "Yann E. Morin" <yann.morin.1998@free.fr> Cc: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
opencv: superres - Fix return value VideoFrameSource_GPU
superres module fails to compile with the following error messages:
[100%] Building CXX object
modules/superres/CMakeFiles/opencv_superres.dir/src/super_resolution.cpp.o
/opencv-2.4.10/modules/superres/src/frame_source.cpp: In function
'cv::Ptr<cv::superres::FrameSource>
cv::superres::createFrameSource_Video_GPU(const string&)':
/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:16: error:
expected type-specifier before 'VideoFrameSource'
/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:16: error:
could not convert '(int*)operator new(4ul)' from 'int*' to
'cv::Ptr<cv::superres::FrameSource>'
/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:16: error:
expected ';' before 'VideoFrameSource'
/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:41: error:
'VideoFrameSource' was not declared in this scope
/opencv-2.4.10/modules/superres/src/frame_source.cpp:264:1: error:
control reaches end of non-void function [-Werror=return-type]
cc1plus: some warnings being treated as errors
make[3]: ***
[modules/superres/CMakeFiles/opencv_superres.dir/src/frame_source.cpp.o]
Error 1
make[3]: *** Waiting for unfinished jobs....
This is caused because the return value of the
createFrameSource_Video_GPU function should be a VideoFrameSource_GPU
object.
libiscsi: only build the test tool and ld-iscsi if we have shared libs
Backporting an upstream patch to fix a failure when doing a static
build:
/br/output/host/usr/bin/mipsel-ctng-linux-uclibc-gcc -shared -o
ld_iscsi.so ld_iscsi.o -ldl
/br/output/host/opt/ext-toolchain/bin/../lib/gcc/mipsel-ctng-linux-uclibc/4.8.2/../../../../mipsel-ctng-linux-uclibc/bin/ld:
ld_iscsi.o: relocation R_MIPS_HI16 against `__gnu_local_gp' can not be
used when making a shared object; recompile with -fPIC
ld_iscsi.o: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
Install a 'vi' symlink to win over busybox vi (more features) and in
case busybox isn't around, for people expecting plain simple 'vi' to
call the editor.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Add a small patch to re-enable arptables for static builds.
The dlfcn.h is a stray include for a past attempt at loadable plugins
but the code is disabled so there's no need for it.
Also add hash file.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-mtune=cpu-type
Tune to cpu-type everything applicable about the generated code,
except for the ABI and the set of available instructions. While
picking a specific cpu-type schedules things appropriately for that
particular chip, the compiler does not generate any code that cannot
run on the default machine type unless you use a -march=cpu-type
option. For example, if GCC is configured for i686-pc-linux-gnu then
-mtune=pentium4 generates code that is tuned for Pentium 4 but still
runs on i686 machines.
The choices for cpu-type are the same as for -march. In addition,
-mtune supports 2 extra choices for cpu-type:
‘generic’
Produce code optimized for the most common IA32/AMD64/EM64T
processors. If you know the CPU on which your code will run,
then you should use the corresponding -mtune or -march option
instead of -mtune=generic. But, if you do not know exactly what
CPU users of your application will have, then you should use
this option.
As new processors are deployed in the marketplace, the behavior
of this option will change. Therefore, if you upgrade to a newer
version of GCC, code generation controlled by this option will
change to reflect the processors that are most common at the
time that version of GCC is released.
There is no -march=generic option because -march indicates the
instruction set the compiler can use, and there is no generic
instruction set applicable to all processors. In contrast,
-mtune indicates the processor (or, in this case, collection of
processors) for which the code is optimized.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Even when doing static builds, a shared library is built. This causes a
build failure under some circumstances, for instance when building for
MIPS + uClibc + static.
After asking upstream if it would be possible to add a configure option
to not build the shared library, the answer was that doing a static
build is not a good idea. Here is a small snippet of the conversation:
"Note that fully static builds are problematic. elfutils uses dlopen to
open the EBL backends (the CPU-specific support snippets), so even if
you link statically, the final binaries are still considerably dynamic."
Thomas Petazzoni [Tue, 21 Oct 2014 20:27:15 +0000 (22:27 +0200)]
gcc: do not use BR2_GCC_TARGET_TUNE anymore
Since the BR2_GCC_TARGET_TUNE value is always empty now, there is no
longer a point in using it in the gcc package.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Tue, 21 Oct 2014 20:27:14 +0000 (22:27 +0200)]
arch/m68k: get rid of BR2_GCC_TARGET_TUNE
On m68k, we are passing the exact same values of BR2_GCC_TARGET_ARCH
and BR2_GCC_TARGET_TUNE, which is redundant. Therefore, this commit
removes the usage of BR2_GCC_TARGET_TUNE on m68k.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Tue, 21 Oct 2014 20:27:13 +0000 (22:27 +0200)]
arch/powerpc: get rid of BR2_GCC_TARGET_TUNE
According to the gcc documentation for PowerPC options:
'-mtune=CPU_TYPE'
Set the instruction scheduling parameters for machine type
CPU_TYPE, but do not set the architecture type, register usage, or
choice of mnemonics, as '-mcpu=CPU_TYPE' would. The same values
for CPU_TYPE are used for '-mtune' as for '-mcpu'. If both are
specified, the code generated will use the architecture, registers,
and mnemonics set by '-mcpu', but the scheduling parameters set by
'-mtune'.
In the case of Buildroot where we only target a specific system, using
-mtune therefore doesn't make much sense, and using -mcpu would be
more appropriate. As a consequence, this patch makes PowerPC use
BR2_GCC_TARGET_CPU instead of BR2_GCC_TARGET_TUNE.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Tue, 21 Oct 2014 20:27:12 +0000 (22:27 +0200)]
arch/sparc: get rid of BR2_GCC_TARGET_TUNE
On SPARC, BR2_GCC_TARGET_TUNE was only used for one specific case, the
BR2_sparc_v8. There is actually no reason to not use
BR2_GCC_TARGET_CPU instead for this, as all values supported for
-mtune are also supported for -mcpu. Therefore, the only
BR2_GCC_TARGET_TUNE case is moved as a BR2_GCC_TARGET_CPU case.
[Peter: fixup merge conflict after 'sparc: Add leon3 cpu type and remove sparc{s,h}fleon{,v8}] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Tue, 21 Oct 2014 20:27:11 +0000 (22:27 +0200)]
arch/x86: get rid of BR2_GCC_TARGET_TUNE
According to the gcc documentation, -march implies -mtune on x86, so
defining both BR2_GCC_TARGET_ARCH and BR2_GCC_TARGET_TUNE is
redundant. Therefore, this commit removes the definition of
BR2_GCC_TARGET_TUNE on x86.
However, while doing so, it adds one new case for BR2_GCC_TARGET_ARCH:
using -march=generic when BR2_x86_generic is selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Tue, 21 Oct 2014 20:27:10 +0000 (22:27 +0200)]
ffmpeg: use arch and cpu instead of tune
ffmpeg currently uses BR2_GCC_TARGET_TUNE as the --cpu option
value. However, there are multiple architectures for which
BR2_GCC_TARGET_TUNE is not used. After inspecting the ffmpeg configure
script, we concluded that using the BR2_GCC_TARGET_CPU value if
available, or the BR2_GCC_TARGET_ARCH value as a fallback was the
appropriate behavior.
This allows to remove the reference to BR2_GCC_TARGET_TUNE, which is
one step towards the removal of this option.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Tue, 21 Oct 2014 20:27:09 +0000 (22:27 +0200)]
arch/arm: remove BR2_GCC_TARGET_ARCH definitions on ARM
On ARM, we were defining both the CPU type and the architecture
variant. However, depending on the version of gcc, a given combination
of (CPU, architecture) may not be the same. Since the architecture
variant is implied by the CPU type, given the former is not necessary,
and we can simply specify the latter.
>From the gcc documentation:
This specifies the name of the target ARM processor. GCC uses this
name to derive the name of the target ARM architecture (as if
specified by -march) and the ARM processor type for which to tune
for performance (as if specified by -mtune). Where this option is
used in conjunction with -march or -mtune, those options take
precedence over the appropriate part of this option.
Note that we verified that for all BR2_GCC_TARGET_ARCH value that
existed, a proper BR2_GCC_TARGET_CPU value is defined.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Tue, 21 Oct 2014 20:27:08 +0000 (22:27 +0200)]
arch/arm: do not distinguish revisions of ARM1136JF-S
In commit 88cf3bb91792c9c04586e14f293d89a6e0c13e1d
("arch/Config.in.arm: Use armv6k for arm1136jf-s rev1"), Benoît
Thébaudeau added separate options for the revision 0 and revision 1 of
the ARM1136JF-S processor, so that different -march values could be
used (armv6j for revision 0, armv6k for revision 1).
However, this is preventing the removal of the BR2_GCC_TARGET_ARCH
option, which we need to do to give only the CPU type to gcc, and let
it decide the architecture variant that matches. This is because this
story of revision 0 vs. revision 1 is the only case where -mcpu
doesn't fully define the CPU.
Moreover, a quick test with gcc shows that -march=armv6j
-mcpu=arm1136jf-s is accepted, while -march=armv6k -mcpu=arm1136jf-s
makes gcc complain: " warning: switch -mcpu=arm1136jf-s conflicts with
-march=armv6k switch".
In addition, gcc 5 will apparently no longer allow to pass all of
--with-arch, --with-cpu and --with-tune, so we will anyway have to
rely only on one of them.
As a consequence, this commit basically reverts 88cf3bb91792c9c04586e14f293d89a6e0c13e1d and provides only one option
for ARM1136JF-S. If the two revisions are really different, then they
should be supported in upstream gcc with different -mcpu values.
Note that the removal of the two options should not break existing
full .config, since the hidden option BR2_arm1136jf_s becomes again a
visible option to select the CPU.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Tue, 21 Oct 2014 20:27:07 +0000 (22:27 +0200)]
dhcpcd: do not pass --target option
dhcpcd is using $(BR2_GCC_TARGET_ARCH) as the value of its --target
option. However, depending on the architecture, this value might be
empty.
After inspecting the dhcpcd configure script, it turns out that in
fact the --target option has the following semantic:
--target=TARGET configure for building compilers for TARGET [HOST]
So it is very much like the --target option of regular,
autoconf-based, configure scripts. Since dhcpcd is not a compiler,
passing --target is pointless. Moreover, as long as --os=linux is
passed, passing --host or --target is completely ignored by the
configure script.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Tue, 21 Oct 2014 20:27:06 +0000 (22:27 +0200)]
toolchain-external: use BR2_ARM_CPU_ARM* options
Refactor the toolchain-external Config.in file to use the
BR2_ARM_CPU_ARM*. All of the changes are purely mechanical, except for
the Arago ARMv5 toolchain: it had a 'depends on BR2_GCC_TARGET_ARCH !=
"armv5t"', but armv5t was not a possible value for
BR2_GCC_TARGET_ARCH. Since the toolchain is ARMv5TE, the only ARM
architectures we need to exclude are ARMv4 and ARMv4T.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Tue, 21 Oct 2014 20:27:05 +0000 (22:27 +0200)]
libnspr: use the BR2_ARM_CPU_ARMV7A option
The libnspr --enable-thumb2 option was only enabled on Cortex-A8 and
Cortex-A9. This commit switches to using BR2_ARM_CPU_ARMV7A instead,
which will allow using Thumb2 for this package even with the other
Cortex-A cores.
[Peter: use BR2_ARM_CPU_HAS_THUMB2 instead] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Tue, 21 Oct 2014 20:27:03 +0000 (22:27 +0200)]
valgrind: use the BR2_ARM_CPU_ARM* options
Instead of using the exhaustive list of Cortex-A ARM cores, use
BR2_ARM_CPU_ARMV7A instead. We also fix a wrong comment that said the
Valgrind package could only be selected for Cortex-A8 and Cortex-A9,
which was true a long time ago, but was no longer true since it was
also enabled for all the other Cortex-A platforms.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Tue, 21 Oct 2014 20:27:02 +0000 (22:27 +0200)]
webkit: use BR2_ARM_CPU_ARM* options
The webkit package is not available on ARM < v5, so this commit
switches to using the newly introduced BR2_ARM_CPU_ARM* options
instead of per ARM core options.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Tue, 21 Oct 2014 20:27:01 +0000 (22:27 +0200)]
vo-aacenc: use the BR2_ARM_CPU_ARM* options
The vo-aacenc package has an option to enable ARMv5 optimizations. It
was enabled based on per ARM core options, but now that we have per
ARM architecture options, this commit switches to using them.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Tue, 21 Oct 2014 20:26:54 +0000 (22:26 +0200)]
gst1-libav: allow usage of ARMv6 optimizations on ARMv7 platforms
Contrary to the ffmpeg package, the gst1-libav package was only
allowing ARMv6 optimizations on ARMv6 platforms. This commit also
allows ARMv6 optimizations on ARMv7 platforms, like the ffmpeg package
does.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>