Commit Graph

4751 Commits

Author SHA1 Message Date
Alexey Neyman
b82b8adb44
Merge pull request #984 from slash3g/master
Properly handle newlib configuration flags
2018-09-25 23:52:05 -07:00
Alexey Neyman
ea1072c29b
Merge pull request #1027 from sifive/dev/paulw/rv64-bare-metal
riscv64: samples: add rv64gc bare-metal sample configuration
2018-09-25 23:41:59 -07:00
Alexey Neyman
49520dbf6d
Merge pull request #1032 from stilor/updates
Update packages
2018-09-25 21:47:03 -07:00
Alexey Neyman
581e8a514b Fix build with ISL 0.20
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-09-25 17:22:34 -07:00
Alexey Neyman
98834458f1 Upgrades. Lots of 'em.
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-09-24 23:09:53 -07:00
Alexey Neyman
eb65ba65ba
Merge pull request #1029 from stilor/fix-bionic-build
Restore *-android build
2018-09-24 22:46:14 -07:00
Alexey Neyman
b0e7b57c4a Restore *-android build
Modify CT_TARGET_CFLAGS (which are passed to GCC's FOR_TARGET flags) rather
than CT_ALL_TARGET_CFLAGS.

Fixes #1006.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-09-24 22:43:08 -07:00
Paul Walmsley
af8da8b181 riscv64: add rv64gc bare-metal sample
This sample works well for building the open-source first stage
bootloader for the SiFive U540 device (and similar):

https://github.com/sifive/freedom-u540-c000-bootloader

Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
2018-09-24 11:09:39 -07:00
Alexey Neyman
a6580b8e8b
Merge pull request #1001 from cpackham/kconfig-fix
kconfig: display recursive dependency resolution hint just once
2018-09-23 11:37:22 -07:00
Alexey Neyman
8026e6a013
Merge pull request #994 from jcmvbkbc/xtensa-fix-pr65416
package/gcc: fix xtensa PR target/65416
2018-09-23 11:35:59 -07:00
Bryan Hundven
af07934139
Merge pull request #1025 from bhundven/update_musl_1_1_20
Add musl-libc 1.1.20
2018-09-22 23:43:11 -07:00
Bryan Hundven
66fbd9f42e Fix compressed for tar, too
Signed-off-by: Bryan Hundven <bryan.hundven@gmail.com>
2018-09-22 23:23:46 -07:00
Bryan Hundven
ad667b2a15 Ignore compressed files
Signed-off-by: Bryan Hundven <bryan.hundven@gmail.com>
2018-09-22 23:22:36 -07:00
Bryan Hundven
5b42c4cb05 Add musl-libc 1.1.20
Signed-off-by: Bryan Hundven <bryan.hundven@gmail.com>
2018-09-22 23:20:14 -07:00
Alexey Neyman
c426acbee7
Merge pull request #990 from antmak/fix_newlib_multilib_opt
Fix a wrong name for the newlib's multilib option
2018-09-21 23:37:29 -07:00
Alexey Neyman
8ab3b0b200
Merge pull request #1012 from EvgeniiDidin/master
patches: mpfr: Fix obsolete ARC asm constraints
2018-09-21 23:36:00 -07:00
Alexey Neyman
9ab0c733cd
Merge pull request #1020 from sifive/dev/paulw/rv64-fixed
riscv: add rv64gc support
2018-09-21 23:28:49 -07:00
Paul Walmsley
05d74f9d63 riscv64: add rv64gc linux-gnu sample
This sample works well for the SiFive U540 device (and similar).

Thanks to Jim Wilson <jimw@sifive.com> for his review, discovering
several bugs (now fixed).

Cc: Jim Wilson <jimw@sifive.com>
Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
2018-09-10 22:58:08 -07:00
Paul Walmsley
694580fa60 config: arch: riscv: add initial 64-bit support
Add initial rv64 support.  Originally based on suggestions from
Franz Flasch <franz.flasch@gmx.at>.

Cc: Franz Flasch <franz.flasch@gmx.at>
Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2018-09-10 13:28:56 -07:00
Evgeniy Didin
4a881ea56e patches: mpfr: Fix obsolete ARC asm constraints
Adding this patch fixes errors while building mpfr for native ARC
toolcahin. Error messages are:
-----------------------------------------------------8<------------------
...
[ERROR]   .build/HOST-arc-snps-linux-uclibc/arc-snps-linux-uclibc/src/
  mpfr/src/mpfr-longlong.h:423:3: error: impossible constraint in 'asm'
...
[ERROR]  >>  Build failed in step 'Installing MPFR for host'
-----------------------------------------------------8<------------------

Signed-off-by: Evgeniy Didin <didin@synopsys.com>
2018-08-21 15:51:09 +03:00
Masahiro Yamada
eef8eb4033 kconfig: display recursive dependency resolution hint just once
Commit 1c199f2878f6 ("kbuild: document recursive dependency limitation
/ resolution") probably intended to show a hint along with "recursive
dependency detected!" error, but it missed to add {...} guard, and the
hint is displayed in every loop of the dep_stack traverse, annoyingly.

This error was detected by GCC's -Wmisleading-indentation when switching
to build-time generation of lexer/parser.

scripts/kconfig/symbol.c: In function ‘sym_check_print_recursive’:
scripts/kconfig/symbol.c:1150:3: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
   if (stack->sym == last_sym)
   ^~
scripts/kconfig/symbol.c:1153:4: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
    fprintf(stderr, "For a resolution refer to Documentation/kbuild/kconfig-language.txt\n");
    ^~~~~~~

I could simply add {...} to surround the three fprintf(), but I rather
chose to move the hint after the loop to make the whole message readable.

Fixes: 1c199f2878f6 ("kbuild: document recursive dependency limitation / resolution"
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Luis R. Rodriguez <mcgrof@kernel.org>

[upstream commit e3b03bf29d6b99fab7001fb20c33fe54928c157a]
Fixes #1000
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2018-07-10 14:25:20 +12:00
Max Filippov
c41b9641b1 package/gcc: fix xtensa PR target/65416
gcc-8.1 for xtensa miscompiles uClibc dynamic linker due to gcc PR
target/65416. The build completes successfully, but the binary is
non-functional because the following fragment in the _dl_get_ready_to_run
in ld-uClibc.so overwrites register spill area on stack causing register
corruption in the previous call frame and a subsequent crash:

    419f:       f0c1b2          addi    a11, a1, -16
    41a2:       1ba9            s32i.n  a10, a11, 4
    41a4:       0bc9            s32i.n  a12, a11, 0
    41a6:       5127f2          l32i    a15, a7, 0x144
    41a9:       1765b2          s32i    a11, a5, 92
    41ac:       4e2782          l32i    a8, a7, 0x138
    41af:       146af2          s32i    a15, a10, 80
    41b2:       001b10          movsp   a1, a11

The crash terminates the init process and causes kernel panic.
The fix prevents reordering of movsp opcode and any access to the stack
frame memory and is applicable to all existing gcc versions.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2018-06-24 14:40:26 -07:00
Anton Maklakov
b1dbc3ce9a Fix a wrong name for the newlib's multilib option 2018-06-15 13:42:44 +08:00
Anton Maklakov
1dea24ce9a Use the platform headers in the pass-2 and canadian gcc stages 2018-06-12 17:07:06 +08:00
Daniele Baracchi
398030c11a Properly handle newlib configuration flags 2018-06-11 21:42:20 +02:00
Alexey Neyman
d5900debd3
Merge pull request #981 from stilor/use-git-version-gen
Use git-version-gen to generate version info
2018-06-06 21:31:17 -07:00
Alexey Neyman
d14adeb1d9 Use git-version-gen to generate version info
Suggested-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-06-06 17:52:17 -07:00
Alexey Neyman
21489af99a
Merge pull request #979 from stilor/master
Make patch order overridable by individual packages
2018-06-06 13:46:17 -07:00
Alexey Neyman
d7ee16cb28 Make patch order overridable by individual packages
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-06-06 00:50:36 -07:00
Alexey Neyman
83582f4fd4
Merge pull request #978 from stilor/fix-gcc8-regressions
Fix gcc8 regressions
2018-06-05 22:32:45 -07:00
Alexey Neyman
57679b5e61 Disable context functions for Thumb
They're written in ARM dialect, and `ldmia r14, {r14, pc}` is not accepted in T2
encoding. GCC8 changed the list of multilibs for arm-*, which now includes a
variant with CPU that supports T2 but not A1 encoding.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-06-05 16:38:30 -07:00
Alexey Neyman
b24431f477 Add upstream patch fixing XScale build
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-06-05 00:16:53 -07:00
Alexey Neyman
0ce942862e Add --enable-obsolete for powerpc-*-spe
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-06-05 00:16:53 -07:00
Alexey Neyman
4137c422c6 Detect errors from gas
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-06-05 00:16:37 -07:00
Alexey Neyman
cc2fe3dbde Backport a gcc8 fix from upstream
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-06-05 00:16:37 -07:00
Alexey Neyman
07ec87f14f Avoid adding arch/cpu/tune flags for target to GCC build
... as it may need to override them for building runtime-selectable code.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-06-05 00:16:37 -07:00
Alexey Neyman
ec384f2b9f
Merge pull request #977 from dimkr/new-uclibc-old-kernel
packages: add uClibc-ng 1.0.30 and last Linux 2.6.32.x
2018-05-31 08:33:11 -07:00
Dima Krasner
5d335281d9 linux: removed 2.6.32.27
Signed-off-by: Dima Krasner <dima@securingsam.com>
2018-05-31 11:15:19 +03:00
Dima Krasner
718b5e4b03 packages: add uClibc-ng 1.0.30 and last Linux 2.6.32.x
Signed-off-by: Dima Krasner <dima@dimakrasner.com>
2018-05-28 16:45:06 +03:00
Alexey Neyman
ab3c204aee
Merge pull request #970 from abrodkin/topic-uclibc-multilib
Add support and sample for uclibc multilib toolchain for ARC
2018-05-21 08:49:42 -07:00
Alexey Brodkin
409046f91d ARC: Update Linux samples
There's no point in keeping samples which are in its essense
just a sub-set of multilib toolchain.

But still we'd like to cover quite unusual but really existing
case - ARC750, i.e. ARC700 with MMU but without so-called
atomic instructions (LLOCK/SCOND). To support this HW variation
we need:
 1) Compile all target binaries without "-matomics" or even
    better "-mno-atomics" so that's even future-proof
    (as we may decide to enable "-matomics" by default for Linux
     targets which is a recommented setup).
 2) Configure libc such that it uses Linux-kernel-assisted implementation
    of atomic operation via "arc_usr_cmpxchg" syscall,
    see https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=b985fa069187e4c5a7ee84213d9fbead2f219ce5

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-05-21 15:03:17 +03:00
Alexey Brodkin
0a64056dd3 ARC: Disable CONFIG_ARC_HAS_ATOMICS in uClibc if building without -matomics
In case we build for ARC core which has no support of atomic ops among
other things we need to configure libc to use Linux kernel helper to emulate
HS atomic ops. This is done with disabling of CONFIG_ARC_HAS_ATOMICS in uClibc.

Currently we __remove__ this option from .config but this makes no sense as
its default state is "y" so we need to explicitly disable it instead.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-05-21 15:03:17 +03:00
Alexey Brodkin
b078bb09dd ARC: Add Linux uClibc multilib sample
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-05-21 13:43:07 +03:00
Alexey Brodkin
ecb09ca417 ARC: Add multilib support for Linux in GCC
We never bothered to build multilibbed Linux toolchains for ARC
and so we ended-up with no support of multilib for arc*-*-linux-*
targets in GCC. That is now fixed in upstream by the following commit:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=0eacfbcb2bf1834294f468a2bb41fe5d5e8d3883

Once the fix mentioned above is applied on top of GCC 8.1.0 we may easily build
multilibbed uClibc toolchain for ARC.

Note sice Glibc port for ARC is still in review process we cannot build any Glibc
toolchains for ARC with pure upstream components, for that we eiter need Glibc
sources from our Github repo or apply a set of patches on top of Glibc 2.27 - we'll
try to address this later though.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-05-21 13:43:07 +03:00
Alexey Neyman
ea53be7529
Merge pull request #971 from abrodkin/topic-elf32-multilib
ARC: Add support and sample for baremetal/elf32 multilib toolchain
2018-05-16 10:03:12 -07:00
Alexey Neyman
563ee5cea0
Merge pull request #969 from abrodkin/topic-fix-arc700
ARC: Fix Linux kernel compilation for ARC700
2018-05-16 09:49:11 -07:00
Alexey Brodkin
a397b69516 ARC: Add baremetal/elf32 multilib sample
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-05-16 17:20:23 +03:00
Alexey Brodkin
62f5b90e2e ARC: Don't mention in multilib not yet supported CPUs
hs4x and hs4xd were mistakenly mentioned in MULTILIB_OPTION/DIRNAMES
before real support of those CPUs was accepted in upstream.

That breaks multilib toolchains building becase we're trying to compile
for not yet known CPU.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-05-16 17:20:23 +03:00
Alexey Brodkin
e714f99d89 ARC: Fix Linux kernel comilation for ARC700
Without this fix we're getting the following error on attempt to build
Linux kernel:
--------------------------------->8---------------------------------
xfrm4_mode_tunnel.s: Assembler messages:
xfrm4_mode_tunnel.s:188: Error: operand out of range (128 is not between -
128 and 127)
--------------------------------->8---------------------------------

The fix is taken from
d8d716f49c
and it is supposed to be merged in upstream GCC sources soonish.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-05-16 15:47:45 +03:00
Alexey Neyman
1873a8e14a
Merge pull request #968 from stilor/fix-cpu-count
Doh. Change the name of the substituted variable
2018-05-15 16:53:39 -07:00