Update TODO list
This commit is contained in:
parent
8aa486515e
commit
2e6fc4e73d
46
TODO
46
TODO
@ -1,4 +1,4 @@
|
|||||||
NuttX TODO List (Last updated March 4, 2018)
|
NuttX TODO List (Last updated June 6, 2018)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
This file summarizes known NuttX bugs, limitations, inconsistencies with
|
This file summarizes known NuttX bugs, limitations, inconsistencies with
|
||||||
@ -18,7 +18,7 @@ nuttx/:
|
|||||||
(0) Message Queues (sched/mqueue)
|
(0) Message Queues (sched/mqueue)
|
||||||
(8) Kernel/Protected Build
|
(8) Kernel/Protected Build
|
||||||
(3) C++ Support
|
(3) C++ Support
|
||||||
(6) Binary loaders (binfmt/)
|
(5) Binary loaders (binfmt/)
|
||||||
(16) Network (net/, drivers/net)
|
(16) Network (net/, drivers/net)
|
||||||
(4) USB (drivers/usbdev, drivers/usbhost)
|
(4) USB (drivers/usbdev, drivers/usbhost)
|
||||||
(2) Other drivers (drivers/)
|
(2) Other drivers (drivers/)
|
||||||
@ -1028,48 +1028,6 @@ o Binary loaders (binfmt/)
|
|||||||
Priority: There are too many references like the above. They will have
|
Priority: There are too many references like the above. They will have
|
||||||
to get fixed as needed for Windows native tool builds.
|
to get fixed as needed for Windows native tool builds.
|
||||||
|
|
||||||
Title: TOOLCHAIN COMPATIBILITY PROBLEM
|
|
||||||
Description: The older 4.3.3 compiler generates GOTOFF relocations to the constant
|
|
||||||
strings, like:
|
|
||||||
|
|
||||||
.L3:
|
|
||||||
.word .LC0(GOTOFF)
|
|
||||||
.word .LC1(GOTOFF)
|
|
||||||
.word .LC2(GOTOFF)
|
|
||||||
.word .LC3(GOTOFF)
|
|
||||||
.word .LC4(GOTOFF)
|
|
||||||
|
|
||||||
Where .LC0, LC1, LC2, LC3, and .LC4 are the labels corresponding to strings in
|
|
||||||
the .rodata.str1.1 section. One consequence of this is that .rodata must reside
|
|
||||||
in D-Space since it will addressed relative to the GOT (see the section entitled
|
|
||||||
"Read-Only Data in RAM" at
|
|
||||||
http://nuttx.org/Documentation/NuttXNxFlat.html#limitations).
|
|
||||||
|
|
||||||
The newer 4.6.3 compiler generated PC relative relocations to the strings:
|
|
||||||
|
|
||||||
.L2:
|
|
||||||
.word .LC0-(.LPIC0+4)
|
|
||||||
.word .LC1-(.LPIC1+4)
|
|
||||||
.word .LC2-(.LPIC2+4)
|
|
||||||
.word .LC3-(.LPIC4+4)
|
|
||||||
.word .LC4-(.LPIC5+4)
|
|
||||||
|
|
||||||
This is good and bad. This is good because it means that .rodata.str1.1 can now
|
|
||||||
reside in FLASH with .text and can be accessed using PC-relative addressing.
|
|
||||||
That can be accomplished by simply moving the .rodata from the .data section to
|
|
||||||
the .text section in the linker script. (The NXFLAT linker script is located at
|
|
||||||
nuttx/binfmt/libnxflat/gnu-nxflat.ld).
|
|
||||||
|
|
||||||
This is bad because a lot of stuff may get broken an a lot of test will need to
|
|
||||||
be done. One question that I have is does this apply to all kinds of .rodata?
|
|
||||||
Or just to .rodata.str1.1?
|
|
||||||
|
|
||||||
Status: Open. Many of the required changes are in place but, unfortunately, not enough
|
|
||||||
go be fully functional. I think all of the I-Space-to-I-Space fixes are in place.
|
|
||||||
However, the generated code also includes PC-relative references to .bss which
|
|
||||||
just cannot be done.
|
|
||||||
Priority: Medium. The workaround for now is to use the older, 4.3.3 OABI compiler.
|
|
||||||
|
|
||||||
o Network (net/, drivers/net)
|
o Network (net/, drivers/net)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user