From: NIIBE Y. <gn...@ch...> - 2000-09-27 05:37:51
|
Because the ABI is different, we have our independent BFD-name for newer Binutils. New BFD names are: elf32-sh-linux <--- for Little endian elf32-shbig-linux <--- for big endian Hence, we will need following change. Checksum.S changes are for new CPP, it's nothing bad with old CPP anyway. We still need more tweaks for new GCC/Binuitsl (say a week or so), so, not commited yet. Just for your reference. Err... well, we need to patch config.guess and such. 2000-09-27 NIIBE Yutaka <gn...@m1...> * arch/sh/lib/checksum.S (SRC, DST): Don't use variable arguments. * arch/sh/vmlinux.lds.S: Use new format name elf32-sh-linux and elf32-shbig-linux. * arch/sh/boot/compressed/Makefile (piggy.o): Likewise. Index: arch/sh/vmlinux.lds.S =================================================================== RCS file: /cvsroot/linuxsh/kernel/arch/sh/vmlinux.lds.S,v retrieving revision 1.9 diff -u -p -r1.9 vmlinux.lds.S --- arch/sh/vmlinux.lds.S 2000/08/30 00:52:49 1.9 +++ arch/sh/vmlinux.lds.S 2000/09/27 05:28:00 @@ -4,9 +4,9 @@ */ #include <linux/config.h> #ifdef CONFIG_CPU_LITTLE_ENDIAN -OUTPUT_FORMAT("elf32-shl", "elf32-shl", "elf32-shl") +OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux") #else -OUTPUT_FORMAT("elf32-sh", "elf32-sh", "elf32-sh") +OUTPUT_FORMAT("elf32-shbig-linux", "elf32-shbig-linux", "elf32-shbig-linux") #endif OUTPUT_ARCH(sh) ENTRY(_start) Index: arch/sh/boot/compressed/Makefile =================================================================== RCS file: /cvsroot/linuxsh/kernel/arch/sh/boot/compressed/Makefile,v retrieving revision 1.5 diff -u -p -r1.5 Makefile --- arch/sh/boot/compressed/Makefile 2000/07/20 15:47:07 1.5 +++ arch/sh/boot/compressed/Makefile 2000/09/27 05:28:00 @@ -36,7 +36,7 @@ piggy.o: $(SYSTEM) $(OBJCOPY) -R .empty_zero_page $(SYSTEM) $$tmppiggy; \ gzip -f -9 < $$tmppiggy > $$tmppiggy.gz; \ echo "SECTIONS { .data : { input_len = .; LONG(input_data_end - input_data) input_data = .; *(.data) input_data_end = .; }}" > $$tmppiggy.lnk; \ - $(LD) -r -o piggy.o -b binary $$tmppiggy.gz -b elf32-shl -T $$tmppiggy.lnk; \ + $(LD) -r -o piggy.o -b binary $$tmppiggy.gz -b elf32-sh-linux -T $$tmppiggy.lnk; \ rm -f $$tmppiggy $$tmppiggy.gz $$tmppiggy.lnk clean: Index: arch/sh/lib/checksum.S =================================================================== RCS file: /cvsroot/linuxsh/kernel/arch/sh/lib/checksum.S,v retrieving revision 1.6 diff -u -p -r1.6 checksum.S --- arch/sh/lib/checksum.S 2000/07/31 12:27:13 1.6 +++ arch/sh/lib/checksum.S 2000/09/27 05:28:00 @@ -159,14 +159,14 @@ unsigned int csum_partial_copy_generic ( * them all but there's no guarantee. */ -#define SRC(y...) \ - 9999: y; \ +#define SRC(x,y) \ + 9999: x,y; \ .section __ex_table, "a"; \ .long 9999b, 6001f ; \ .previous -#define DST(y...) \ - 9999: y; \ +#define DST(x,y) \ + 9999: x,y; \ .section __ex_table, "a"; \ .long 9999b, 6002f ; \ .previous @@ -276,7 +276,7 @@ DST( mov.l r0,@r5 ) DST( mov.l r1,@r5 ) add #4,r5 -SRC( mov.l @r4+,r0 ) +SRC( mov.l @r4+,r0 ) SRC( mov.l @r4+,r1 ) addc r0,r7 DST( mov.l r0,@r5 ) |