RTEMS not compiling with -mfloat-abi=hard in ARM926ejs

Amarnath MB amarnath.mb at mistralsolutions.com
Tue Jan 8 16:41:59 UTC 2019


Hi Joel,

What do you meant by dynamic loading tests?

Below is the content of config.log
----------------------START-------------------------------------------
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by rtems configure 5.0.0, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $
/mnt/OS/LAP000426/PROJECTS/2018/MAN/RTEMS_BUILD/development/rtems/manSoc/rtems/5.00/rtems-git/configure
--target=arm-rtems5 --enable-rtemsbsp=socV1
--enable-maintainer-mode--disable-networking--enable-posix
--prefix=/mnt/OS/LAP000426/PROJECTS/2018/MAN/RTEMS_BUILD/development/rtems/manSoc/rtems/5.00/bsps/5.00

## --------- ##
## Platform. ##
## --------- ##

hostname = mistral
uname -m = x86_64
uname -r = 4.15.0-43-generic
uname -s = Linux
uname -v = #46~16.04.1-Ubuntu SMP Fri Dec 7 13:31:08 UTC 2018

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH:
/mnt/OS/LAP000426/PROJECTS/2018/MAN/RTEMS_BUILD/development/rtems/manSoc/rtems/5.00/compiler/5/bin
PATH:
/mnt/OS/LAP000426/PROJECTS/2018/MAN/RTEMS_BUILD/development/rtems/manSoc/uboot/uboot-git/build/socV1/tools
PATH: /home/mistral/bin
PATH: /home/mistral/.local/bin
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /usr/games
PATH: /usr/local/games
PATH: /snap/bin
PATH: /usr/lib/jvm/java-8-oracle/bin
PATH: /usr/lib/jvm/java-8-oracle/db/bin
PATH: /usr/lib/jvm/java-8-oracle/jre/bin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:1844: checking for gmake
configure:1860: found /usr/bin/gmake
configure:1871: result: gmake
configure:1896: checking for RTEMS Version
configure:1898: result: 5.0.0
configure:1928: checking build system type
configure:1942: result: x86_64-pc-linux-gnu
configure:1962: checking host system type
configure:1975: result: x86_64-pc-linux-gnu
configure:1995: checking target system type
configure:2008: result: arm-unknown-rtems5
configure:2050: checking for a BSD-compatible install
configure:2118: result: /usr/bin/install -c
configure:2129: checking whether build environment is sane
configure:2184: result: yes
configure:2335: checking for a thread-safe mkdir -p
configure:2374: result: /bin/mkdir -p
configure:2381: checking for gawk
configure:2397: found /usr/bin/gawk
configure:2408: result: gawk
configure:2419: checking whether gmake sets $(MAKE)
configure:2441: result: yes
configure:2470: checking whether gmake supports nested variables
configure:2487: result: yes
configure:2605: checking whether to enable maintainer-specific portions of
Makefiles
configure:2614: result: no
configure:2997: checking that generated files are newer than configure
configure:3003: result: done
configure:3169: creating ./config.status
configure:4199: configuring in arm-rtems5/c
configure:4286: running /bin/bash
'/mnt/OS/LAP000426/PROJECTS/2018/MAN/RTEMS_BUILD/development/rtems/manSoc/rtems/5.00/rtems-git/c/configure'
'--prefix=/mnt/OS/LAP000426/PROJECTS/2018/MAN/RTEMS_BUILD/development/rtems/manSoc/rtems/5.00/bsps/5.00'
'--host=arm-rtems5' '--build=x86_64-pc-linux-gnu' '--target=arm-rtems5'
'--enable-rtemsbsp=socV1'
'--enable-maintainer-mode--disable-networking--enable-posix'
'--with-target-subdir=arm-rtems5'
'--exec-prefix=/mnt/OS/LAP000426/PROJECTS/2018/MAN/RTEMS_BUILD/development/rtems/manSoc/rtems/5.00/bsps/5.00/arm-rtems5'
'--includedir=/mnt/OS/LAP000426/PROJECTS/2018/MAN/RTEMS_BUILD/development/rtems/manSoc/rtems/5.00/bsps/5.00/arm-rtems5/include'
'--cache-file=/dev/null'
'--srcdir=/mnt/OS/LAP000426/PROJECTS/2018/MAN/RTEMS_BUILD/development/rtems/manSoc/rtems/5.00/rtems-git/c'

## ---------------------- ##
## Running config.status. ##
## ---------------------- ##

This file was extended by rtems config.status 5.0.0, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  CONFIG_FILES    =
  CONFIG_HEADERS  =
  CONFIG_LINKS    =
  CONFIG_COMMANDS =
  $ ./config.status

on mistral

config.status:778: creating Makefile

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=x86_64-pc-linux-gnu
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=set
ac_cv_env_target_alias_value=arm-rtems5
ac_cv_host=x86_64-pc-linux-gnu
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_mkdir=/bin/mkdir
ac_cv_prog_AWK=gawk
ac_cv_prog_MAKE=gmake
ac_cv_prog_make_gmake_set=yes
ac_cv_target=arm-unknown-rtems5
am_cv_make_support_nested_variables=yes

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL}
/mnt/OS/LAP000426/PROJECTS/2018/MAN/RTEMS_BUILD/development/rtems/manSoc/rtems/5.00/rtems-git/missing
aclocal-1.15'
AMTAR='$${TAR-tar}'
AM_BACKSLASH='\'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='1'
AM_V='$(V)'
AUTOCONF='${SHELL}
/mnt/OS/LAP000426/PROJECTS/2018/MAN/RTEMS_BUILD/development/rtems/manSoc/rtems/5.00/rtems-git/missing
autoconf'
AUTOHEADER='${SHELL}
/mnt/OS/LAP000426/PROJECTS/2018/MAN/RTEMS_BUILD/development/rtems/manSoc/rtems/5.00/rtems-git/missing
autoheader'
AUTOMAKE='${SHELL}
/mnt/OS/LAP000426/PROJECTS/2018/MAN/RTEMS_BUILD/development/rtems/manSoc/rtems/5.00/rtems-git/missing
automake-1.15'
AWK='gawk'
CYGPATH_W='echo'
DEFS='-DPACKAGE_NAME=\"rtems\" -DPACKAGE_TARNAME=\"rtems\"
-DPACKAGE_VERSION=\"5.0.0\" -DPACKAGE_STRING=\"rtems\ 5.0.0\"
-DPACKAGE_BUGREPORT=\"https://devel.rtems.org/newticket\"
-DPACKAGE_URL=\"\"'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LIBOBJS=''
LIBS=''
LTLIBOBJS=''
MAINT='#'
MAINTAINER_MODE_FALSE=''
MAINTAINER_MODE_TRUE='#'
MAKE='gmake'
MAKEINFO='${SHELL}
/mnt/OS/LAP000426/PROJECTS/2018/MAN/RTEMS_BUILD/development/rtems/manSoc/rtems/5.00/rtems-git/missing
makeinfo'
MKDIR_P='/bin/mkdir -p'
PACKAGE='rtems'
PACKAGE_BUGREPORT='https://devel.rtems.org/newticket'
PACKAGE_NAME='rtems'
PACKAGE_STRING='rtems 5.0.0'
PACKAGE_TARNAME='rtems'
PACKAGE_URL=''
PACKAGE_VERSION='5.0.0'
PATH_SEPARATOR=':'
PROJECT_ROOT='./$(top_builddir)'
PROJECT_TOPdir='./$(top_builddir)'
RTEMS_BUILD_ROOT=''
RTEMS_HAS_NETWORKING='yes'
RTEMS_HAS_POSIX_API='yes'
RTEMS_SOURCE_ROOT=''
RTEMS_TOPdir='.'
SET_MAKE=''
SHELL='/bin/bash'
STRIP=''
VERSION='5.0.0'
am__isrc=' -I$(srcdir)'
am__leading_dot='.'
am__tar='$${TAR-tar} chof - "$$tardir"'
am__untar='$${TAR-tar} xf -'
bindir='${exec_prefix}/bin'
build='x86_64-pc-linux-gnu'
build_SUBDIRS=''
build_alias=''
build_cpu='x86_64'
build_os='linux-gnu'
build_subdir='.'
build_vendor='pc'
buildargs=''
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='${prefix}'
host='x86_64-pc-linux-gnu'
host_SUBDIRS=''
host_alias=''
host_cpu='x86_64'
host_os='linux-gnu'
host_subdir=''
host_vendor='pc'
hostargs=''
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL}
/mnt/OS/LAP000426/PROJECTS/2018/MAN/RTEMS_BUILD/development/rtems/manSoc/rtems/5.00/rtems-git/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pdfdir='${docdir}'
pkgdatadir='${datarootdir}/rtems5'
prefix='/mnt/OS/LAP000426/PROJECTS/2018/MAN/RTEMS_BUILD/development/rtems/manSoc/rtems/5.00/bsps/5.00'
program_transform_name='s&^&arm-rtems5-&'
psdir='${docdir}'
runstatedir='${localstatedir}/run'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target='arm-unknown-rtems5'
target_SUBDIRS=' arm-rtems5/c'
target_alias='arm-rtems5'
target_configdirs=' c'
target_cpu='arm'
target_os='rtems5'
target_subdir='arm-rtems5'
target_vendor='unknown'
targetargs=''\''--host=arm-rtems5'\'' '\''--build=x86_64-pc-linux-gnu'\''
'\''--target=arm-rtems5'\''  '\''--enable-rtemsbsp=socV1'\''
'\''--enable-maintainer-mode--disable-networking--enable-posix'\'''

## ----------- ##
## confdefs.h. ##
## ----------- ##

/* confdefs.h */
#define PACKAGE_NAME "rtems"
#define PACKAGE_TARNAME "rtems"
#define PACKAGE_VERSION "5.0.0"
#define PACKAGE_STRING "rtems 5.0.0"
#define PACKAGE_BUGREPORT "https://devel.rtems.org/newticket"
#define PACKAGE_URL ""

configure: exit 0
----------------------END-------------------------------------------

*Thank you & Regards,*
*Amarnath MB*



On Sat, Jan 5, 2019 at 3:29 AM Joel Sherrill <joel at rtems.org> wrote:

>
>
> On Fri, Jan 4, 2019 at 1:53 PM Amarnath MB <
> amarnath.mb at mistralsolutions.com> wrote:
>
>> Hi,
>>
>> I'm working on RTEMS 5.0 BSP for a new SOC based on ARM926EJS which has a
>> VFP9-S Floating point coprocessor inside.
>> I was able to successfully boot RTEMS and run hello.exe and ticker.exe
>> testsuite samples using u-boot.
>>
>> I have enabled VFP from Uboot using the coprocessor instructions given
>> in ARM926EJS RM.
>> In order to use the VFP coprocessor in RTEMS I have added
>> *CPU_CFLAGS = -mcpu=arm926ej-s -mthumb -mfloat-abi=hard *in the .cfg
>> file for the BSP.
>> But during the BSP build, it gives error "configure: error: C compiler
>> cannot create executables".
>> How can I enable hard float support in my BSP?
>>
>
> All that means is that compiling something simple like this:
>
> int main(int argc, char **argv)
> {
>   return 0;
> }
>
> With the compiler arguments you have setup failed. There is a config.log
> in the directory of the
> failure with details but that's essentially the test.
>
>>
>> *As a trial, I have built BSP with CPU_CFLAGS = -mcpu=arm926ej-s -mthumb
>> and manually added*
>> *CPU_CFLAGS = -mcpu=arm926ej-s -mthumb -mfloat-abi=hard in the makefile
>> (Makefile.leaf) for application build.*
>> *In this case, I'm getting error 'error: o-optimize/init.o uses VFP
>> register arguments, o-optimize/rtems-app.exe does not'*
>>
>
> Without seeing the full test case and log, this looks like the linker
> arguments don't match the compiler arguments for some reason.
>
> Is this with one of the dynamic loading tests?
>
>
>>
>> *As per RTEMS CPU Architecture Supplement Release 5.0.0 (master) Section
>> 3.1.3 Floating Point Unit only*
>> *VFPv3-D32, **VFPv3-D16 and *
>> *FPv4-SP-D16 are supported by RTEMS, but VFP9-S Floating point
>> coprocessor is an *
>>
>> *implementation of the Vector Floating-point Architecture (VFPv2) which
>> is not listed in 3.1.3.*
>> *Does this state that VFP9-S Floating point coprocessor is not supported
>> by RTEMS?*
>>
>> *For your info floating point operations are working fine in the
>> application built using -mfloat-abi=soft.*
>>
>>
>> *Thanks in advance for all your precious time.*
>>
>>
>> *Regards, *
>>
>> *Amarnath MB*
>> _______________________________________________
>> users mailing list
>> users at rtems.org
>> http://lists.rtems.org/mailman/listinfo/users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20190108/648e170b/attachment-0001.html>


More information about the users mailing list