26 lines
1.3 KiB
Markdown
26 lines
1.3 KiB
Markdown
|
# Failed modificatons
|
||
|
|
||
|
## LTO
|
||
|
Enabling LTO via `-flto` flag, leads to the error `MAX_NR_ZONES undefined` on kernel compilation. Disabling LTO for kernel leads to a linker error at some point (maybe some things are dynamically linked?).
|
||
|
|
||
|
## Changing march
|
||
|
Changing march flag leads to compiler error with missing headers (tried only with `-march=24kec`)
|
||
|
|
||
|
## Optimizing unlikely/likely branches
|
||
|
Setting `CONFIG_JUMP_LABEL=y` in kernel config causes kernel compilation to fail with:
|
||
|
```c
|
||
|
arch/mips/kernel/jump_label.c: In function 'arch_jump_label_transform':
|
||
|
arch/mips/kernel/jump_label.c:46:37: error: implicit declaration of function 'msk_isa16_mode' [-Werror=implicit-function-declaration]
|
||
|
insn_p = (union mips_instruction *)msk_isa16_mode(e->code);
|
||
|
^~~~~~~~~~~~~~
|
||
|
arch/mips/kernel/jump_label.c:55:38: error: 'mm_j32_op' undeclared (first use in this function); did you mean 'dsra32_op'?
|
||
|
insn.j_format.opcode = J_ISA_BIT ? mm_j32_op : j_op;
|
||
|
^~~~~~~~~
|
||
|
dsra32_op
|
||
|
```
|
||
|
|
||
|
## Updating userspace apps and kernel
|
||
|
Padavan uses old Linux kernel (3.4.3), as well as outdated versions of some apps, it would be the best to update them.
|
||
|
|
||
|
Unfortunately it seems kernel and apps contain certain modifications, which I don't have knowledge to determine and port.
|