foss-for-synopsys-dwc-arc-processors / toolchain

Repository containing releases of prebuilt GNU toolchains for DesignWare ARC Processors from Synopsys (available from "releases" link below).
http://www.synopsys.com/IP/ProcessorIP/ARCProcessors/Pages/default.aspx
GNU General Public License v3.0
92 stars 48 forks source link

ICU, Double-Conversion: Add support for ARC64 #339

Open abrodkin opened 3 years ago

abrodkin commented 3 years ago

While building icu package in Buildroot (https://git.buildroot.org/buildroot/tree/package/icu) we're getting this (http://ru20arcgnu1:8080/?reason=icu-67-1):

   arc64-buildroot-linux-gnu-g++     ...  number_decimfmtprops.cpp
In file included from double-conversion-string-to-double.h:42,
                 from double-conversion.h:42,
                 from number_decimalquantity.cpp:19:
double-conversion-utils.h:144:2: error: #error Target architecture was not detected as supported by Double-Conversion.
  144 | #error Target architecture was not detected as supported by Double-Conversion.
      |  ^~~~~
   arc64-buildroot-linux-gnu-g++     ...  number_fluent.cpp
   arc64-buildroot-linux-gnu-g++     ...  number_formatimpl.cpp
   arc64-buildroot-linux-gnu-g++     ...  number_grouping.cpp
   arc64-buildroot-linux-gnu-g++     ...  number_integerwidth.cpp
*** Failed compilation command follows: ----------------------------------------------------------

Back in the day for ARCv2 it was fixed with:

  1. In "Double-Conversion": https://github.com/google/double-conversion/pull/82
  2. In "ICU" itself: https://github.com/unicode-org/icu/pull/490

Note that icu package is a dependency for quite some others so we may want to get it fixed at least with off-the-tree patch in our Buildroot fork, but surely done once and for all fix in upstream would be much better option :)

vkremneva commented 3 years ago

Fixed for our Buildroot fork at https://github.com/foss-for-synopsys-dwc-arc-processors/buildroot/pull/11

In google/double-conversion and unicode-org/icu we will fix it when a macro for ARC64 will be finally defined. At the moment it is ARC64 and may change as time goes by.