Update README

This commit is contained in:
Gregory Nutt 2014-10-03 09:56:05 -06:00
parent ec2193f506
commit 7df821b7b9

View File

@ -86,9 +86,12 @@ Issues
64-Bit Issues 64-Bit Issues
------------- -------------
As mentioned above, context switching is based on logic like setjmp and longjmp. As mentioned above, context switching is based on logic like setjmp() and
This context switching is only available for 32-bit targets. On 64-bit machines, longjmp(). This context switching is available for 32-bit and 64-bit
this context switching will fail. targets. You must, however, set the correct target in the configuration
before you build: HOST_X86_64 or HOST_X86 for 62- and 32-bit targets,
respectively. On a 64-bit machine, you can also force the 32-bit build
with CONFIG_SIM_M32=y.
There are other 64-bit issues as well. For example, addresses are retained in There are other 64-bit issues as well. For example, addresses are retained in
32-bit unsigned integer types in a few places. On a 64-bit machine, the 32-bit 32-bit unsigned integer types in a few places. On a 64-bit machine, the 32-bit
@ -96,17 +99,6 @@ address storage may correcupt 64-bit addressing. NOTE: This is really a bug --
addresses should not be retained in uint32_t types but rather in uintptr_t types addresses should not be retained in uint32_t types but rather in uintptr_t types
to avoid issues just like this. to avoid issues just like this.
The workaround on 64-bit machines for now is to build for a 32-bit target on the
64-bit machine. The workaround for this issue has been included in NuttX 6.15 and
beyond. For thoses versions, you must add CONFIG_SIM_M32=y to the .config file in
order to enable building a 32-bit image on a 64-bit platform.
For older versions of NuttX, a patch also exists. The patch the Make.defs file in the
appropriate places so that -m32 is included in the CFLAGS and -m32 and -melf_386
are included in the LDFLAGS. See the patch
0001-Quick-hacks-to-build-sim-nsh-ostest-on-x86_64-as-32-.patch that can be found at
http://tech.groups.yahoo.com/group/nuttx/files.
Compiler differences Compiler differences
-------------------- --------------------
@ -115,12 +107,6 @@ operator new:
Problem: "'operator new' takes size_t ('...') as first parameter" Problem: "'operator new' takes size_t ('...') as first parameter"
Workaround: Add -fpermissive to the compilation flags Workaround: Add -fpermissive to the compilation flags
Continue up_setjmp() issues:
With some newer compilers, I am now getting segmentation faults in
up_setjmp.S (even when built with the -m32 option). I have not looked into
this yet.
Stack Size Issues Stack Size Issues
----------------- -----------------
When you run the NuttX simulation, it uses stacks allocated by NuttX from the When you run the NuttX simulation, it uses stacks allocated by NuttX from the