Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build error in driver/mutex.c: invalid storage class for function 'DEFINE_SEMAPHORE' #11

Closed
msabramo opened this issue Feb 29, 2012 · 1 comment

Comments

@msabramo
Copy link
Contributor

Executing: /home/marca/src/dtrace4linux/newlinux/tools/make-me
make -C /lib/modules/2.6.32-38-generic/build M=/home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver
  CC [M]  /home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/mutex.o
/home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/mutex.c: In function 'dmutex_init':
/home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/mutex.c:48: warning: type defaults to 'int' in declaration of 'DEFINE_SEMAPHORE'
/home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/mutex.c:48: warning: parameter names (without types) in function declaration
/home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/mutex.c:48: error: invalid storage class for function 'DEFINE_SEMAPHORE'
/home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/mutex.c:51: error: 'null_sema' undeclared (first use in this function)
/home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/mutex.c:51: error: (Each undeclared identifier is reported only once
/home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/mutex.c:51: error: for each function it appears in.)
make[3]: *** [/home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver/mutex.o] Error 1
make[2]: *** [_module_/home/marca/src/dtrace4linux/newlinux/build-2.6.32-38-generic/driver] Error 2
make[1]: *** [kernel] Error 2
tools/bug.sh
make: *** [all] Error 1
marca@ubuntu:~/src/dtrace4linux/newlinux$ uname -a
Linux ubuntu 2.6.32-38-generic #83-Ubuntu SMP Wed Jan 4 11:13:04 UTC 2012 i686 GNU/Linux

marca@ubuntu:~/src/dtrace4linux/newlinux$ dpkg -l | grep 'linux-'
ii  linux-firmware                       1.34.7                                          Firmware for Linux kernel drivers
ii  linux-generic                        2.6.32.38.44                                    Complete Generic Linux kernel
ii  linux-headers-2.6.32-38              2.6.32-38.83                                    Header files related to Linux kernel version 2.6.32
ii  linux-headers-2.6.32-38-generic      2.6.32-38.83                                    Linux kernel headers for version 2.6.32 on x86/x86_64
ii  linux-headers-generic                2.6.32.38.44                                    Generic Linux kernel headers
ii  linux-image-2.6.32-38-generic        2.6.32-38.83                                    Linux kernel image for version 2.6.32 on x86/x86_64
ii  linux-image-generic                  2.6.32.38.44                                    Generic Linux kernel image
ii  linux-libc-dev                       2.6.32-38.83                                    Linux Kernel Headers for development
ii  linux-sound-base                     1.0.22.1+dfsg-0ubuntu3                          base package for ALSA and OSS sound systems
ii  linux-source                         2.6.32.38.44                                    Linux kernel source with Ubuntu patches
ii  linux-source-2.6.32                  2.6.32-38.83                                    Linux kernel source for version 2.6.32 with Ubuntu pa
ii  linux-tools                          2.6.32.38.44                                    Linux kernel versioned Tools
ii  linux-tools-2.6.32-38                2.6.32-38.83                                    Linux kernel tools for version 2.6.32-38
ii  linux-tools-common                   2.6.32-38.83                                    Linux kernel specific tools for version 2.6.32

marca@ubuntu:~/src/dtrace4linux/newlinux$ ack-grep DEFINE_SEMAPHORE /usr/include

marca@ubuntu:~/src/dtrace4linux/newlinux$ grep -r DEFINE_SEMAPHORE *
build/driver/mutex.c:static DEFINE_SEMAPHORE(null_sema);
build-2.6.32-38-generic/driver/mutex.c:static DEFINE_SEMAPHORE(null_sema);
driver/mutex.c:static DEFINE_SEMAPHORE(null_sema);
msabramo added a commit to msabramo/linux that referenced this issue Feb 29, 2012
msabramo added a commit to msabramo/linux that referenced this issue Mar 1, 2012
…l history, DECLARE_MUTEX was renamed to DEFINE_SEMAPHORE. Older kernels like the stock kernel on Ubuntu 10.04.4 (Linux ubuntu 2.6.32-38-generic dtrace4linux#83-Ubuntu SMP Wed Jan 4 11:13:04 UTC 2012 i686 GNU/Linux) don't have DEFINE_SEMAPHORE in their headers.

Fixes dtrace4linuxGH-11.
@dtrace4linux
Copy link
Owner

closing as should be fixed in next push

azat added a commit to azat-archive/dtrace4linux that referenced this issue Aug 7, 2013
I see this is happens in gdb:

gdb bt:
 #0  taskq_dispatch2 (tq=0xffff88003712e600, func=0x0 <irq_stack_union>,
     arg=0x0 <irq_stack_union>, flags=0, delay=1)
     at /usr/src/dtrace4linux/build-3.11.0-rc4+/driver/taskq.c:263
 dtrace4linux#1  0xffffffffa0369433 in timeout (
     func=func@entry=0xffffffffa035c9d5 <fasttrap_pid_cleanup_cb>,
     arg=arg@entry=0x0 <irq_stack_union>, ticks=ticks@entry=1)
     at /usr/src/dtrace4linux/build-3.11.0-rc4+/driver/taskq.c:306
 dtrace4linux#2  0xffffffffa035c9c0 in fasttrap_pid_cleanup ()
     at /usr/src/dtrace4linux/build-3.11.0-rc4+/driver/fasttrap.c:505
 dtrace4linux#3  0xffffffffa035cdbf in fasttrap_provider_retire (pid=<optimized out>,
     name=0xffffffffa037eb8f "pid", name@entry=0x140ef <Address 0x140ef out of bounds>,
     mprov=mprov@entry=0) at /usr/src/dtrace4linux/build-3.11.0-rc4+/driver/fasttrap.c:1713
 dtrace4linux#4  0xffffffffa035ce08 in fasttrap_exec_exit (p=0xffff8800371d3b18)
     at /usr/src/dtrace4linux/build-3.11.0-rc4+/driver/fasttrap.c:596
 dtrace4linux#5  0xffffffffa0358c09 in proc_exit_notifier (n=<optimized out>, code=<optimized out>,
     ptr=<optimized out>)
     at /usr/src/dtrace4linux/build-3.11.0-rc4+/driver/dtrace_linux.c:2020
 dtrace4linux#6  0xffffffff8139b2d3 in notifier_call_chain (
     nl=nl@entry=0xffffffff81634da0 <task_exit_notifier+32>, val=val@entry=0,
     v=v@entry=0xffff88007b62b040, nr_to_call=nr_to_call@entry=-1,
     nr_calls=nr_calls@entry=0x0 <irq_stack_union>) at kernel/notifier.c:93
 dtrace4linux#7  0xffffffff8105824b in __blocking_notifier_call_chain (
     nh=nh@entry=0xffffffff81634d80 <task_exit_notifier>, val=val@entry=0,
     v=0xffff88007b62b040, nr_to_call=nr_to_call@entry=-1,
     nr_calls=nr_calls@entry=0x0 <irq_stack_union>) at kernel/notifier.c:314
 dtrace4linux#8  0xffffffff81058273 in blocking_notifier_call_chain (
     nh=nh@entry=0xffffffff81634d80 <task_exit_notifier>, val=val@entry=0,
     v=<optimized out>) at kernel/notifier.c:325
 dtrace4linux#9  0xffffffff810750f5 in profile_task_exit (task=<optimized out>) at kernel/profile.c:143
 dtrace4linux#10 0xffffffff8103a3cf in do_exit ()
 dtrace4linux#11 0xffffffff8103b87c in do_group_exit ()
 dtrace4linux#12 0xffffffff81047522 in get_signal_to_deliver ()
 dtrace4linux#13 0xffffffff81002176 in do_signal ()
 dtrace4linux#14 0xffffffff810025d3 in do_notify_resume ()
 dtrace4linux#15 <signal handler called>
 dtrace4linux#16 0x00007fed3818fff8 in ?? ()

 Refs dtrace4linux#61
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants