Re: [PATCH] m68knommu: Clean up linker script using new linker scriptmacros.

From: Greg Ungerer
Date: Mon Sep 07 2009 - 03:07:30 EST


Hi Tim,

Tim Abbott wrote:
On Mon, 7 Sep 2009, Greg Ungerer wrote:

This fails for me with:

LD vmlinux
/usr/local/bin/m68k-uclinux-ld:arch/m68knommu/kernel/vmlinux.lds:287: syntax
error

due to PAGE_SIZE evaluating to:

. = ALIGN((1UL << (12)));

The linker doesn't like the 'UL' suffix.

Yeah, sorry, I didn't have a cross-compiler for this one to test. The fix is to use _AC(1,UL), like most of the other architectures (including m68k with an mmu) do.

Yep, that fixes that. I'll push this patch into the for-linus
branch of the m68knommu git tree.

Now, back to the original patch. Now fails with another syntax error
at the last line in this:

.init : {
. = ALIGN((1 << (12)));
__init_begin = .;
. = ALIGN((1 << (12))); .init.text : AT(ADDR(.init.text) - 0) { _sinittext = .; *(.init.text) *(.devinit.text) *(.cpuinit.text) *(.meminit.text) _einittext = .; }

Regards
Greg



-Tim Abbott

m68knommu: Make PAGE_SIZE available to assembly files.

Signed-off-by: Tim Abbott <tabbott@xxxxxxxxxxx>
---
arch/m68k/include/asm/page_no.h | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/arch/m68k/include/asm/page_no.h b/arch/m68k/include/asm/page_no.h
index 9aa3f90..1f31b06 100644
--- a/arch/m68k/include/asm/page_no.h
+++ b/arch/m68k/include/asm/page_no.h
@@ -1,10 +1,12 @@
#ifndef _M68KNOMMU_PAGE_H
#define _M68KNOMMU_PAGE_H
+#include <linux/const.h>
+
/* PAGE_SHIFT determines the page size */
#define PAGE_SHIFT (12)
-#define PAGE_SIZE (1UL << PAGE_SHIFT)
+#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
#define PAGE_MASK (~(PAGE_SIZE-1))
#include <asm/setup.h>

--
------------------------------------------------------------------------
Greg Ungerer -- Principal Engineer EMAIL: gerg@xxxxxxxxxxxx
SnapGear Group, McAfee PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/