[PATCH, moxie] Was: Moxie BSP Build Failure

Joel Sherrill joel.sherrill at oarcorp.com
Sat Jan 10 19:18:55 UTC 2015


Committed.  I am also trying to figure out what should be used in the
RSB to build a current toolset:

I have a local change to upgrade to dtc 1.4.1 since the location of 1.2.0
no longer exists.  That got me to the point where gcc 4.9.2 is built.
I tried the build with binutils 2.24 and binutils 2.25. What combination
binutils version do you recommend for 4.9.x gcc? I am trying to help
narrow down the options for 4.11 tools.

/users/joel/rtems-4.11-work/rtems-source-builder/rtems/build/moxie-rtems4.11-gcc-4.9.2-newlib-de616601501c4f82968683e80c112604a2d40222-1/build/./gcc/xgcc
-B/users/joel/rtems-4.11-work/rtems-source-builder/rtems/build/moxie-rtems4.11-gcc-4.9.2-newlib-de616601501c4f82968683e80c112604a2d40222-1/build/./gcc/
-nostdinc
-B/users/joel/rtems-4.11-work/rtems-source-builder/rtems/build/moxie-rtems4.11-gcc-4.9.2-newlib-de616601501c4f82968683e80c112604a2d40222-1/build/moxie-rtems4.11/newlib/
-isystem
/users/joel/rtems-4.11-work/rtems-source-builder/rtems/build/moxie-rtems4.11-gcc-4.9.2-newlib-de616601501c4f82968683e80c112604a2d40222-1/build/moxie-rtems4.11/newlib/targ-include
-isystem
/users/joel/rtems-4.11-work/rtems-source-builder/rtems/build/moxie-rtems4.11-gcc-4.9.2-newlib-de616601501c4f82968683e80c112604a2d40222-1/gcc-4.9.2/newlib/libc/include
-B/users/joel/rtems-4.11-work/tools/moxie-rtems4.11/bin/
-B/users/joel/rtems-4.11-work/tools/moxie-rtems4.11/lib/ -isystem
/users/joel/rtems-4.11-work/tools/moxie-rtems4.11/include -isystem
/users/joel/rtems-4.11-work/tools/moxie-rtems4.11/sys-include    -g -O2
-mel -O2 -I../../../../gcc-4.9.2/libgcc/../newlib/libc/sys/rtems/include
-g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wno-narrowing
-Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition  -isystem ./include   -g -DIN_LIBGCC2
-fbuilding-libgcc -fno-stack-protector -Dinhibit_libc  -I. -I.
-I../../.././gcc -I../../../../gcc-4.9.2/libgcc
-I../../../../gcc-4.9.2/libgcc/. -I../../../../gcc-4.9.2/libgcc/../gcc
-I../../../../gcc-4.9.2/libgcc/../include  -DHAVE_CC_TLS -DUSE_EMUTLS -o
unwind-dw2.o -MT unwind-dw2.o -MD -MP -MF unwind-dw2.dep -fexceptions -c
../../../../gcc-4.9.2/libgcc/unwind-dw2.c -fvisibility=hidden -DHIDE_EXPORTS
/tmp/cc0PGIGp.s: Assembler messages:
/tmp/cc0PGIGp.s:47: Error: unknown opcode sex.b $r2,$r4
/tmp/cc0PGIGp.s:217: Error: unknown opcode sex.b $r1,$r1
/tmp/cc0PGIGp.s:252: Error: unknown opcode sex.b $r1,$r1
/tmp/cc0PGIGp.s:360: Error: unknown opcode sex.b $r1,$r1
/tmp/cc0PGIGp.s:435: Error: unknown opcode sex.b $r9,$r9
/tmp/cc0PGIGp.s:487: Error: unknown opcode sex.b $r1,$r1
/tmp/cc0PGIGp.s:565: Error: unknown opcode sex.b $r1,$r1


On 1/10/2015 8:19 AM, Anthony Green wrote:
> Joel Sherrill <joel.sherrill at oarcorp.com> writes:
>
>> Hi
>>
>> This is with the binutils and gcc heads.
>>
>> moxie-rtems4.11-gcc --pipe -B../../../../../.././lib/
>> -B../../../../../.././moxiesim/lib/ -specs bsp_specs -qrtems
>> -DHAVE_CONFIG_H   -isystem ../../../../../.././moxiesim/lib/include 
>> -DASM -Os -g -ffunction-sections -fdata-sections -Wall
>> -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes
>> -Wnested-externs -MT start.o -MD -MP -MF .deps/start.Tpo -c -o start.o
>> `test -f 'start/start.S' || echo
>> '../../../../../../../../rtems/c/src/lib/libbsp/moxie/moxiesim/'`start/start.S
>> ../../../../../../../../rtems/c/src/lib/libbsp/moxie/moxiesim/start/start.S:
>> Assembler messages:
>> ../../../../../../../../rtems/c/src/lib/libbsp/moxie/moxiesim/start/start.S:15:
>> Error: unknown opcode sub.l $r2,$r0
>
>
> Here's my patch to correct.  It tests for old gas syntax at configure
> time and adjusts the use of sub/sub.l accordingly.
>
> Thanks,
>
> AG
>
>
> diff --git a/c/src/lib/libbsp/moxie/moxiesim/configure.ac b/c/src/lib/libbsp/moxie/moxiesim/configure.ac
> index e073b4b..ff87add 100644
> --- a/c/src/lib/libbsp/moxie/moxiesim/configure.ac
> +++ b/c/src/lib/libbsp/moxie/moxiesim/configure.ac
> @@ -17,6 +17,19 @@ RTEMS_PROG_CCAS
>  
>  RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
>  
> +AC_MSG_CHECKING([for old moxie assembly syntax])
> +AC_COMPILE_IFELSE(
> +  [AC_LANG_PROGRAM(
> +    [],
> +    [asm("sub.l $r0, $r0");])],
> +  [HAVE_OLD_MOXIE_ASM=yes],
> +  [HAVE_OLD_MOXIE_ASM=no])
> +AC_MSG_RESULT([$HAVE_OLD_MOXIE_ASM])
> +if test "x$HAVE_OLD_MOXIE_ASM" = xyes; then
> +  AC_DEFINE(HAVE_OLD_MOXIE_ASM, 
> +            1, [Define if you are using old moxie asm syntax (sub.l)])
> +fi
> +
>  # Explicitly list all Makefiles here
>  AC_CONFIG_FILES([Makefile])
>  AC_OUTPUT
> diff --git a/c/src/lib/libbsp/moxie/moxiesim/start/start.S b/c/src/lib/libbsp/moxie/moxiesim/start/start.S
> index 6b44a24..ae712cb 100644
> --- a/c/src/lib/libbsp/moxie/moxiesim/start/start.S
> +++ b/c/src/lib/libbsp/moxie/moxiesim/start/start.S
> @@ -1,7 +1,13 @@
> -/* Copyright (C) 2011, 2013  Anthony Green */
> +/* Copyright (C) 2011, 2013, 2014  Anthony Green */
>  
>  /* moxie start up file. */
>  
> +#include "bspopts.h"
> +
> +#if defined(HAVE_OLD_MOXIE_ASM)
> +#define sub sub.l
> +#endif
> +	
>          .text
>          .global _start
>  _start:
> @@ -12,7 +18,7 @@ _start:
>          ldi.l   $r0, __bss_start__
>          xor     $r1, $r1
>          ldi.l   $r2, __bss_end__
> -        sub.l   $r2, $r0
> +        sub     $r2, $r0
>          jsra    memset
>  
>          ldi.l   $r0, 0x0        # pass in NULL

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985





More information about the devel mailing list