Bug#712103: linux-3.2.46-1 does not compile (rcupdate.h)

2013-06-13 Thread Bjarni Ingi Gislason
On Thu, Jun 13, 2013 at 03:07:26AM +0100, Ben Hutchings wrote:
 Control: tag -1 moreinfo
 
 On Wed, 2013-06-12 at 23:46 +, Bjarni Ingi Gislason wrote:
  Package: linux-source-3.2
  Version: 3.2.46-1
  Severity: important
  
  Dear Maintainer,
  
 * What led up to the situation?
  
Compiling error:
  
  In file included from include/linux/mm_types.h:15:0,
   from include/linux/sched.h:64,
   from arch/x86/kernel/asm-offsets.c:9:
  include/linux/rcupdate.h: In function '__kfree_rcu':
  include/linux/rcupdate.h:834:2: error: size of unnamed array is negative
  make[1]: *** [arch/x86/kernel/asm-offsets.s] Error 1
  make: *** [prepare0] Error 2
  
Line 834 is BUILD_BUG_ON... in
  
  static __always_inline
  void __kfree_rcu(struct rcu_head *head, unsigned long offset)
  {
  typedef void (*rcu_callback)(struct rcu_head *);
  
  BUILD_BUG_ON(!__builtin_constant_p(offset));
  
  
offset is declared as an unsigned long so can't be negative!
 
 This is a build-time assertion that the caller is passing a compile-time
 constant for offset.  If the assertion fails it triggers this weird
 'size of unnamed array is negative' error.
 
 But nothing in asm-offsets.c will be calling it, so this doesn't make
 sense to me.
 
 You forgot to attach your .config.
 

  In the main Makefile I changed -O2 to -O0:

#
# Automatically generated file; DO NOT EDIT.
# Linux/i386 3.2.46 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT=elf32-i386
CONFIG_ARCH_DEFCONFIG=arch/x86/configs/i386_defconfig
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
# CONFIG_NEED_DMA_MAP_STATE is not set
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
# CONFIG_GENERIC_TIME_VSYSCALL is not set
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_ZONE_DMA32 is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_32_LAZY_GS=y
CONFIG_ARCH_HWEIGHT_CFLAGS=-fcall-saved-ecx -fcall-saved-edx
CONFIG_KTIME_SCALAR=y
CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y

#
# General setup
#
# CONFIG_EXPERIMENTAL is not set
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=
CONFIG_LOCALVERSION=-1
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
CONFIG_DEFAULT_HOSTNAME=(none)
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_FHANDLE is not set
# CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set
CONFIG_HAVE_GENERIC_HARDIRQS=y

#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_HAVE_SPARSE_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y

#
# RCU Subsystem
#
CONFIG_TINY_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=18
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# CONFIG_CGROUPS is not set
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
# CONFIG_IPC_NS is not set
# CONFIG_PID_NS is not set
# CONFIG_NET_NS is not set
# CONFIG_SCHED_AUTOGROUP is not set
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
# CONFIG_EXPERT is not set
CONFIG_UID16=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_PERF_COUNTERS is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
CONFIG_COMPAT_BRK=y
# 

Bug#712103: linux-3.2.46-1 does not compile (rcupdate.h)

2013-06-13 Thread Bjarni Ingi Gislason
On Thu, Jun 13, 2013 at 09:10:27PM +, Bjarni Ingi Gislason wrote:
 On Thu, Jun 13, 2013 at 03:07:26AM +0100, Ben Hutchings wrote:
  Control: tag -1 moreinfo
  
  On Wed, 2013-06-12 at 23:46 +, Bjarni Ingi Gislason wrote:
   Package: linux-source-3.2
   Version: 3.2.46-1
   Severity: important
   
   Dear Maintainer,
   
  * What led up to the situation?
   
 Compiling error:
   
   In file included from include/linux/mm_types.h:15:0,
from include/linux/sched.h:64,
from arch/x86/kernel/asm-offsets.c:9:
   include/linux/rcupdate.h: In function '__kfree_rcu':
   include/linux/rcupdate.h:834:2: error: size of unnamed array is negative
   make[1]: *** [arch/x86/kernel/asm-offsets.s] Error 1
   make: *** [prepare0] Error 2
   
 Line 834 is BUILD_BUG_ON... in
   
   static __always_inline
   void __kfree_rcu(struct rcu_head *head, unsigned long offset)
   {
 typedef void (*rcu_callback)(struct rcu_head *);
   
 BUILD_BUG_ON(!__builtin_constant_p(offset));
   
   
 offset is declared as an unsigned long so can't be negative!
  
  This is a build-time assertion that the caller is passing a compile-time
  constant for offset.  If the assertion fails it triggers this weird
  'size of unnamed array is negative' error.
  
  But nothing in asm-offsets.c will be calling it, so this doesn't make
  sense to me.
  
  You forgot to attach your .config.
  
 
   In the main Makefile I changed -O2 to -O0:
 

  This bug is most probably caused by the -O0 option for gcc as I
got an error when compiling an older version

In file included from linux-2.6.38.5/arch/x86/include/asm/alternative.h:105:0,
 from linux-2.6.38.5/arch/x86/include/asm/bitops.h:16,
 from include/linux/bitops.h:22,
 from include/linux/kernel.h:17,
 from include/linux/sched.h:55,
 from include/linux/stackprotector.h:5,
 from arch/x86/kernel/process_32.c:12:
linux-2.6.38.5/arch/x86/include/asm/cpufeature.h: In function 'prepare_to_copy':
linux-2.6.38.5/arch/x86/include/asm/cpufeature.h:321:4: warning: asm operand 0 
probably doesn't match constraints [enabled by default]
linux-2.6.38.5/arch/x86/include/asm/cpufeature.h:321:4: warning: asm operand 0 
probably doesn't match constraints [enabled by default]
linux-2.6.38.5/arch/x86/include/asm/cpufeature.h:321:4: error: impossible 
constraint in 'asm'
linux-2.6.38.5/arch/x86/include/asm/cpufeature.h:321:4: error: impossible 
constraint in 'asm'
linux-2.6.38.5/arch/x86/include/asm/cpufeature.h: In function '__switch_to':
linux-2.6.38.5/arch/x86/include/asm/cpufeature.h:321:4: warning: asm operand 0 
probably doesn't match constraints [enabled by default]
linux-2.6.38.5/arch/x86/include/asm/cpufeature.h:321:4: warning: asm operand 0 
probably doesn't match constraints [enabled by default]
make[2]: *** [arch/x86/kernel/process_32.o] Error 1
make[1]: *** [arch/x86/kernel] Error 2
make: *** [arch/x86] Error 2

  The bug is thus either in the compiler gcc or assember as.  I
will compile 3.2.46-1 later with the -O2 (default) option.

-- 
Bjarni I. Gislason


-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130614024454.ga13...@rhi.hi.is



Bug#712103: linux-3.2.46-1 does not compile (rcupdate.h)

2013-06-13 Thread Ben Hutchings
On Fri, 2013-06-14 at 02:44 +, Bjarni Ingi Gislason wrote:
 On Thu, Jun 13, 2013 at 09:10:27PM +, Bjarni Ingi Gislason wrote:
  On Thu, Jun 13, 2013 at 03:07:26AM +0100, Ben Hutchings wrote:
   Control: tag -1 moreinfo
   
   On Wed, 2013-06-12 at 23:46 +, Bjarni Ingi Gislason wrote:
Package: linux-source-3.2
Version: 3.2.46-1
Severity: important

Dear Maintainer,

   * What led up to the situation?

  Compiling error:

In file included from include/linux/mm_types.h:15:0,
 from include/linux/sched.h:64,
 from arch/x86/kernel/asm-offsets.c:9:
include/linux/rcupdate.h: In function '__kfree_rcu':
include/linux/rcupdate.h:834:2: error: size of unnamed array is negative
make[1]: *** [arch/x86/kernel/asm-offsets.s] Error 1
make: *** [prepare0] Error 2

  Line 834 is BUILD_BUG_ON... in

static __always_inline
void __kfree_rcu(struct rcu_head *head, unsigned long offset)
{
typedef void (*rcu_callback)(struct rcu_head *);

BUILD_BUG_ON(!__builtin_constant_p(offset));


  offset is declared as an unsigned long so can't be negative!
   
   This is a build-time assertion that the caller is passing a compile-time
   constant for offset.  If the assertion fails it triggers this weird
   'size of unnamed array is negative' error.
   
   But nothing in asm-offsets.c will be calling it, so this doesn't make
   sense to me.
   
   You forgot to attach your .config.
   
  
In the main Makefile I changed -O2 to -O0:
  
 
   This bug is most probably caused by the -O0 option for gcc as I
 got an error when compiling an older version
 
 In file included from linux-2.6.38.5/arch/x86/include/asm/alternative.h:105:0,
  from linux-2.6.38.5/arch/x86/include/asm/bitops.h:16,
  from include/linux/bitops.h:22,
  from include/linux/kernel.h:17,
  from include/linux/sched.h:55,
  from include/linux/stackprotector.h:5,
  from arch/x86/kernel/process_32.c:12:
 linux-2.6.38.5/arch/x86/include/asm/cpufeature.h: In function 
 'prepare_to_copy':
 linux-2.6.38.5/arch/x86/include/asm/cpufeature.h:321:4: warning: asm operand 
 0 probably doesn't match constraints [enabled by default]
 linux-2.6.38.5/arch/x86/include/asm/cpufeature.h:321:4: warning: asm operand 
 0 probably doesn't match constraints [enabled by default]
 linux-2.6.38.5/arch/x86/include/asm/cpufeature.h:321:4: error: impossible 
 constraint in 'asm'
 linux-2.6.38.5/arch/x86/include/asm/cpufeature.h:321:4: error: impossible 
 constraint in 'asm'
 linux-2.6.38.5/arch/x86/include/asm/cpufeature.h: In function '__switch_to':
 linux-2.6.38.5/arch/x86/include/asm/cpufeature.h:321:4: warning: asm operand 
 0 probably doesn't match constraints [enabled by default]
 linux-2.6.38.5/arch/x86/include/asm/cpufeature.h:321:4: warning: asm operand 
 0 probably doesn't match constraints [enabled by default]
 make[2]: *** [arch/x86/kernel/process_32.o] Error 1
 make[1]: *** [arch/x86/kernel] Error 2
 make: *** [arch/x86] Error 2
 
   The bug is thus either in the compiler gcc or assember as.

It's not a bug.  The kernel code relies on the compiler doing certain
optimisations, which is why the Makefile always enables them.

 I will compile 3.2.46-1 later with the -O2 (default) option.

Ben.

-- 
Ben Hutchings
If the facts do not conform to your theory, they must be disposed of.


signature.asc
Description: This is a digitally signed message part


Bug#712103: linux-3.2.46-1 does not compile (rcupdate.h)

2013-06-12 Thread Bjarni Ingi Gislason
Package: linux-source-3.2
Version: 3.2.46-1
Severity: important

Dear Maintainer,

   * What led up to the situation?

  Compiling error:

In file included from include/linux/mm_types.h:15:0,
 from include/linux/sched.h:64,
 from arch/x86/kernel/asm-offsets.c:9:
include/linux/rcupdate.h: In function '__kfree_rcu':
include/linux/rcupdate.h:834:2: error: size of unnamed array is negative
make[1]: *** [arch/x86/kernel/asm-offsets.s] Error 1
make: *** [prepare0] Error 2

  Line 834 is BUILD_BUG_ON... in

static __always_inline
void __kfree_rcu(struct rcu_head *head, unsigned long offset)
{
typedef void (*rcu_callback)(struct rcu_head *);

BUILD_BUG_ON(!__builtin_constant_p(offset));


  offset is declared as an unsigned long so can't be negative!

-- System Information:
Debian Release: 7.1
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'proposed-updates'), (500, 
'stable')
Architecture: i386 (i586)

Kernel: Linux 2.6.32-47
Locale: LANG=is_IS, LC_CTYPE=is_IS (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash

Versions of packages linux-source-3.2 depends on:
ii  binutils  2.22-8
ii  bzip2 1.0.6-4

Versions of packages linux-source-3.2 recommends:
ii  gcc   4:4.7.2-1
ii  libc6-dev [libc-dev]  2.13-38
ii  make  3.81-8.2

Versions of packages linux-source-3.2 suggests:
ii  libncurses5-dev [ncurses-dev]  5.9-10
pn  libqt4-dev none
ii  pkg-config 0.26-1

-- no debconf information

-- 
Bjarni I. Gislason


-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130612234626.ga28...@rhi.hi.is



Bug#712103: linux-3.2.46-1 does not compile (rcupdate.h)

2013-06-12 Thread Ben Hutchings
Control: tag -1 moreinfo

On Wed, 2013-06-12 at 23:46 +, Bjarni Ingi Gislason wrote:
 Package: linux-source-3.2
 Version: 3.2.46-1
 Severity: important
 
 Dear Maintainer,
 
* What led up to the situation?
 
   Compiling error:
 
 In file included from include/linux/mm_types.h:15:0,
  from include/linux/sched.h:64,
  from arch/x86/kernel/asm-offsets.c:9:
 include/linux/rcupdate.h: In function '__kfree_rcu':
 include/linux/rcupdate.h:834:2: error: size of unnamed array is negative
 make[1]: *** [arch/x86/kernel/asm-offsets.s] Error 1
 make: *** [prepare0] Error 2
 
   Line 834 is BUILD_BUG_ON... in
 
 static __always_inline
 void __kfree_rcu(struct rcu_head *head, unsigned long offset)
 {
   typedef void (*rcu_callback)(struct rcu_head *);
 
   BUILD_BUG_ON(!__builtin_constant_p(offset));
 
 
   offset is declared as an unsigned long so can't be negative!

This is a build-time assertion that the caller is passing a compile-time
constant for offset.  If the assertion fails it triggers this weird
'size of unnamed array is negative' error.

But nothing in asm-offsets.c will be calling it, so this doesn't make
sense to me.

You forgot to attach your .config.

Ben.

-- 
Ben Hutchings
friends: People who know you well, but like you anyway.


signature.asc
Description: This is a digitally signed message part


Processed: Re: Bug#712103: linux-3.2.46-1 does not compile (rcupdate.h)

2013-06-12 Thread Debian Bug Tracking System
Processing control commands:

 tag -1 moreinfo
Bug #712103 [linux-source-3.2] linux-3.2.46-1 does not compile (rcupdate.h)
Added tag(s) moreinfo.

-- 
712103: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=712103
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems


--
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/handler.s.b712103.13710892673340.transcr...@bugs.debian.org