posix-timers: give lazy compilers some help optimizing code away
authorNicolas Pitre <[email protected]>
Wed, 14 Dec 2016 23:06:13 +0000 (15:06 -0800)
committerLinus Torvalds <[email protected]>
Thu, 15 Dec 2016 00:04:08 +0000 (16:04 -0800)
The OpenRISC compiler (so far) fails to optimize away a large portion of
code containing a reference to posix_timer_event in alarmtimer.c when
CONFIG_POSIX_TIMERS is unset.  Let's give it a direct clue to let the
build succeed.

This fixes
[linux-next:master 6682/7183] alarmtimer.c:undefined reference to `posix_timer_event'
reported by kbuild test robot.

Signed-off-by: Nicolas Pitre <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Josh Triplett <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
kernel/time/alarmtimer.c

index 9b08ca391aedbaa3f9099e89a5aa72687e1cf89d..3921cf7fea8e1fe7c656a7afbaae4f83b50e3a76 100644 (file)
@@ -516,7 +516,8 @@ static enum alarmtimer_restart alarm_handle_timer(struct alarm *alarm,
 
        spin_lock_irqsave(&ptr->it_lock, flags);
        if ((ptr->it_sigev_notify & ~SIGEV_THREAD_ID) != SIGEV_NONE) {
-               if (posix_timer_event(ptr, 0) != 0)
+               if (IS_ENABLED(CONFIG_POSIX_TIMERS) &&
+                   posix_timer_event(ptr, 0) != 0)
                        ptr->it_overrun++;
        }