crosstool-ng/scripts
Alexey Brodkin 028c372ba6 ARC: No more fiddling with uClibc's CONFIG_ARC_HAS_ATOMICS
Older ARC700 processors had atomic instructions (AKA llock/scond)
as an option and so quite some "atomic" operations were not possible
w/o OS support, which we implemented - see arc_usr_cmpxchg() in the
Linux kernel.

And in uClibc, which was the only Linux libc back in the day of ARC700
era, it is well supported. Well, uClibc could be configured to support it.
Which is done with CONFIG_ARC_HAS_ATOMICS Kconfig option.

But the problem is there's no check for ARC ISA version in uClibc when
this option gets enabled. That leads to a funny situation when even for
ARCv2 processors (ARC HS3x & HS4x) uClibc tries to utilize
arc_usr_cmpxchg() syscall which is not supported for this newer ISA since
ARCv2 processors have atomic instructions built-in all the time.

So what was happening here we didn't specify additional "-matomic"
CFLAG unless we were targeting exactly those ancient ARC770 processors
(ARC700 + MMUv3 + atomics) and so even for ARCv2 we forced uClibc
to not use built-in atomics.

And even though there're ways to add a smarter solution here to handle
that pretty rare by now case of ARC750 (ARC700 + MMUv2 - atomics),
I suggest we just remove this part completely, leaving a possibility
to add needed option in uClibc-ng's configuration
(I mean "packages/uClibc-ng/config").

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2021-08-24 09:48:56 -07:00
..
build ARC: No more fiddling with uClibc's CONFIG_ARC_HAS_ATOMICS 2021-08-24 09:48:56 -07:00
override Add checking for *sum and unzip 2018-04-29 12:06:54 -07:00
upgrade Move GDB build into a common backend function 2019-03-09 18:01:30 -08:00
compile WIP: autotoolization 2018-04-07 12:03:17 -07:00
config.guess Run through 'ct-ng updatetools' 2020-12-04 10:14:53 -06:00
config.rpath Use autoconfig-archve/automake tests 2018-04-07 12:02:33 -07:00
config.sub Run through 'ct-ng updatetools' 2020-12-04 10:14:53 -06:00
crosstool-NG.sh Add EXTRA_CXXFLAGS_FOR_BUILD option 2021-07-06 16:19:17 +01:00
depcomp WIP: autotoolization 2018-04-07 12:03:17 -07:00
functions Support common local patch directory 2021-07-14 00:07:30 +09:00
install-sh WIP: autotoolization 2018-04-07 12:03:17 -07:00
ltmain.sh WIP: autotoolization 2018-04-07 12:03:17 -07:00
missing WIP: autotoolization 2018-04-07 12:03:17 -07:00
populate.in Revert "Determine whether -E/-r option selects extended regexp" 2017-02-26 19:06:35 -08:00
saveSample.sh Support out-of-tree local builds 2018-04-07 14:39:56 -07:00
scripts.mk Fix installation of the license file 2018-11-12 01:19:04 -08:00
show-config.sh Use enhanced framework for 'ct-ng update-samples' 2019-02-09 15:55:16 -08:00
show-tuple.sh Support out-of-tree local builds 2018-04-07 14:39:56 -07:00
toolchain-config.in scripts: simplify and fix the toolchain config script 2011-08-19 00:52:05 +02:00
version-check.sh Use enhanced framework for 'ct-ng update-samples' 2019-02-09 15:55:16 -08:00
xldd.in Doc renames & issue template 2017-04-13 00:07:29 -07:00