[GIT PULL] m32r: Cleanup linker script

From: Hirokazu Takata
Date: Tue Sep 22 2009 - 14:20:47 EST


Hi Linus,

This patchset cleans up the linker script for m32r.

From: Tim Abbott <tabbott@xxxxxxxxxxx>

This cross-architecture linker script cleanup project is in
preparation for adding support for building the kernel with
-ffunction-sections -fdata-sections, which is a prerequisite for
Ksplice.

Please pull the following updates.

---
The following changes since commit 43c1266ce4dc06bfd236cec31e11e9ecd69c0bef:
Linus Torvalds (1):
Merge branch 'perfcounters-rename-for-linus' of git://git.kernel.org/.../tip/linux-2.6-tip

are available in the git repository at:

git://www.linux-m32r.org/git/takata/linux-2.6_dev.git for-linus

Tim Abbott (6):
m32r: make PAGE_SIZE available to assembly.
m32r: Define THREAD_SIZE only once.
m32r: Move GET_THREAD_INFO definition out of asm/thread_info.h.
m32r: Remove unused .altinstructions and .exit.* code from linker script.
m32r: Move the spi_stack_top and spu_stack_top into .init.data section.
m32r: Cleanup linker script using new linker script macros.

arch/m32r/include/asm/page.h | 4 +-
arch/m32r/include/asm/processor.h | 2 -
arch/m32r/include/asm/thread_info.h | 15 +------
arch/m32r/kernel/entry.S | 7 +++
arch/m32r/kernel/head.S | 4 +-
arch/m32r/kernel/vmlinux.lds.S | 78 ++++-------------------------------
6 files changed, 23 insertions(+), 87 deletions(-)

---
commit 85233c43f7fece10a3ea8ed34f0d546b8dd3a435
Author: Tim Abbott <tabbott@xxxxxxxxxxx>
Date: Fri Sep 18 16:32:49 2009 -0400

m32r: Cleanup linker script using new linker script macros.

This patch is largely a straightforward conversion. One thing to note
is that the new macros use fewer separate output sections than the old
code; this should have no functional impact but is relevant for people
objdumping vmlinux files.

Also note that it moves the .data.init_task output sections inside
_edata.

Signed-off-by: Tim Abbott <tabbott@xxxxxxxxxxx>
Signed-off-by: Hirokazu Takata <takata@xxxxxxxxxxxxxx>

commit 743486dff1d03eb4a67bd75402699629f70cd5b4
Author: Tim Abbott <tabbott@xxxxxxxxxxx>
Date: Fri Sep 18 16:32:48 2009 -0400

m32r: Move the spi_stack_top and spu_stack_top into .init.data section.

Since these get squashed into the .data output section by the m32r
linker script, it seems likely that they don't need their own input
sections.

At Hirokazu Takata's suggestion, we place these structures in
.init.data rather than just placing them in .data (since they are only
used at init time).

This patch is preparation for cleaning up the m32r architecture to use
the new macros in vmlinux.lds.h; if these sections are indeed not
needed, then we can use the RW_DATA_SECTION macro for m32r and save a
bunch of redundant code.

Signed-off-by: Tim Abbott <tabbott@xxxxxxxxxxx>
Signed-off-by: Hirokazu Takata <takata@xxxxxxxxxxxxxx>

commit 2a67d26284c31e676bcf3891ad8cee75e87fbada
Author: Tim Abbott <tabbott@xxxxxxxxxxx>
Date: Fri Sep 18 16:32:47 2009 -0400

m32r: Remove unused .altinstructions and .exit.* code from linker script.

It appears that m32r copied the .altinstructions definition from x86
when the architecture was first merged into Linux. m32r doesn't put
anything in .altinstructions, so this is just dead code.

The following block affecting .exit.text/.exit.data, which has a
comment also copied from x86, should also be deleted; the linker
script later discards the .exit.text and .exit.data sections.

Signed-off-by: Tim Abbott <tabbott@xxxxxxxxxxx>
Signed-off-by: Hirokazu Takata <takata@xxxxxxxxxxxxxx>

commit 00b01b246bc2e28763cbd85f0dc949d6c0d38c13
Author: Tim Abbott <tabbott@xxxxxxxxxxx>
Date: Fri Sep 18 16:32:46 2009 -0400

m32r: Move GET_THREAD_INFO definition out of asm/thread_info.h.

Previously, asm/thread_info.h was not usable from linker scripts
because it contains a piece of .macro code. Since that code was only
used in the m32r entry.S, the right fix is probably to move the macro
there.

Signed-off-by: Tim Abbott <tabbott@xxxxxxxxxxx>
Signed-off-by: Hirokazu Takata <takata@xxxxxxxxxxxxxx>

commit a7efb879ab5b07726873ace8305373bdf68be8a8
Author: Tim Abbott <tabbott@xxxxxxxxxxx>
Date: Fri Sep 18 16:32:45 2009 -0400

m32r: Define THREAD_SIZE only once.

Previously, m32r's asm/thread_info.h defined THREAD_SIZE differently
for assembly and C code; now that PAGE_SIZE is usable from assembly,
these can be combined. Also, m32r's asm/processor.h redefines
THREAD_SIZE to the same value; remove this redundant definition.

Signed-off-by: Tim Abbott <tabbott@xxxxxxxxxxx>
Signed-off-by: Hirokazu Takata <takata@xxxxxxxxxxxxxx>

commit 8b1c9befbfbd443bd95e77db01c70f1741aa2511
Author: Tim Abbott <tabbott@xxxxxxxxxxx>
Date: Fri Sep 18 16:32:44 2009 -0400

m32r: make PAGE_SIZE available to assembly.

page.h includes ifndef __ASSEMBLY__ guards, but PAGE_SIZE is defined
using "1UL", which the assembler does not support. Use the _AC macro
from const.h to make it available to assembly (and linker scripts).

Signed-off-by: Tim Abbott <tabbott@xxxxxxxxxxx>
Signed-off-by: Hirokazu Takata <takata@xxxxxxxxxxxxxx>

--
Hirokazu Takata <takata@xxxxxxxxxxxxxx>
Linux/M32R Project: http://www.linux-m32r.org/
--
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/