diff options
| author | Nathan Rossi <nathan.rossi@xilinx.com> | 2013-09-26 15:17:51 +1000 |
|---|---|---|
| committer | Nathan Rossi <nathan.rossi@xilinx.com> | 2013-09-26 15:17:51 +1000 |
| commit | 6efe82fb07d98f190e9b078132526eeadd8cf9fc (patch) | |
| tree | 1bbe1c15bf5de6ef3280351375da22ae8ab682f0 /README | |
| parent | 684b68e0277d5d8a2498c4281a5df22354585b41 (diff) | |
| download | meta-xilinx-6efe82fb07d98f190e9b078132526eeadd8cf9fc.tar.gz | |
README: Added details of Known Issues with MicroBlaze
* MicroBlaze has two known toolchain issues, document these issues in
the README
Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
Diffstat (limited to 'README')
| -rw-r--r-- | README | 35 |
1 files changed, 35 insertions, 0 deletions
| @@ -82,6 +82,41 @@ Booting | |||
| 82 | Please see the associated README file for each avaliable boot method in the | 82 | Please see the associated README file for each avaliable boot method in the |
| 83 | 'docs/BOOT.*' files of this layer. | 83 | 'docs/BOOT.*' files of this layer. |
| 84 | 84 | ||
| 85 | Known Issues | ||
| 86 | ============ | ||
| 87 | |||
| 88 | MicroBlaze Yocto Built Toolchain fails to compile shadow | ||
| 89 | -------------------------------------------------------- | ||
| 90 | There is an issue with the GCC 4.8 toolchain built by Yocto which fails to | ||
| 91 | correctly built the 'shadow' package due to an assembler error. | ||
| 92 | |||
| 93 | {standard input}: Assembler messages: | ||
| 94 | {standard input}:754: Error: operation combines symbols in different segments | ||
| 95 | |||
| 96 | The current workaround for this issue is to build the entire repository | ||
| 97 | without debug symbols, or to disable debug symbols only for shadow. | ||
| 98 | |||
| 99 | e.g. Add the following to local.conf: | ||
| 100 | DEBUG_FLAGS_pn-shadow = "" | ||
| 101 | |||
| 102 | MicroBlaze Linux Kernel 3.8+ and GCC 4.8+ fails to boot | ||
| 103 | ------------------------------------------------------- | ||
| 104 | There is a regression in GCC 4.8 that causes a race condition in the kernel. It | ||
| 105 | occurs due to changes in the optimization and improper handling of certain | ||
| 106 | branch optimization where delay slots are used. | ||
| 107 | |||
| 108 | The error during kernel boot looks similar to: | ||
| 109 | ------------[ cut here ]------------ | ||
| 110 | WARNING: at mm/mmap.c:2657 exit_mmap+0x158/0x178() | ||
| 111 | |||
| 112 | There are two work arounds for this issue, the first which is recommended is to | ||
| 113 | use the MicroBlaze external toolchain that is provided by Xilinx SDK or | ||
| 114 | PetaLinux. | ||
| 115 | |||
| 116 | The the second workaround applies to the linux-xlnx only, disable the kernel | ||
| 117 | configuration "CONFIG_OPTIMIZE_FOR_SIZE". This prevents the compiler from trying | ||
| 118 | to optimize the delay slots incorrectly. | ||
| 119 | |||
| 85 | Configuring External Toolchain | 120 | Configuring External Toolchain |
| 86 | ============================== | 121 | ============================== |
| 87 | 122 | ||
