vxkernel - v0.6.0-29 : fix fxcg50 support

*fix*
> [board/fxcg50]
  | [fxcg50.ld] add ".dynamic" section support
> [kernel/src/module/kalloc]
  | [area_vhex] force first alloc block to NULL
> [vxsdk.toml]
  | [fxcg50] force little endian
  | [fxcg50] force SH4A with no-FPU instruction generation
  | [fxcg50] add missing lib dependencies (libgcc and libc)
  | [fxcg50] proper export linker flags for GCC
  | [sdl2] proper export linker script
This commit is contained in:
Yann MAGNIN 2023-01-15 18:16:48 +01:00
parent c7baead8b3
commit d656a04385
4 changed files with 14 additions and 9 deletions

View File

@ -95,6 +95,8 @@ SECTIONS
.got.plt : { *(.got.plt) *(.igot.plt) *(.igot) }
.got : { *(.got) }
.dynamic : { *(.dynamic) }
/* readable / writable data */
.data ALIGN(4) : {

View File

@ -14,6 +14,3 @@ modules = [
drivers = [
'mpu:common:sdl2'
]
install_files = [
'sdl2.ld'
]

View File

@ -240,7 +240,7 @@ static void *vhex_malloc(size_t size, void *data)
int c = size_class(size);
/* Try to find a class that has a free block available */
block_t *alloc;
block_t *alloc = NULL;
for(; c <= 15; c++)
{
block_t *list = index->classes[c];

View File

@ -27,6 +27,8 @@ assets_prefix = [
'-nostdlib',
'-fPIE',
'-O1',
'-mb',
'-m4-nofpu',
'-fstrict-volatile-bitfields',
'-Wa,--dsp'
]
@ -35,10 +37,14 @@ assets_prefix = [
'-Wl,--whole-archive',
'-lvxkernel',
'-Wl,--no-whole-archive',
'@sh-elf-vhex@'
'@sh-elf-vhex@',
'-lc',
'-lgcc'
]
VXSDK_PUBLIC_LINKER_SCRIPT = [
'fxcg50.ld'
VXSDK_PUBLIC_BUILD_LDFLAGS = [
'-T {VXSDK_CURRENT_SOURCE_DIR}/boards/fxcg50/fxcg50.ld',
'-static-pie',
'-Wl,-q'
]
[sdl2]
@ -56,6 +62,6 @@ assets_prefix = [
'-lSDL2',
'-lm'
]
VXSDK_PUBLIC_LINKER_SCRIPT = [
'sdl2.ld'
VXSDK_PUBLIC_BUILD_LDFLAGS = [
'-T {VXSDK_CURRENT_SOURCE_DIR}/boards/sdl2/sdl2.ld',
]