Re: common RODATA in vmlinux.lds.h (2.5.59)

Kai Germaschewski (kai@tp1.ruhr-uni-bochum.de)
Tue, 21 Jan 2003 20:49:17 -0600 (CST)


On Wed, 22 Jan 2003, Greg Ungerer wrote:

> 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/