* [PATCH] MIPS: Cleanup and Fixup of compressed kernel support
@ 2009-12-10 14:55 Wu Zhangjin
2009-12-16 1:34 ` Wu Zhangjin
2009-12-19 22:26 ` Ralf Baechle
0 siblings, 2 replies; 3+ messages in thread
From: Wu Zhangjin @ 2009-12-10 14:55 UTC (permalink / raw)
To: Ralf Baechle; +Cc: linux-mips, Wu Zhangjin
From: Wu Zhangjin <wuzhangjin@gmail.com>
Changes:
o Remove the .initrd section
the initrd section is put in vmlinux, not need to handle it here.
o Move .MIPS.options, .options, .pdr, .reginfo, .comment, .note from
Makefile to the /DSICARD/ of ld.script
If not move the .MIPS.options, the kernel compiled with gcc
3.4.6 will not boot.
o Clean up the file format.
o Remove several other un-needed sections.
Have tested this patch with gcc 3.4.6 and gcc 4.4.1, and also with,
without the initrd file system. All of them works well.
Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
---
arch/mips/boot/compressed/Makefile | 9 +-
arch/mips/boot/compressed/decompress.c | 10 --
arch/mips/boot/compressed/ld.script | 195 +++++++++-----------------------
3 files changed, 59 insertions(+), 155 deletions(-)
diff --git a/arch/mips/boot/compressed/Makefile b/arch/mips/boot/compressed/Makefile
index e27f40b..671d344 100644
--- a/arch/mips/boot/compressed/Makefile
+++ b/arch/mips/boot/compressed/Makefile
@@ -56,7 +56,7 @@ $(obj)/piggy.o: $(obj)/vmlinux.$(suffix_y) $(obj)/dummy.o
LDFLAGS_vmlinuz := $(LDFLAGS) -Ttext $(VMLINUZ_LOAD_ADDRESS) -T
vmlinuz: $(src)/ld.script $(obj-y) $(obj)/piggy.o
$(call if_changed,ld)
- $(Q)$(OBJCOPY) $(OBJCOPYFLAGS) -R .comment -R .stab -R .stabstr -R .initrd -R .sysmap $@
+ $(Q)$(OBJCOPY) $(OBJCOPYFLAGS) $@
#
# Some DECstations need all possible sections of an ECOFF executable
@@ -84,14 +84,11 @@ vmlinuz.ecoff: $(obj)/../elf2ecoff $(VMLINUZ)
$(obj)/../elf2ecoff: $(src)/../elf2ecoff.c
$(Q)$(HOSTCC) -o $@ $^
-drop-sections = .reginfo .mdebug .comment .note .pdr .options .MIPS.options
-strip-flags = $(addprefix --remove-section=,$(drop-sections))
-
-OBJCOPYFLAGS_vmlinuz.bin := $(OBJCOPYFLAGS) -O binary $(strip-flags)
+OBJCOPYFLAGS_vmlinuz.bin := $(OBJCOPYFLAGS) -O binary
vmlinuz.bin: vmlinuz
$(call if_changed,objcopy)
-OBJCOPYFLAGS_vmlinuz.srec := $(OBJCOPYFLAGS) -S -O srec $(strip-flags)
+OBJCOPYFLAGS_vmlinuz.srec := $(OBJCOPYFLAGS) -S -O srec
vmlinuz.srec: vmlinuz
$(call if_changed,objcopy)
diff --git a/arch/mips/boot/compressed/decompress.c b/arch/mips/boot/compressed/decompress.c
index 67330c2..e48fd72 100644
--- a/arch/mips/boot/compressed/decompress.c
+++ b/arch/mips/boot/compressed/decompress.c
@@ -28,8 +28,6 @@ char *zimage_start;
/* The linker tells us where the image is. */
extern unsigned char __image_begin, __image_end;
-extern unsigned char __ramdisk_begin, __ramdisk_end;
-unsigned long initrd_size;
/* debug interfaces */
extern void puts(const char *s);
@@ -102,14 +100,6 @@ void decompress_kernel(unsigned long boot_heap_start)
puthex((unsigned long)(zimage_size + zimage_start));
puts("\n");
- if (initrd_size) {
- puts("initrd at: ");
- puthex((unsigned long)(&__ramdisk_begin));
- puts(" ");
- puthex((unsigned long)(&__ramdisk_end));
- puts("\n");
- }
-
/* this area are prepared for mallocing when decompressing */
free_mem_ptr = boot_heap_start;
free_mem_end_ptr = boot_heap_start + BOOT_HEAP_SIZE;
diff --git a/arch/mips/boot/compressed/ld.script b/arch/mips/boot/compressed/ld.script
index 29e9f4c..0b3fc82 100644
--- a/arch/mips/boot/compressed/ld.script
+++ b/arch/mips/boot/compressed/ld.script
@@ -1,150 +1,67 @@
+/*
+ * ld.script for compressed kernel support of MIPS
+ *
+ * Copyright (C) 2009 Lemote Inc.
+ * Author: Wu Zhangjin <wuzj@lemote.com>
+ */
+
OUTPUT_ARCH(mips)
ENTRY(start)
SECTIONS
{
- /* Read-only sections, merged into text segment: */
- .init : { *(.init) } =0
- .text :
- {
- _ftext = . ;
- *(.text)
- *(.rodata)
- *(.rodata1)
- /* .gnu.warning sections are handled specially by elf32.em. */
- *(.gnu.warning)
- } =0
- .kstrtab : { *(.kstrtab) }
-
- . = ALIGN(16); /* Exception table */
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
-
- __start___dbe_table = .; /* Exception table for data bus errors */
- __dbe_table : { *(__dbe_table) }
- __stop___dbe_table = .;
-
- __start___ksymtab = .; /* Kernel symbol table */
- __ksymtab : { *(__ksymtab) }
- __stop___ksymtab = .;
-
- _etext = .;
-
- . = ALIGN(8192);
- .data.init_task : { *(.data.init_task) }
-
- /* Startup code */
- . = ALIGN(4096);
- __init_begin = .;
- .text.init : { *(.text.init) }
- .data.init : { *(.data.init) }
- . = ALIGN(16);
- __setup_start = .;
- .setup.init : { *(.setup.init) }
- __setup_end = .;
- __initcall_start = .;
- .initcall.init : { *(.initcall.init) }
- __initcall_end = .;
- . = ALIGN(4096); /* Align double page for init_task_union */
- __init_end = .;
-
- . = ALIGN(4096);
- .data.page_aligned : { *(.data.idt) }
-
- . = ALIGN(32);
- .data.cacheline_aligned : { *(.data.cacheline_aligned) }
+ /* . = VMLINUZ_LOAD_ADDRESS */
+ /* read-only */
+ _text = .; /* Text and read-only data */
+ .text : {
+ _ftext = . ;
+ *(.text)
+ *(.rodata)
+ } = 0
+ _etext = .; /* End of text section */
- .fini : { *(.fini) } =0
- .reginfo : { *(.reginfo) }
- /* Adjust the address for the data segment. We want to adjust up to
- the same address within the page on the next page up. It would
- be more correct to do this:
- . = .;
- The current expression does not correctly handle the case of a
- text segment ending precisely at the end of a page; it causes the
- data segment to skip a page. The above expression does not have
- this problem, but it will currently (2/95) cause BFD to allocate
- a single segment, combining both text and data, for this case.
- This will prevent the text segment from being shared among
- multiple executions of the program; I think that is more
- important than losing a page of the virtual address space (note
- that no actual memory is lost; the page which is skipped can not
- be referenced). */
- . = .;
- .data :
- {
- _fdata = . ;
- *(.data)
+ /* writable */
+ .data : { /* Data */
+ _fdata = . ;
+ *(.data)
+ /* Put the compressed image here, so bss is on the end. */
+ __image_begin = .;
+ *(.image)
+ __image_end = .;
+ CONSTRUCTORS
+ }
+ .sdata : { *(.sdata) }
+ . = ALIGN(4);
+ _edata = .; /* End of data section */
- /* Put the compressed image here, so bss is on the end. */
- __image_begin = .;
- *(.image)
- __image_end = .;
- /* Align the initial ramdisk image (INITRD) on page boundaries. */
- . = ALIGN(4096);
- __ramdisk_begin = .;
- *(.initrd)
- __ramdisk_end = .;
- . = ALIGN(4096);
+ /* BSS */
+ __bss_start = .;
+ _fbss = .;
+ .sbss : { *(.sbss) *(.scommon) }
+ .bss : {
+ *(.dynbss)
+ *(.bss)
+ *(COMMON)
+ }
+ . = ALIGN(4);
+ _end = . ;
- CONSTRUCTORS
- }
- .data1 : { *(.data1) }
- _gp = . + 0x8000;
- .lit8 : { *(.lit8) }
- .lit4 : { *(.lit4) }
- .ctors : { *(.ctors) }
- .dtors : { *(.dtors) }
- .got : { *(.got.plt) *(.got) }
- .dynamic : { *(.dynamic) }
- /* We want the small data sections together, so single-instruction offsets
- can access them all, and initialized data all before uninitialized, so
- we can shorten the on-disk segment size. */
- .sdata : { *(.sdata) }
- . = ALIGN(4);
- _edata = .;
- PROVIDE (edata = .);
+ /* These are needed for ELF backends which have not yet been converted
+ * to the new style linker. */
- __bss_start = .;
- _fbss = .;
- .sbss : { *(.sbss) *(.scommon) }
- .bss :
- {
- *(.dynbss)
- *(.bss)
- *(COMMON)
- . = ALIGN(4);
- _end = . ;
- PROVIDE (end = .);
- }
+ .stab 0 : { *(.stab) }
+ .stabstr 0 : { *(.stabstr) }
- /* Sections to be discarded */
- /DISCARD/ :
- {
- *(.text.exit)
- *(.data.exit)
- *(.exitcall.exit)
- }
+ /* These must appear regardless of . */
+ .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
+ .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
- /* This is the MIPS specific mdebug section. */
- .mdebug : { *(.mdebug) }
- /* These are needed for ELF backends which have not yet been
- converted to the new style linker. */
- .stab 0 : { *(.stab) }
- .stabstr 0 : { *(.stabstr) }
- /* DWARF debug sections.
- Symbols in the .debug DWARF section are relative to the beginning of the
- section so we begin .debug at 0. It's not clear yet what needs to happen
- for the others. */
- .debug 0 : { *(.debug) }
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
- .line 0 : { *(.line) }
- /* These must appear regardless of . */
- .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
- .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
- .comment : { *(.comment) }
- .note : { *(.note) }
+ /* Sections to be discarded */
+ /DISCARD/ : {
+ *(.MIPS.options)
+ *(.options)
+ *(.pdr)
+ *(.reginfo)
+ *(.comment)
+ *(.note)
+ }
}
--
1.6.2.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] MIPS: Cleanup and Fixup of compressed kernel support
2009-12-10 14:55 [PATCH] MIPS: Cleanup and Fixup of compressed kernel support Wu Zhangjin
@ 2009-12-16 1:34 ` Wu Zhangjin
2009-12-19 22:26 ` Ralf Baechle
1 sibling, 0 replies; 3+ messages in thread
From: Wu Zhangjin @ 2009-12-16 1:34 UTC (permalink / raw)
To: Ralf Baechle; +Cc: linux-mips
Hi, Ralf
Is it possible to upstream this patch for 2.6.33? this is urgent,
thanks!
Best Regards,
Wu Zhangjin
On Thu, 2009-12-10 at 22:55 +0800, Wu Zhangjin wrote:
> From: Wu Zhangjin <wuzhangjin@gmail.com>
>
> Changes:
>
> o Remove the .initrd section
> the initrd section is put in vmlinux, not need to handle it here.
>
> o Move .MIPS.options, .options, .pdr, .reginfo, .comment, .note from
> Makefile to the /DSICARD/ of ld.script
> If not move the .MIPS.options, the kernel compiled with gcc
> 3.4.6 will not boot.
>
> o Clean up the file format.
> o Remove several other un-needed sections.
>
> Have tested this patch with gcc 3.4.6 and gcc 4.4.1, and also with,
> without the initrd file system. All of them works well.
>
> Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
> ---
> arch/mips/boot/compressed/Makefile | 9 +-
> arch/mips/boot/compressed/decompress.c | 10 --
> arch/mips/boot/compressed/ld.script | 195 +++++++++-----------------------
> 3 files changed, 59 insertions(+), 155 deletions(-)
>
> diff --git a/arch/mips/boot/compressed/Makefile b/arch/mips/boot/compressed/Makefile
> index e27f40b..671d344 100644
> --- a/arch/mips/boot/compressed/Makefile
> +++ b/arch/mips/boot/compressed/Makefile
> @@ -56,7 +56,7 @@ $(obj)/piggy.o: $(obj)/vmlinux.$(suffix_y) $(obj)/dummy.o
> LDFLAGS_vmlinuz := $(LDFLAGS) -Ttext $(VMLINUZ_LOAD_ADDRESS) -T
> vmlinuz: $(src)/ld.script $(obj-y) $(obj)/piggy.o
> $(call if_changed,ld)
> - $(Q)$(OBJCOPY) $(OBJCOPYFLAGS) -R .comment -R .stab -R .stabstr -R .initrd -R .sysmap $@
> + $(Q)$(OBJCOPY) $(OBJCOPYFLAGS) $@
>
> #
> # Some DECstations need all possible sections of an ECOFF executable
> @@ -84,14 +84,11 @@ vmlinuz.ecoff: $(obj)/../elf2ecoff $(VMLINUZ)
> $(obj)/../elf2ecoff: $(src)/../elf2ecoff.c
> $(Q)$(HOSTCC) -o $@ $^
>
> -drop-sections = .reginfo .mdebug .comment .note .pdr .options .MIPS.options
> -strip-flags = $(addprefix --remove-section=,$(drop-sections))
> -
> -OBJCOPYFLAGS_vmlinuz.bin := $(OBJCOPYFLAGS) -O binary $(strip-flags)
> +OBJCOPYFLAGS_vmlinuz.bin := $(OBJCOPYFLAGS) -O binary
> vmlinuz.bin: vmlinuz
> $(call if_changed,objcopy)
>
> -OBJCOPYFLAGS_vmlinuz.srec := $(OBJCOPYFLAGS) -S -O srec $(strip-flags)
> +OBJCOPYFLAGS_vmlinuz.srec := $(OBJCOPYFLAGS) -S -O srec
> vmlinuz.srec: vmlinuz
> $(call if_changed,objcopy)
>
> diff --git a/arch/mips/boot/compressed/decompress.c b/arch/mips/boot/compressed/decompress.c
> index 67330c2..e48fd72 100644
> --- a/arch/mips/boot/compressed/decompress.c
> +++ b/arch/mips/boot/compressed/decompress.c
> @@ -28,8 +28,6 @@ char *zimage_start;
>
> /* The linker tells us where the image is. */
> extern unsigned char __image_begin, __image_end;
> -extern unsigned char __ramdisk_begin, __ramdisk_end;
> -unsigned long initrd_size;
>
> /* debug interfaces */
> extern void puts(const char *s);
> @@ -102,14 +100,6 @@ void decompress_kernel(unsigned long boot_heap_start)
> puthex((unsigned long)(zimage_size + zimage_start));
> puts("\n");
>
> - if (initrd_size) {
> - puts("initrd at: ");
> - puthex((unsigned long)(&__ramdisk_begin));
> - puts(" ");
> - puthex((unsigned long)(&__ramdisk_end));
> - puts("\n");
> - }
> -
> /* this area are prepared for mallocing when decompressing */
> free_mem_ptr = boot_heap_start;
> free_mem_end_ptr = boot_heap_start + BOOT_HEAP_SIZE;
> diff --git a/arch/mips/boot/compressed/ld.script b/arch/mips/boot/compressed/ld.script
> index 29e9f4c..0b3fc82 100644
> --- a/arch/mips/boot/compressed/ld.script
> +++ b/arch/mips/boot/compressed/ld.script
> @@ -1,150 +1,67 @@
> +/*
> + * ld.script for compressed kernel support of MIPS
> + *
> + * Copyright (C) 2009 Lemote Inc.
> + * Author: Wu Zhangjin <wuzj@lemote.com>
> + */
> +
> OUTPUT_ARCH(mips)
> ENTRY(start)
> SECTIONS
> {
> - /* Read-only sections, merged into text segment: */
> - .init : { *(.init) } =0
> - .text :
> - {
> - _ftext = . ;
> - *(.text)
> - *(.rodata)
> - *(.rodata1)
> - /* .gnu.warning sections are handled specially by elf32.em. */
> - *(.gnu.warning)
> - } =0
> - .kstrtab : { *(.kstrtab) }
> -
> - . = ALIGN(16); /* Exception table */
> - __start___ex_table = .;
> - __ex_table : { *(__ex_table) }
> - __stop___ex_table = .;
> -
> - __start___dbe_table = .; /* Exception table for data bus errors */
> - __dbe_table : { *(__dbe_table) }
> - __stop___dbe_table = .;
> -
> - __start___ksymtab = .; /* Kernel symbol table */
> - __ksymtab : { *(__ksymtab) }
> - __stop___ksymtab = .;
> -
> - _etext = .;
> -
> - . = ALIGN(8192);
> - .data.init_task : { *(.data.init_task) }
> -
> - /* Startup code */
> - . = ALIGN(4096);
> - __init_begin = .;
> - .text.init : { *(.text.init) }
> - .data.init : { *(.data.init) }
> - . = ALIGN(16);
> - __setup_start = .;
> - .setup.init : { *(.setup.init) }
> - __setup_end = .;
> - __initcall_start = .;
> - .initcall.init : { *(.initcall.init) }
> - __initcall_end = .;
> - . = ALIGN(4096); /* Align double page for init_task_union */
> - __init_end = .;
> -
> - . = ALIGN(4096);
> - .data.page_aligned : { *(.data.idt) }
> -
> - . = ALIGN(32);
> - .data.cacheline_aligned : { *(.data.cacheline_aligned) }
> + /* . = VMLINUZ_LOAD_ADDRESS */
> + /* read-only */
> + _text = .; /* Text and read-only data */
> + .text : {
> + _ftext = . ;
> + *(.text)
> + *(.rodata)
> + } = 0
> + _etext = .; /* End of text section */
>
> - .fini : { *(.fini) } =0
> - .reginfo : { *(.reginfo) }
> - /* Adjust the address for the data segment. We want to adjust up to
> - the same address within the page on the next page up. It would
> - be more correct to do this:
> - . = .;
> - The current expression does not correctly handle the case of a
> - text segment ending precisely at the end of a page; it causes the
> - data segment to skip a page. The above expression does not have
> - this problem, but it will currently (2/95) cause BFD to allocate
> - a single segment, combining both text and data, for this case.
> - This will prevent the text segment from being shared among
> - multiple executions of the program; I think that is more
> - important than losing a page of the virtual address space (note
> - that no actual memory is lost; the page which is skipped can not
> - be referenced). */
> - . = .;
> - .data :
> - {
> - _fdata = . ;
> - *(.data)
> + /* writable */
> + .data : { /* Data */
> + _fdata = . ;
> + *(.data)
> + /* Put the compressed image here, so bss is on the end. */
> + __image_begin = .;
> + *(.image)
> + __image_end = .;
> + CONSTRUCTORS
> + }
> + .sdata : { *(.sdata) }
> + . = ALIGN(4);
> + _edata = .; /* End of data section */
>
> - /* Put the compressed image here, so bss is on the end. */
> - __image_begin = .;
> - *(.image)
> - __image_end = .;
> - /* Align the initial ramdisk image (INITRD) on page boundaries. */
> - . = ALIGN(4096);
> - __ramdisk_begin = .;
> - *(.initrd)
> - __ramdisk_end = .;
> - . = ALIGN(4096);
> + /* BSS */
> + __bss_start = .;
> + _fbss = .;
> + .sbss : { *(.sbss) *(.scommon) }
> + .bss : {
> + *(.dynbss)
> + *(.bss)
> + *(COMMON)
> + }
> + . = ALIGN(4);
> + _end = . ;
>
> - CONSTRUCTORS
> - }
> - .data1 : { *(.data1) }
> - _gp = . + 0x8000;
> - .lit8 : { *(.lit8) }
> - .lit4 : { *(.lit4) }
> - .ctors : { *(.ctors) }
> - .dtors : { *(.dtors) }
> - .got : { *(.got.plt) *(.got) }
> - .dynamic : { *(.dynamic) }
> - /* We want the small data sections together, so single-instruction offsets
> - can access them all, and initialized data all before uninitialized, so
> - we can shorten the on-disk segment size. */
> - .sdata : { *(.sdata) }
> - . = ALIGN(4);
> - _edata = .;
> - PROVIDE (edata = .);
> + /* These are needed for ELF backends which have not yet been converted
> + * to the new style linker. */
>
> - __bss_start = .;
> - _fbss = .;
> - .sbss : { *(.sbss) *(.scommon) }
> - .bss :
> - {
> - *(.dynbss)
> - *(.bss)
> - *(COMMON)
> - . = ALIGN(4);
> - _end = . ;
> - PROVIDE (end = .);
> - }
> + .stab 0 : { *(.stab) }
> + .stabstr 0 : { *(.stabstr) }
>
> - /* Sections to be discarded */
> - /DISCARD/ :
> - {
> - *(.text.exit)
> - *(.data.exit)
> - *(.exitcall.exit)
> - }
> + /* These must appear regardless of . */
> + .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
> + .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
>
> - /* This is the MIPS specific mdebug section. */
> - .mdebug : { *(.mdebug) }
> - /* These are needed for ELF backends which have not yet been
> - converted to the new style linker. */
> - .stab 0 : { *(.stab) }
> - .stabstr 0 : { *(.stabstr) }
> - /* DWARF debug sections.
> - Symbols in the .debug DWARF section are relative to the beginning of the
> - section so we begin .debug at 0. It's not clear yet what needs to happen
> - for the others. */
> - .debug 0 : { *(.debug) }
> - .debug_srcinfo 0 : { *(.debug_srcinfo) }
> - .debug_aranges 0 : { *(.debug_aranges) }
> - .debug_pubnames 0 : { *(.debug_pubnames) }
> - .debug_sfnames 0 : { *(.debug_sfnames) }
> - .line 0 : { *(.line) }
> - /* These must appear regardless of . */
> - .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
> - .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
> - .comment : { *(.comment) }
> - .note : { *(.note) }
> + /* Sections to be discarded */
> + /DISCARD/ : {
> + *(.MIPS.options)
> + *(.options)
> + *(.pdr)
> + *(.reginfo)
> + *(.comment)
> + *(.note)
> + }
> }
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] MIPS: Cleanup and Fixup of compressed kernel support
2009-12-10 14:55 [PATCH] MIPS: Cleanup and Fixup of compressed kernel support Wu Zhangjin
2009-12-16 1:34 ` Wu Zhangjin
@ 2009-12-19 22:26 ` Ralf Baechle
1 sibling, 0 replies; 3+ messages in thread
From: Ralf Baechle @ 2009-12-19 22:26 UTC (permalink / raw)
To: Wu Zhangjin; +Cc: linux-mips
On Thu, Dec 10, 2009 at 10:55:13PM +0800, Wu Zhangjin wrote:
> From: Wu Zhangjin <wuzhangjin@gmail.com>
>
> Changes:
>
> o Remove the .initrd section
> the initrd section is put in vmlinux, not need to handle it here.
>
> o Move .MIPS.options, .options, .pdr, .reginfo, .comment, .note from
> Makefile to the /DSICARD/ of ld.script
> If not move the .MIPS.options, the kernel compiled with gcc
> 3.4.6 will not boot.
>
> o Clean up the file format.
> o Remove several other un-needed sections.
>
> Have tested this patch with gcc 3.4.6 and gcc 4.4.1, and also with,
> without the initrd file system. All of them works well.
>
> Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
Applied - but:
/home/ralf/src/linux/linux-mips/.git/rebase-apply/patch:173: space before tab in indent.
.sdata : { *(.sdata) }
/home/ralf/src/linux/linux-mips/.git/rebase-apply/patch:174: space before tab in indent.
. = ALIGN(4);
Ralf
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-12-19 22:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-10 14:55 [PATCH] MIPS: Cleanup and Fixup of compressed kernel support Wu Zhangjin
2009-12-16 1:34 ` Wu Zhangjin
2009-12-19 22:26 ` Ralf Baechle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).