> The new common definition of RODATA for linker scripts
> (in include/asm-generic/vmlinux.lds.h) is causing me some
> amount of pain, at least on the m68knommu architecture.
>
> The problem is that on the m68knommu arch linker script
> it fundamentaly groups everything into 2 memory regions,
> one for flash and one for ram. Each section is then
> directed to the appropriate memory region, eg:
>
> .text : {
> *(.text)
> } > flash
>
> With the way the RODATA define is setup I cannot do this.
> It contains definitions for a number of complete sections.
>
> Anyone got any ideas on the best way to fix this?
First of all, asm-generic/vmlinux.lds.h is there to share common code
where possible, so if it's not possible, you still have the option of
having your own special code in arch/$(ARCH)/vmlinux.lds.S
Having said that, you could add
#define TEXT_MEM > flash
at the beginning of arch/m68knommu/vmlinux.lds.S
and
#ifndef TEXT_MEM
#define TEXT_MEM
#endif
at the beginning of include/asm-generic/vmlinux.lds.h and then change
.text : {
*(.text)
- }
+ } TEXT_MEM
Would that work for you?
--Kai
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/