public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* RISC-V G++ and Gfortran Help
@ 2020-03-09 13:57 Vijay Holimath
  2020-03-09 14:30 ` Jonathan Wakely
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Vijay Holimath @ 2020-03-09 13:57 UTC (permalink / raw)
  To: gcc-help

Dear Sir,

I would like to build RISC-V g++ and gfortran compiler by downloading all
source codes to host pc (for linux OS) and then rebuild compiler from
scratch. I can build RISC-V gcc compiler from scratch by downloading to
host pc using https://crosstool-ng.github.io/  However, I have not
found any such cross compiler tool for g++ and gfortran. May I request you
to guide me on how to build RISC-V cross  C ++ and gfortran compiler from
source codes?

I look forward to hearing from you soon.

Thanking you.

Sincerely,
-Vijay

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: RISC-V G++ and Gfortran Help
  2020-03-09 13:57 RISC-V G++ and Gfortran Help Vijay Holimath
@ 2020-03-09 14:30 ` Jonathan Wakely
  2020-03-09 15:33 ` Vijay Holimath
  2020-03-09 22:02 ` Jim Wilson
  2 siblings, 0 replies; 10+ messages in thread
From: Jonathan Wakely @ 2020-03-09 14:30 UTC (permalink / raw)
  To: Vijay Holimath; +Cc: gcc-help

On Mon, 9 Mar 2020 at 14:06, Vijay Holimath wrote:
>
> Dear Sir,
>
> I would like to build RISC-V g++ and gfortran compiler by downloading all
> source codes to host pc (for linux OS) and then rebuild compiler from
> scratch. I can build RISC-V gcc compiler from scratch by downloading to
> host pc using https://crosstool-ng.github.io/  However, I have not
> found any such cross compiler tool for g++ and gfortran. May I request you
> to guide me on how to build RISC-V cross  C ++ and gfortran compiler from
> source codes?

The same way. The C, C++ and Fortran compilers are all part of the
same source tree.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: RISC-V G++ and Gfortran Help
  2020-03-09 13:57 RISC-V G++ and Gfortran Help Vijay Holimath
  2020-03-09 14:30 ` Jonathan Wakely
@ 2020-03-09 15:33 ` Vijay Holimath
  2020-03-09 16:36   ` Jonathan Wakely
  2020-03-09 22:02 ` Jim Wilson
  2 siblings, 1 reply; 10+ messages in thread
From: Vijay Holimath @ 2020-03-09 15:33 UTC (permalink / raw)
  To: gcc-help

Moreover, in cross-ng tool  (https://crosstool-ng.github.io/)  in  ct-ng
menu-config there are no option to build C++ and gfortran for RISC-V
architecture. This thing is, I need to modify certain source codes in the
source tree and rebuild both C++ and gfortran for  RISC-V architecture. So,
I am looking for a command or tool or config file which will allow me
download all source files for C++  and gfortran compilers, modify certain
part of source code in source tree and re build the compiler from scratch.
I request your assistance in this regard.

Many Thanks.


On Mon, Mar 9, 2020 at 7:27 PM Vijay Holimath <vijay.holimath@gmail.com>
wrote:

> Dear Sir,
>
> I would like to build RISC-V g++ and gfortran compiler by downloading all
> source codes to host pc (for linux OS) and then rebuild compiler from
> scratch. I can build RISC-V gcc compiler from scratch by downloading to
> host pc using https://crosstool-ng.github.io/  However, I have not
> found any such cross compiler tool for g++ and gfortran. May I request you
> to guide me on how to build RISC-V cross  C ++ and gfortran compiler from
> source codes?
>
> I look forward to hearing from you soon.
>
> Thanking you.
>
> Sincerely,
> -Vijay
>
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: RISC-V G++ and Gfortran Help
  2020-03-09 15:33 ` Vijay Holimath
@ 2020-03-09 16:36   ` Jonathan Wakely
  0 siblings, 0 replies; 10+ messages in thread
From: Jonathan Wakely @ 2020-03-09 16:36 UTC (permalink / raw)
  To: Vijay Holimath; +Cc: gcc-help

On Mon, 9 Mar 2020 at 15:36, Vijay Holimath wrote:
>
> Moreover, in cross-ng tool  (https://crosstool-ng.github.io/)  in  ct-ng
> menu-config there are no option to build C++ and gfortran for RISC-V
> architecture. This thing is, I need to modify certain source codes in the
> source tree and rebuild both C++ and gfortran for  RISC-V architecture. So,
> I am looking for a command or tool or config file which will allow me
> download all source files for C++  and gfortran compilers, modify certain
> part of source code in source tree and re build the compiler from scratch.

Like I already said, all the source files are in the same tree as the
C compiler. So you already have them.

It looks like crosstool-ng does support building any of the language
front-ends supported by GCC, see:

https://github.com/crosstool-ng/crosstool-ng/blob/c969be1880f99b6da4d98afd7bda641b7868a717/scripts/build/cc/gcc.sh#L37

Maybe you should just spend some time investigating crosstool-ng.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: RISC-V G++ and Gfortran Help
  2020-03-09 13:57 RISC-V G++ and Gfortran Help Vijay Holimath
  2020-03-09 14:30 ` Jonathan Wakely
  2020-03-09 15:33 ` Vijay Holimath
@ 2020-03-09 22:02 ` Jim Wilson
  2020-03-10  2:00   ` Vijay Holimath
  2 siblings, 1 reply; 10+ messages in thread
From: Jim Wilson @ 2020-03-09 22:02 UTC (permalink / raw)
  To: Vijay Holimath; +Cc: gcc-help

On Mon, Mar 9, 2020 at 6:58 AM Vijay Holimath <vijay.holimath@gmail.com> wrote:
> I would like to build RISC-V g++ and gfortran compiler by downloading all
> source codes to host pc (for linux OS) and then rebuild compiler from
> scratch. I can build RISC-V gcc compiler from scratch by downloading to
> host pc using https://crosstool-ng.github.io/  However, I have not
> found any such cross compiler tool for g++ and gfortran. May I request you
> to guide me on how to build RISC-V cross  C ++ and gfortran compiler from
> source codes?

Using ct-ng menuconfig, in the C compiler menu, I see tick boxes for
C++ and Fortran.

Jim

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: RISC-V G++ and Gfortran Help
  2020-03-09 22:02 ` Jim Wilson
@ 2020-03-10  2:00   ` Vijay Holimath
  2020-03-11 23:24     ` Jim Wilson
  0 siblings, 1 reply; 10+ messages in thread
From: Vijay Holimath @ 2020-03-10  2:00 UTC (permalink / raw)
  To: Jim Wilson; +Cc: gcc-help

[-- Attachment #1: Type: text/plain, Size: 1306 bytes --]

Thanks Jim. Yes, I can see C++ and Fortran for new version of crosstool-ng.
However, I am unable to generate .config file using the following
instructions:

Enable newlib build (C-library section)
Enable "Build a multilib toolchain" (Target options section)
and also
selected C++ (C compiler section)
as mentioned in

https://gist.github.com/franzflasch/02a8aeb2f6ec8e942b14ee9929db38e9

I have attached my version of .config file which I build gcc from scratch.
May I request you to edit this file send me two .config files? One for C++
and other fortran.

Many Thanks.




On Tue, Mar 10, 2020 at 3:32 AM Jim Wilson <jimw@sifive.com> wrote:

> On Mon, Mar 9, 2020 at 6:58 AM Vijay Holimath <vijay.holimath@gmail.com>
> wrote:
> > I would like to build RISC-V g++ and gfortran compiler by downloading all
> > source codes to host pc (for linux OS) and then rebuild compiler from
> > scratch. I can build RISC-V gcc compiler from scratch by downloading to
> > host pc using https://crosstool-ng.github.io/  However, I have not
> > found any such cross compiler tool for g++ and gfortran. May I request
> you
> > to guide me on how to build RISC-V cross  C ++ and gfortran compiler from
> > source codes?
>
> Using ct-ng menuconfig, in the C compiler menu, I see tick boxes for
> C++ and Fortran.
>
> Jim
>

[-- Attachment #2: dot2.config --]
[-- Type: application/octet-stream, Size: 17798 bytes --]

#
# Automatically generated file; DO NOT EDIT.
# crosstool-NG  Configuration
#
CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y
CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_curl=y
CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_make_4_0_or_newer=y
CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
CT_CONFIGURE_has_autoconf_2_65_or_newer=y
CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
CT_CONFIGURE_has_automake_1_15_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_dtc=y
CT_CONFIGURE_has_git=y
CT_CONFIGURE_has_md5sum=y
CT_CONFIGURE_has_sha1sum=y
CT_CONFIGURE_has_sha256sum=y
CT_CONFIGURE_has_sha512sum=y
CT_CONFIGURE_has_install_with_strip_program=y
CT_CONFIG_VERSION_CURRENT="3"
CT_CONFIG_VERSION="3"
CT_MODULES=y

#
# Paths and misc options
#

#
# crosstool-NG behavior
#
# CT_OBSOLETE is not set
CT_EXPERIMENTAL=y
# CT_ALLOW_BUILD_AS_ROOT is not set
CT_DEBUG_CT=y
# CT_DEBUG_PAUSE_STEPS is not set
CT_DEBUG_CT_SAVE_STEPS=y
CT_DEBUG_CT_SAVE_STEPS_GZIP=y
# CT_NO_OVERRIDE_LC_MESSAGES is not set
# CT_DEBUG_INTERACTIVE is not set

#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
CT_SAVE_TARBALLS=y
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
CT_WORK_DIR="${CT_TOP_DIR}/.build"
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_PREFIX_DIR="${CT_PREFIX:-${HOME}/x-tools}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
CT_INSTALL_LICENSES=y
CT_PREFIX_DIR_RO=y
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
# CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES is not set

#
# Downloading
#
CT_DOWNLOAD_AGENT_WGET=y
# CT_DOWNLOAD_AGENT_CURL is not set
# CT_DOWNLOAD_AGENT_NONE is not set
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_CONNECT_TIMEOUT=10
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
# CT_ONLY_DOWNLOAD is not set
# CT_USE_MIRROR is not set
CT_VERIFY_DOWNLOAD_DIGEST=y
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set

#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERRIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_LOCAL is not set
# CT_PATCH_BUNDLED_LOCAL is not set
# CT_PATCH_LOCAL_BUNDLED is not set
# CT_PATCH_NONE is not set
CT_PATCH_ORDER="bundled"

#
# Build behavior
#
CT_PARALLEL_JOBS=0
CT_LOAD=""
CT_USE_PIPES=y
CT_EXTRA_CFLAGS_FOR_BUILD=""
CT_EXTRA_LDFLAGS_FOR_BUILD=""
CT_EXTRA_CFLAGS_FOR_HOST=""
CT_EXTRA_LDFLAGS_FOR_HOST=""
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="${bash}"

#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
CT_LOG_EXTRA=y
# CT_LOG_ALL is not set
# CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y

#
# Target options
#
# CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set
# CT_ARCH_ARM is not set
# CT_ARCH_AVR is not set
# CT_ARCH_M68K is not set
# CT_ARCH_MICROBLAZE is not set
# CT_ARCH_MIPS is not set
# CT_ARCH_MOXIE is not set
# CT_ARCH_MSP430 is not set
# CT_ARCH_NIOS2 is not set
# CT_ARCH_POWERPC is not set
CT_ARCH_RISCV=y
# CT_ARCH_S390 is not set
# CT_ARCH_SH is not set
# CT_ARCH_SPARC is not set
# CT_ARCH_X86 is not set
# CT_ARCH_XTENSA is not set
CT_ARCH="riscv"
CT_ARCH_CHOICE_KSYM="RISCV"
CT_ARCH_TUNE=""
# CT_ARCH_mips_o32 is not set
CT_ARCH_RISCV_SHOW=y

#
# Options for riscv
#
CT_ARCH_RISCV_PKG_KSYM=""
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC RISCV S390 SH SPARC X86 XTENSA"
CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set

#
# Generic target options
#
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_SUPPORTS_BOTH_MMU=y
# CT_ARCH_USE_MMU is not set
# CT_ARCH_BE is not set
# CT_ARCH_LE is not set
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y
CT_ARCH_BITNESS=32
CT_ARCH_32=y
# CT_ARCH_64 is not set

#
# Target optimisations
#
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_ABI=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_ARCH=""
CT_ARCH_ABI=""
# CT_ARCH_FLOAT_AUTO is not set
# CT_ARCH_FLOAT_HW is not set
# CT_ARCH_FLOAT_SW is not set
CT_TARGET_CFLAGS=""
CT_TARGET_LDFLAGS=""

#
# Toolchain options
#

#
# General toolchain options
#
#CT_WANTS_STATIC_LINK=y
#CT_WANTS_STATIC_LINK_CXX=y
# CT_STATIC_TOOLCHAIN is not set
CT_SHOW_CT_VERSION=y
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""

#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="unknown"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""

#
# Toolchain type
#
# CT_NATIVE is not set
CT_CROSS=y
# CT_CROSS_NATIVE is not set
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"

#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""

#
# Misc options
#
# CT_TOOLCHAIN_ENABLE_NLS is not set

#
# Operating System
#
CT_BARE_METAL=y
CT_KERNEL_BARE_METAL=y
# CT_KERNEL_LINUX is not set
CT_KERNEL="bare-metal"
CT_KERNEL_CHOICE_KSYM="BARE_METAL"
CT_KERNEL_BARE_METAL_SHOW=y

#
# Options for bare-metal
#
CT_KERNEL_BARE_METAL_PKG_KSYM=""
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"

#
# Common kernel options
#

#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
# CT_ARCH_BINFMT_FDPIC is not set
CT_BINUTILS_BINUTILS=y
CT_BINUTILS="binutils"
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
CT_BINUTILS_BINUTILS_SHOW=y

#
# Options for binutils
#
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
CT_BINUTILS_DIR_NAME="binutils"
CT_BINUTILS_USE_GNU=y
CT_BINUTILS_USE="BINUTILS"
CT_BINUTILS_PKG_NAME="binutils"
CT_BINUTILS_SRC_RELEASE=y
# CT_BINUTILS_SRC_DEVEL is not set
# CT_BINUTILS_SRC_CUSTOM is not set
CT_BINUTILS_PATCH_GLOBAL=y
# CT_BINUTILS_PATCH_BUNDLED is not set
# CT_BINUTILS_PATCH_LOCAL is not set
# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set
# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set
# CT_BINUTILS_PATCH_NONE is not set
CT_BINUTILS_PATCH_ORDER="global"
CT_BINUTILS_V_2_32=y
# CT_BINUTILS_V_2_31 is not set
# CT_BINUTILS_V_2_30 is not set
# CT_BINUTILS_V_2_29 is not set
# CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set
# CT_BINUTILS_NO_VERSIONS is not set
CT_BINUTILS_VERSION="2.32"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
CT_BINUTILS_later_than_2_30=y
CT_BINUTILS_2_30_or_later=y
CT_BINUTILS_later_than_2_27=y
CT_BINUTILS_2_27_or_later=y
CT_BINUTILS_later_than_2_25=y
CT_BINUTILS_2_25_or_later=y
CT_BINUTILS_later_than_2_23=y
CT_BINUTILS_2_23_or_later=y

#
# GNU binutils
#
CT_BINUTILS_HAS_HASH_STYLE=y
CT_BINUTILS_HAS_GOLD=y
CT_BINUTILS_HAS_PLUGINS=y
CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
CT_BINUTILS_LINKER_LD=y
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
# CT_BINUTILS_PLUGINS is not set
CT_BINUTILS_RELRO=m
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
CT_ALL_BINUTILS_CHOICES="BINUTILS"

#
# C-library
#
CT_LIBC_NEWLIB=y
# CT_LIBC_NONE is not set
CT_LIBC="newlib"
CT_LIBC_CHOICE_KSYM="NEWLIB"
CT_THREADS="none"
CT_LIBC_NEWLIB_SHOW=y

#
# Options for newlib
#
CT_LIBC_NEWLIB_PKG_KSYM="NEWLIB"
CT_NEWLIB_DIR_NAME="newlib"
CT_NEWLIB_USE_REDHAT=y
CT_NEWLIB_USE="NEWLIB"
CT_NEWLIB_PKG_NAME="newlib"
CT_NEWLIB_SRC_RELEASE=y
# CT_NEWLIB_SRC_DEVEL is not set
# CT_NEWLIB_SRC_CUSTOM is not set
CT_NEWLIB_PATCH_GLOBAL=y
# CT_NEWLIB_PATCH_BUNDLED is not set
# CT_NEWLIB_PATCH_LOCAL is not set
# CT_NEWLIB_PATCH_BUNDLED_LOCAL is not set
# CT_NEWLIB_PATCH_LOCAL_BUNDLED is not set
# CT_NEWLIB_PATCH_NONE is not set
CT_NEWLIB_PATCH_ORDER="global"
CT_NEWLIB_V_3_1=y
# CT_NEWLIB_V_3_0 is not set
# CT_NEWLIB_V_2_5 is not set
# CT_NEWLIB_NO_VERSIONS is not set
CT_NEWLIB_VERSION="3.1.0.20181231"
CT_NEWLIB_MIRRORS="ftp://sourceware.org/pub/newlib"
CT_NEWLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_NEWLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_NEWLIB_ARCHIVE_FORMATS=".tar.gz"
CT_NEWLIB_SIGNATURE_FORMAT=""
CT_NEWLIB_later_than_2_2=y
CT_NEWLIB_2_2_or_later=y
CT_NEWLIB_later_than_2_1=y
CT_NEWLIB_2_1_or_later=y
CT_NEWLIB_later_than_2_0=y
CT_NEWLIB_2_0_or_later=y
CT_NEWLIB_CXA_ATEXIT=y
CT_NEWLIB_HAS_NANO_MALLOC=y
CT_NEWLIB_HAS_NANO_FORMATTED_IO=y
CT_LIBC_NEWLIB_TARGET_CFLAGS=""
# CT_LIBC_NEWLIB_IO_C99FMT is not set
# CT_LIBC_NEWLIB_IO_LL is not set
# CT_LIBC_NEWLIB_IO_FLOAT is not set
# CT_LIBC_NEWLIB_IO_POS_ARGS is not set
CT_LIBC_NEWLIB_FVWRITE_IN_STREAMIO=y
CT_LIBC_NEWLIB_UNBUF_STREAM_OPT=y
CT_LIBC_NEWLIB_FSEEK_OPTIMIZATION=y
# CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS is not set
# CT_LIBC_NEWLIB_REGISTER_FINI is not set
CT_LIBC_NEWLIB_ATEXIT_DYNAMIC_ALLOC=y
# CT_LIBC_NEWLIB_GLOBAL_ATEXIT is not set
# CT_LIBC_NEWLIB_LITE_EXIT is not set
# CT_LIBC_NEWLIB_REENT_SMALL is not set
CT_LIBC_NEWLIB_MULTITHREAD=y
# CT_LIBC_NEWLIB_EXTRA_SECTIONS is not set
CT_LIBC_NEWLIB_WIDE_ORIENT=y
CT_LIBC_NEWLIB_ENABLE_TARGET_OPTSPACE=y
# CT_LIBC_NEWLIB_LTO is not set
# CT_LIBC_NEWLIB_NANO_MALLOC is not set
# CT_LIBC_NEWLIB_NANO_FORMATTED_IO is not set
CT_LIBC_NEWLIB_EXTRA_CONFIG_ARRAY=""
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC"
CT_LIBC_SUPPORT_THREADS_NONE=y
CT_LIBC_PROVIDES_CXA_ATEXIT=y

#
# Common C library options
#
CT_THREADS_NONE=y

#
# C compiler
#
CT_CC_CORE_PASS_2_NEEDED=y
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y
CT_CC_GCC=y
CT_CC="gcc"
CT_CC_CHOICE_KSYM="GCC"
CT_CC_GCC_SHOW=y

#
# Options for gcc
#
CT_CC_GCC_PKG_KSYM="GCC"
CT_GCC_DIR_NAME="gcc"
CT_GCC_USE_GNU=y
# CT_GCC_USE_LINARO is not set
CT_GCC_USE="GCC"
CT_GCC_PKG_NAME="gcc"
CT_GCC_SRC_RELEASE=y
# CT_GCC_SRC_DEVEL is not set
# CT_GCC_SRC_CUSTOM is not set
CT_GCC_PATCH_GLOBAL=y
# CT_GCC_PATCH_BUNDLED is not set
# CT_GCC_PATCH_LOCAL is not set
# CT_GCC_PATCH_BUNDLED_LOCAL is not set
# CT_GCC_PATCH_LOCAL_BUNDLED is not set
# CT_GCC_PATCH_NONE is not set
CT_GCC_PATCH_ORDER="global"
CT_GCC_V_8=y
# CT_GCC_V_7 is not set
# CT_GCC_V_6 is not set
# CT_GCC_V_5 is not set
# CT_GCC_V_4_9 is not set
# CT_GCC_NO_VERSIONS is not set
CT_GCC_VERSION="8.3.0"
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GCC_SIGNATURE_FORMAT=""
CT_GCC_later_than_7=y
CT_GCC_7_or_later=y
CT_GCC_REQUIRE_7_or_later=y
CT_GCC_later_than_6=y
CT_GCC_6_or_later=y
CT_GCC_later_than_5=y
CT_GCC_5_or_later=y
CT_GCC_later_than_4_9=y
CT_GCC_4_9_or_later=y
CT_GCC_later_than_4_8=y
CT_GCC_4_8_or_later=y
CT_CC_GCC_HAS_LIBMPX=y
CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_STATIC_LIBSTDCXX=y
# CT_CC_GCC_SYSTEM_ZLIB is not set
CT_CC_GCC_CONFIG_TLS=m

#
# Optimisation features
#
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y

#
# Settings for libraries running on target
#
CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
# CT_CC_GCC_LIBMUDFLAP is not set
# CT_CC_GCC_LIBSSP is not set
# CT_CC_GCC_LIBQUADMATH is not set

#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
# CT_CC_GCC_DISABLE_PCH is not set
CT_CC_GCC_LDBL_128=m
# CT_CC_GCC_BUILD_ID is not set
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
CT_CC_GCC_LNK_HASH_STYLE=""
CT_CC_GCC_DEC_FLOAT_AUTO=y
# CT_CC_GCC_DEC_FLOAT_BID is not set
# CT_CC_GCC_DEC_FLOAT_DPD is not set
# CT_CC_GCC_DEC_FLOATS_NO is not set
CT_ALL_CC_CHOICES="GCC"

#
# Additional supported languages:
#
# CT_CC_LANG_CXX is not set
# CT_CC_LANG_FORTRAN is not set
CT_CC_LANG_OTHERS=""

#
# Debug facilities
#
# CT_DEBUG_GDB is not set
# CT_DEBUG_LTRACE is not set
# CT_DEBUG_STRACE is not set
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"

#
# Companion libraries
#
# CT_COMPLIBS_CHECK is not set
# CT_COMP_LIBS_CLOOG is not set
# CT_COMP_LIBS_EXPAT is not set
# CT_COMP_LIBS_GETTEXT is not set
CT_COMP_LIBS_GMP=y
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
CT_GMP_DIR_NAME="gmp"
CT_GMP_PKG_NAME="gmp"
CT_GMP_SRC_RELEASE=y
# CT_GMP_SRC_DEVEL is not set
# CT_GMP_SRC_CUSTOM is not set
CT_GMP_PATCH_GLOBAL=y
# CT_GMP_PATCH_BUNDLED is not set
# CT_GMP_PATCH_LOCAL is not set
# CT_GMP_PATCH_BUNDLED_LOCAL is not set
# CT_GMP_PATCH_LOCAL_BUNDLED is not set
# CT_GMP_PATCH_NONE is not set
CT_GMP_PATCH_ORDER="global"
CT_GMP_V_6_1=y
# CT_GMP_NO_VERSIONS is not set
CT_GMP_VERSION="6.1.2"
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
CT_GMP_later_than_5_1_0=y
CT_GMP_5_1_0_or_later=y
CT_GMP_later_than_5_0_0=y
CT_GMP_5_0_0_or_later=y
CT_GMP_REQUIRE_5_0_0_or_later=y
CT_COMP_LIBS_ISL=y
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
CT_ISL_DIR_NAME="isl"
CT_ISL_PKG_NAME="isl"
CT_ISL_SRC_RELEASE=y
# CT_ISL_SRC_DEVEL is not set
# CT_ISL_SRC_CUSTOM is not set
CT_ISL_PATCH_GLOBAL=y
# CT_ISL_PATCH_BUNDLED is not set
# CT_ISL_PATCH_LOCAL is not set
# CT_ISL_PATCH_BUNDLED_LOCAL is not set
# CT_ISL_PATCH_LOCAL_BUNDLED is not set
# CT_ISL_PATCH_NONE is not set
CT_ISL_PATCH_ORDER="global"
CT_ISL_V_0_20=y
# CT_ISL_V_0_19 is not set
# CT_ISL_V_0_18 is not set
# CT_ISL_V_0_17 is not set
# CT_ISL_V_0_16 is not set
# CT_ISL_V_0_15 is not set
# CT_ISL_NO_VERSIONS is not set
CT_ISL_VERSION="0.20"
CT_ISL_MIRRORS="http://isl.gforge.inria.fr"
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_ISL_SIGNATURE_FORMAT=""
CT_ISL_later_than_0_18=y
CT_ISL_0_18_or_later=y
CT_ISL_later_than_0_15=y
CT_ISL_0_15_or_later=y
CT_ISL_REQUIRE_0_15_or_later=y
CT_ISL_later_than_0_14=y
CT_ISL_0_14_or_later=y
CT_ISL_REQUIRE_0_14_or_later=y
CT_ISL_later_than_0_13=y
CT_ISL_0_13_or_later=y
CT_ISL_later_than_0_12=y
CT_ISL_0_12_or_later=y
CT_ISL_REQUIRE_0_12_or_later=y
# CT_COMP_LIBS_LIBELF is not set
# CT_COMP_LIBS_LIBICONV is not set
CT_COMP_LIBS_MPC=y
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
CT_MPC_DIR_NAME="mpc"
CT_MPC_PKG_NAME="mpc"
CT_MPC_SRC_RELEASE=y
# CT_MPC_SRC_DEVEL is not set
# CT_MPC_SRC_CUSTOM is not set
CT_MPC_PATCH_GLOBAL=y
# CT_MPC_PATCH_BUNDLED is not set
# CT_MPC_PATCH_LOCAL is not set
# CT_MPC_PATCH_BUNDLED_LOCAL is not set
# CT_MPC_PATCH_LOCAL_BUNDLED is not set
# CT_MPC_PATCH_NONE is not set
CT_MPC_PATCH_ORDER="global"
CT_MPC_V_1_1=y
# CT_MPC_V_1_0 is not set
# CT_MPC_NO_VERSIONS is not set
CT_MPC_VERSION="1.1.0"
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
CT_MPC_1_1_0_or_later=y
CT_MPC_1_1_0_or_older=y
CT_COMP_LIBS_MPFR=y
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
CT_MPFR_DIR_NAME="mpfr"
CT_MPFR_PKG_NAME="mpfr"
CT_MPFR_SRC_RELEASE=y
# CT_MPFR_SRC_DEVEL is not set
# CT_MPFR_SRC_CUSTOM is not set
CT_MPFR_PATCH_GLOBAL=y
# CT_MPFR_PATCH_BUNDLED is not set
# CT_MPFR_PATCH_LOCAL is not set
# CT_MPFR_PATCH_BUNDLED_LOCAL is not set
# CT_MPFR_PATCH_LOCAL_BUNDLED is not set
# CT_MPFR_PATCH_NONE is not set
CT_MPFR_PATCH_ORDER="global"
CT_MPFR_V_4_0=y
# CT_MPFR_V_3_1 is not set
# CT_MPFR_NO_VERSIONS is not set
CT_MPFR_VERSION="4.0.2"
CT_MPFR_MIRRORS="http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
CT_MPFR_later_than_4_0_0=y
CT_MPFR_4_0_0_or_later=y
CT_MPFR_later_than_3_0_0=y
CT_MPFR_3_0_0_or_later=y
CT_MPFR_REQUIRE_3_0_0_or_later=y
# CT_COMP_LIBS_NCURSES is not set
CT_COMP_LIBS_ZLIB=y
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
CT_ZLIB_DIR_NAME="zlib"
CT_ZLIB_PKG_NAME="zlib"
CT_ZLIB_SRC_RELEASE=y
# CT_ZLIB_SRC_DEVEL is not set
# CT_ZLIB_SRC_CUSTOM is not set
CT_ZLIB_PATCH_GLOBAL=y
# CT_ZLIB_PATCH_BUNDLED is not set
# CT_ZLIB_PATCH_LOCAL is not set
# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set
# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set
# CT_ZLIB_PATCH_NONE is not set
CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_11=y
# CT_ZLIB_NO_VERSIONS is not set
CT_ZLIB_VERSION="1.2.11"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION}"
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP ISL LIBELF LIBICONV MPC MPFR NCURSES ZLIB"
# CT_LIBICONV_NEEDED is not set
# CT_GETTEXT_NEEDED is not set
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y
CT_MPC_NEEDED=y
CT_ZLIB_NEEDED=y
CT_GMP=y
CT_MPFR=y
CT_ISL=y
CT_MPC=y
CT_ZLIB=y

#
# Companion tools
#
# CT_COMP_TOOLS_FOR_HOST is not set
# CT_COMP_TOOLS_AUTOCONF is not set
# CT_COMP_TOOLS_AUTOMAKE is not set
# CT_COMP_TOOLS_BISON is not set
# CT_COMP_TOOLS_DTC is not set
# CT_COMP_TOOLS_LIBTOOL is not set
# CT_COMP_TOOLS_M4 is not set
# CT_COMP_TOOLS_MAKE is not set
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"

#
# Test suite
#
# CT_TEST_SUITE_GCC is not set

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: RISC-V G++ and Gfortran Help
  2020-03-10  2:00   ` Vijay Holimath
@ 2020-03-11 23:24     ` Jim Wilson
  2020-03-12  0:53       ` Vijay Holimath
  0 siblings, 1 reply; 10+ messages in thread
From: Jim Wilson @ 2020-03-11 23:24 UTC (permalink / raw)
  To: Vijay Holimath; +Cc: gcc-help

On Mon, Mar 9, 2020 at 7:00 PM Vijay Holimath <vijay.holimath@gmail.com> wrote:
> Thanks Jim. Yes, I can see C++ and Fortran for new version of crosstool-ng. However, I am unable to generate .config file using the following instructions:
>
> Enable newlib build (C-library section)
> Enable "Build a multilib toolchain" (Target options section)
> and also
> selected C++ (C compiler section)
> as mentioned in

What exact problem do you run into?

> I have attached my version of .config file which I build gcc from scratch. May I request you to edit this file send me two .config files? One for C++ and other fortran.

I respectfully decline.  I don't have such .config files and have no
interest in generating them.

If you can't figure out how to use crosstool-ng, you could try using
github.com/riscv/riscv-gnu-toolchain instead.  Or maybe download a
prebuilt toolchain which is available from various sources like
sifive.com/boards.

Jim

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: RISC-V G++ and Gfortran Help
  2020-03-11 23:24     ` Jim Wilson
@ 2020-03-12  0:53       ` Vijay Holimath
  2020-06-15  4:04         ` Vijay Holimath
  0 siblings, 1 reply; 10+ messages in thread
From: Vijay Holimath @ 2020-03-12  0:53 UTC (permalink / raw)
  To: Jim Wilson; +Cc: gcc-help

Never mind, I have generated config files for C++ and fortran. Thanks for
your time Jim.


On Thu, Mar 12, 2020 at 4:55 AM Jim Wilson <jimw@sifive.com> wrote:

> On Mon, Mar 9, 2020 at 7:00 PM Vijay Holimath <vijay.holimath@gmail.com>
> wrote:
> > Thanks Jim. Yes, I can see C++ and Fortran for new version of
> crosstool-ng. However, I am unable to generate .config file using the
> following instructions:
> >
> > Enable newlib build (C-library section)
> > Enable "Build a multilib toolchain" (Target options section)
> > and also
> > selected C++ (C compiler section)
> > as mentioned in
>
> What exact problem do you run into?
>
> > I have attached my version of .config file which I build gcc from
> scratch. May I request you to edit this file send me two .config files? One
> for C++ and other fortran.
>
> I respectfully decline.  I don't have such .config files and have no
> interest in generating them.
>
> If you can't figure out how to use crosstool-ng, you could try using
> github.com/riscv/riscv-gnu-toolchain instead.  Or maybe download a
> prebuilt toolchain which is available from various sources like
> sifive.com/boards.
>
> Jim
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: RISC-V G++ and Gfortran Help
  2020-03-12  0:53       ` Vijay Holimath
@ 2020-06-15  4:04         ` Vijay Holimath
  2020-06-15 21:49           ` Jim Wilson
  0 siblings, 1 reply; 10+ messages in thread
From: Vijay Holimath @ 2020-06-15  4:04 UTC (permalink / raw)
  To: Jim Wilson; +Cc: gcc-help

Hello Jim and All,

How do I
build riscv32-unknown-elf-dramfs-c++, riscv32-unknown-elf-dramfs-gcc,
riscv32-unknown-elf-dramfs-gfortran,
etc. using crosstool-ng is there any config file(s)?

Many Thanks,
-Vijay



On Thu, Mar 12, 2020 at 6:23 AM Vijay Holimath <vijay.holimath@gmail.com>
wrote:

> Never mind, I have generated config files for C++ and fortran. Thanks for
> your time Jim.
>
>
> On Thu, Mar 12, 2020 at 4:55 AM Jim Wilson <jimw@sifive.com> wrote:
>
>> On Mon, Mar 9, 2020 at 7:00 PM Vijay Holimath <vijay.holimath@gmail.com>
>> wrote:
>> > Thanks Jim. Yes, I can see C++ and Fortran for new version of
>> crosstool-ng. However, I am unable to generate .config file using the
>> following instructions:
>> >
>> > Enable newlib build (C-library section)
>> > Enable "Build a multilib toolchain" (Target options section)
>> > and also
>> > selected C++ (C compiler section)
>> > as mentioned in
>>
>> What exact problem do you run into?
>>
>> > I have attached my version of .config file which I build gcc from
>> scratch. May I request you to edit this file send me two .config files? One
>> for C++ and other fortran.
>>
>> I respectfully decline.  I don't have such .config files and have no
>> interest in generating them.
>>
>> If you can't figure out how to use crosstool-ng, you could try using
>> github.com/riscv/riscv-gnu-toolchain instead.  Or maybe download a
>> prebuilt toolchain which is available from various sources like
>> sifive.com/boards.
>>
>> Jim
>>
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: RISC-V G++ and Gfortran Help
  2020-06-15  4:04         ` Vijay Holimath
@ 2020-06-15 21:49           ` Jim Wilson
  0 siblings, 0 replies; 10+ messages in thread
From: Jim Wilson @ 2020-06-15 21:49 UTC (permalink / raw)
  To: Vijay Holimath; +Cc: gcc-help

On Sun, Jun 14, 2020 at 9:04 PM Vijay Holimath <vijay.holimath@gmail.com> wrote:
> How do I build riscv32-unknown-elf-dramfs-c++, riscv32-unknown-elf-dramfs-gcc, riscv32-unknown-elf-dramfs-gfortran, etc. using crosstool-ng is there any config file(s)?

I'm not familiar with dramfs and don't know what you are asking for
there, but an embedded elf toolchain can be built with crosstool-ng.
There are sample config files for riscv32-unknown-elf and
riscv64-unknown-elf.

Jim

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-06-15 21:49 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-09 13:57 RISC-V G++ and Gfortran Help Vijay Holimath
2020-03-09 14:30 ` Jonathan Wakely
2020-03-09 15:33 ` Vijay Holimath
2020-03-09 16:36   ` Jonathan Wakely
2020-03-09 22:02 ` Jim Wilson
2020-03-10  2:00   ` Vijay Holimath
2020-03-11 23:24     ` Jim Wilson
2020-03-12  0:53       ` Vijay Holimath
2020-06-15  4:04         ` Vijay Holimath
2020-06-15 21:49           ` Jim Wilson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).