[RTEMS Project] #1473: mips 64bit issues?

RTEMS trac trac at rtems.org
Fri Nov 21 15:44:23 UTC 2014


#1473: mips 64bit issues?
----------------------------+----------------------------
 Reporter:  ralf.corsepius  |       Owner:  joel.sherrill
     Type:  defect          |      Status:  closed
 Priority:  normal          |   Milestone:  4.10
Component:  cpukit          |     Version:  4.10
 Severity:  normal          |  Resolution:  fixed
 Keywords:                  |
----------------------------+----------------------------
Changes (by joel.sherrill):

 * status:  new => closed
 * resolution:   => fixed


Old description:

> When building mips/hurricane, I am observing this warning:
>
> # mips-rtems4.10-gcc --pipe -DHAVE_CONFIG_H   -I..
> -I../../cpukit/../../../hurricane/lib/include -D__RTEMS_INSIDE__   -mips3
> -G0 -EL -O2 -g -fomit-frame-pointer -Wall -Wimplicit-function-declaration
> -Wstrict-prototypes -Wnested-externs -MT src/libscore_a-threadloadenv.o
> -MD -MP -MF src/.deps/libscore_a-threadloadenv.Tpo -c -o src/libscore_a-
> threadloadenv.o `test -f 'src/threadloadenv.c' || echo
> '../../../../../../c/src/../../cpukit/score/'`src/threadloadenv.c
> ../../../../../../c/src/../../cpukit/score/src/threadloadenv.c: In
> function '_Thread_Load_environment':
> ../../../../../../c/src/../../cpukit/score/src/threadloadenv.c:67:
> warning: cast from pointer to integer of different size
>
> This warning refers to this line
>
>  (&the_thread->Registers)->ra = (uint64_t)_Thread_Handler;
>
> from _CPU_Context_Initialize
> (The uint64_t to be seen above is __MIPS_REGISTER_TYPE)
>
> I read this as hint of this BSP assuming to be using 64bit, while the
> compiler actually uses 32bit. Unfortunately, I am not sufficiently
> familiar with the mips to be able to further comment on this issue.

New description:

 When building mips/hurricane, I am observing this warning:

 # mips-rtems4.10-gcc --pipe -DHAVE_CONFIG_H   -I..
 -I../../cpukit/../../../hurricane/lib/include -D__RTEMS_INSIDE__   -mips3
 -G0 -EL -O2 -g -fomit-frame-pointer -Wall -Wimplicit-function-declaration
 -Wstrict-prototypes -Wnested-externs -MT src/libscore_a-threadloadenv.o
 -MD -MP -MF src/.deps/libscore_a-threadloadenv.Tpo -c -o src/libscore_a-
 threadloadenv.o `test -f 'src/threadloadenv.c' || echo
 '../../../../../../c/src/../../cpukit/score/'`src/threadloadenv.c
 ../../../../../../c/src/../../cpukit/score/src/threadloadenv.c: In
 function '_Thread_Load_environment':
 ../../../../../../c/src/../../cpukit/score/src/threadloadenv.c:67:
 warning: cast from pointer to integer of different size

 This warning refers to this line

  (&the_thread->Registers)->ra = (uint64_t)_Thread_Handler;

 from _CPU_Context_Initialize
 (The uint64_t to be seen above is __MIPS_REGISTER_TYPE)

 I read this as hint of this BSP assuming to be using 64bit, while the
 compiler actually uses 32bit. Unfortunately, I am not sufficiently
 familiar with the mips to be able to further comment on this issue.

--

Comment:

 There are no warnings building this code now.

--
Ticket URL: <http://devel.rtems.org/ticket/1473#comment:2>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list