s390 fixes (6/12).

s390 fixes (6/12).

Post by Martin Schwidefsk » Tue, 04 Feb 2003 17:00:19



updates for compiling with gcc-3.3pre

- add -finline-limit=10000 to make it build
- drop .eh_frame elf section from vmlinux
- fix common warnings inn asm headers
- make dasd compile
- Don't warn about signed/unsigned comparisions
diff -urN linux-2.5.59/arch/s390/Makefile linux-2.5.59-s390/arch/s390/Makefile
--- linux-2.5.59/arch/s390/Makefile     Fri Jan 17 03:21:42 2003

 LDFLAGS_vmlinux := -e start
 LDFLAGS_BLOB   := --format binary --oformat elf32-s390

-CFLAGS += -pipe -fno-strength-reduce
+CFLAGS += -pipe -fno-strength-reduce -finline-limit=10000 -Wno-sign-compare

 HEAD := arch/$(ARCH)/kernel/head.o arch/$(ARCH)/kernel/init_task.o

diff -urN linux-2.5.59/arch/s390/vmlinux.lds.S
linux-2.5.59-s390/arch/s390/vmlinux.lds.S
--- linux-2.5.59/arch/s390/vmlinux.lds.S        Fri Jan 17 03:22:01 2003

   __setup_start = .;
   .init.setup : { *(.init.setup) }
   __setup_end = .;
+  __start___param = .;
+  __param : { *(__param) }
+  __stop___param = .;
   __initcall_start = .;
   .initcall.init : {

        *(.exit.text)
        *(.exit.data)
        *(.exitcall.exit)
+       *(.eh_frame)
        }

   /* Stabs debugging sections.  */
diff -urN linux-2.5.59/arch/s390x/Makefile
linux-2.5.59-s390/arch/s390x/Makefile
--- linux-2.5.59/arch/s390x/Makefile    Fri Jan 17 03:22:13 2003

 MODFLAGS += -fpic -D__PIC__
 LDFLAGS_BLOB   := --format binary --oformat elf64-s390

-CFLAGS += -pipe -fno-strength-reduce
+CFLAGS += -pipe -fno-strength-reduce -finline-limit=10000 -Wno-sign-compare

 HEAD := arch/$(ARCH)/kernel/head.o arch/$(ARCH)/kernel/init_task.o

diff -urN linux-2.5.59/arch/s390x/vmlinux.lds.S
linux-2.5.59-s390/arch/s390x/vmlinux.lds.S
--- linux-2.5.59/arch/s390x/vmlinux.lds.S       Fri Jan 17 03:21:50 2003

   __setup_start = .;
   .init.setup : { *(.init.setup) }
   __setup_end = .;
+  __start___param = .;
+  __param : { *(__param) }
+  __stop___param = .;
   __initcall_start = .;
   .initcall.init : {

        *(.exit.text)
        *(.exit.data)
        *(.exitcall.exit)
+       *(.eh_frame)
        }

   /* Stabs debugging sections.  */
diff -urN linux-2.5.59/drivers/s390/block/dasd_eckd.h
linux-2.5.59-s390/drivers/s390/block/dasd_eckd.h
--- linux-2.5.59/drivers/s390/block/dasd_eckd.h Fri Jan 17 03:22:03 2003


  * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000
  *
- * $Revision: 1.5 $
+ * $Revision: 1.6 $
  *
  * History of changes

                unsigned char cfw:1;    /* Cache fast write */
                unsigned char dfw:1;    /* DASD fast write */
        } __attribute__ ((packed)) attributes;
-       __u16 short blk_size;   /* Blocksize */
+       __u16 blk_size;         /* Blocksize */
        __u16 fast_write_id;
        __u8 ga_additional;     /* Global Attributes Additional */
        __u8 ga_extended;       /* Global Attributes Extended   */
diff -urN linux-2.5.59/include/asm-s390/bitops.h
linux-2.5.59-s390/include/asm-s390/bitops.h
--- linux-2.5.59/include/asm-s390/bitops.h      Fri Jan 17 03:21:36 2003

  * This routine doesn't need to be atomic.
  */

-static inline int __test_bit(int nr, volatile unsigned long *ptr)
+static inline int __test_bit(int nr, const volatile unsigned long *ptr)
 {
        unsigned long addr;

 }

 static inline int
-__constant_test_bit(int nr, volatile unsigned long * addr) {
+__constant_test_bit(int nr, const volatile unsigned long * addr) {
     return (((volatile char *) addr)[(nr>>3)^3] & (1<<(nr&7))) != 0;
 }

diff -urN linux-2.5.59/include/asm-s390/idals.h
linux-2.5.59-s390/include/asm-s390/idals.h
--- linux-2.5.59/include/asm-s390/idals.h       Fri Jan 17 03:21:38 2003

 __idal_buffer_is_needed(struct idal_buffer *ib)
 {
 #ifdef CONFIG_ARCH_S390X
-       return ib->size > (4096 << ib->page_order) ||
+       return ib->size > (4096ul << ib->page_order) ||
                idal_is_needed(ib->data[0], ib->size);
 #else
-       return ib->size > (4096 << ib->page_order);
+       return ib->size > (4096ul << ib->page_order);
 #endif
 }

diff -urN linux-2.5.59/include/asm-s390x/bitops.h
linux-2.5.59-s390/include/asm-s390x/bitops.h
--- linux-2.5.59/include/asm-s390x/bitops.h     Fri Jan 17 03:22:44 2003

  * This routine doesn't need to be atomic.
  */

-static inline int __test_bit(unsigned long nr, volatile unsigned long *ptr)
+static inline int __test_bit(unsigned long nr, const volatile unsigned long
*ptr)
 {
        unsigned long addr;

 }

 static inline int
-__constant_test_bit(unsigned long nr, volatile unsigned long *addr) {
+__constant_test_bit(unsigned long nr, const volatile unsigned long *addr) {
     return (((volatile char *) addr)[(nr>>3)^7] & (1<<(nr&7))) != 0;
 }

diff -urN linux-2.5.59/include/asm-s390x/idals.h
linux-2.5.59-s390/include/asm-s390x/idals.h
--- linux-2.5.59/include/asm-s390x/idals.h      Fri Jan 17 03:22:22 2003

 __idal_buffer_is_needed(struct idal_buffer *ib)
 {
 #ifdef CONFIG_ARCH_S390X
-       return ib->size > (4096 << ib->page_order) ||
+       return ib->size > (4096ul << ib->page_order) ||
                idal_is_needed(ib->data[0], ib->size);
 #else
-       return ib->size > (4096 << ib->page_order);
+       return ib->size > (4096ul << ib->page_order);
 #endif
 }

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

s390 fixes (6/12).

Post by Martin Schwidefsk » Tue, 04 Feb 2003 22:30:25


updates for compiling with gcc-3.3pre

- add -finline-limit=10000 to make it build
- drop .eh_frame elf section from vmlinux
- fix common warnings inn asm headers
- make dasd compile
- Don't warn about signed/unsigned comparisions
diff -urN linux-2.5.59/arch/s390/Makefile linux-2.5.59-s390/arch/s390/Makefile
--- linux-2.5.59/arch/s390/Makefile     Fri Jan 17 03:21:42 2003

 LDFLAGS_vmlinux := -e start
 LDFLAGS_BLOB   := --format binary --oformat elf32-s390

-CFLAGS += -pipe -fno-strength-reduce
+CFLAGS += -pipe -fno-strength-reduce -finline-limit=10000 -Wno-sign-compare

 HEAD := arch/$(ARCH)/kernel/head.o arch/$(ARCH)/kernel/init_task.o

diff -urN linux-2.5.59/arch/s390/vmlinux.lds.S linux-2.5.59-s390/arch/s390/vmlinux.lds.S
--- linux-2.5.59/arch/s390/vmlinux.lds.S        Fri Jan 17 03:22:01 2003

   __setup_start = .;
   .init.setup : { *(.init.setup) }
   __setup_end = .;
+  __start___param = .;
+  __param : { *(__param) }
+  __stop___param = .;
   __initcall_start = .;
   .initcall.init : {

        *(.exit.text)
        *(.exit.data)
        *(.exitcall.exit)
+       *(.eh_frame)
        }

   /* Stabs debugging sections.  */
diff -urN linux-2.5.59/arch/s390x/Makefile linux-2.5.59-s390/arch/s390x/Makefile
--- linux-2.5.59/arch/s390x/Makefile    Fri Jan 17 03:22:13 2003

 MODFLAGS += -fpic -D__PIC__
 LDFLAGS_BLOB   := --format binary --oformat elf64-s390

-CFLAGS += -pipe -fno-strength-reduce
+CFLAGS += -pipe -fno-strength-reduce -finline-limit=10000 -Wno-sign-compare

 HEAD := arch/$(ARCH)/kernel/head.o arch/$(ARCH)/kernel/init_task.o

diff -urN linux-2.5.59/arch/s390x/vmlinux.lds.S linux-2.5.59-s390/arch/s390x/vmlinux.lds.S
--- linux-2.5.59/arch/s390x/vmlinux.lds.S       Fri Jan 17 03:21:50 2003

   __setup_start = .;
   .init.setup : { *(.init.setup) }
   __setup_end = .;
+  __start___param = .;
+  __param : { *(__param) }
+  __stop___param = .;
   __initcall_start = .;
   .initcall.init : {

        *(.exit.text)
        *(.exit.data)
        *(.exitcall.exit)
+       *(.eh_frame)
        }

   /* Stabs debugging sections.  */
diff -urN linux-2.5.59/drivers/s390/block/dasd_eckd.h linux-2.5.59-s390/drivers/s390/block/dasd_eckd.h
--- linux-2.5.59/drivers/s390/block/dasd_eckd.h Fri Jan 17 03:22:03 2003


  * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000
  *
- * $Revision: 1.5 $
+ * $Revision: 1.6 $
  *
  * History of changes

                unsigned char cfw:1;    /* Cache fast write */
                unsigned char dfw:1;    /* DASD fast write */
        } __attribute__ ((packed)) attributes;
-       __u16 short blk_size;   /* Blocksize */
+       __u16 blk_size;         /* Blocksize */
        __u16 fast_write_id;
        __u8 ga_additional;     /* Global Attributes Additional */
        __u8 ga_extended;       /* Global Attributes Extended   */
diff -urN linux-2.5.59/include/asm-s390/bitops.h linux-2.5.59-s390/include/asm-s390/bitops.h
--- linux-2.5.59/include/asm-s390/bitops.h      Fri Jan 17 03:21:36 2003

  * This routine doesn't need to be atomic.
  */

-static inline int __test_bit(int nr, volatile unsigned long *ptr)
+static inline int __test_bit(int nr, const volatile unsigned long *ptr)
 {
        unsigned long addr;

 }

 static inline int
-__constant_test_bit(int nr, volatile unsigned long * addr) {
+__constant_test_bit(int nr, const volatile unsigned long * addr) {
     return (((volatile char *) addr)[(nr>>3)^3] & (1<<(nr&7))) != 0;
 }

diff -urN linux-2.5.59/include/asm-s390/idals.h linux-2.5.59-s390/include/asm-s390/idals.h
--- linux-2.5.59/include/asm-s390/idals.h       Fri Jan 17 03:21:38 2003

 __idal_buffer_is_needed(struct idal_buffer *ib)
 {
 #ifdef CONFIG_ARCH_S390X
-       return ib->size > (4096 << ib->page_order) ||
+       return ib->size > (4096ul << ib->page_order) ||
                idal_is_needed(ib->data[0], ib->size);
 #else
-       return ib->size > (4096 << ib->page_order);
+       return ib->size > (4096ul << ib->page_order);
 #endif
 }

diff -urN linux-2.5.59/include/asm-s390x/bitops.h linux-2.5.59-s390/include/asm-s390x/bitops.h
--- linux-2.5.59/include/asm-s390x/bitops.h     Fri Jan 17 03:22:44 2003

  * This routine doesn't need to be atomic.
  */

-static inline int __test_bit(unsigned long nr, volatile unsigned long *ptr)
+static inline int __test_bit(unsigned long nr, const volatile unsigned long *ptr)
 {
        unsigned long addr;

 }

 static inline int
-__constant_test_bit(unsigned long nr, volatile unsigned long *addr) {
+__constant_test_bit(unsigned long nr, const volatile unsigned long *addr) {
     return (((volatile char *) addr)[(nr>>3)^7] & (1<<(nr&7))) != 0;
 }

diff -urN linux-2.5.59/include/asm-s390x/idals.h linux-2.5.59-s390/include/asm-s390x/idals.h
--- linux-2.5.59/include/asm-s390x/idals.h      Fri Jan 17 03:22:22 2003

 __idal_buffer_is_needed(struct idal_buffer *ib)
 {
 #ifdef CONFIG_ARCH_S390X
-       return ib->size > (4096 << ib->page_order) ||
+       return ib->size > (4096ul << ib->page_order) ||
                idal_is_needed(ib->data[0], ib->size);
 #else
-       return ib->size > (4096 << ib->page_order);
+       return ib->size > (4096ul << ib->page_order);
 #endif
 }

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/