[lttng-dev] lib_ring_buffer_align error bit-field '<anonymous>' width not an integer constant
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Mon Feb 3 10:50:24 EST 2014
----- Original Message -----
> From: "kumar s" <skumar.m226 at gmail.com>
> To: lttng-dev at lists.lttng.org
> Sent: Tuesday, December 3, 2013 3:20:02 AM
> Subject: [lttng-dev] lib_ring_buffer_align error bit-field '<anonymous>'
> width not an integer constant
> Hello,
> When trying to build lttng modules i am getting this error. Cross compiler
> for mips and Arch = mips is used in makefile.
> Linux kernel version 2.6.32.27
> make -C
> /home/shkumar/Development_Merge/NewOCT/OCTEON_SDK/octeon_sdk/OCTEON-SDK/linux/kernel_2.6/linux
> M=/home/shkumar/lttng-tools/lttngmod/lttng-modules modules ARCH=mips
> CROSS_COMPILE=mips64-octeon-linux-gnu-
> make[1]: Entering directory
> `/home/shkumar/Development_Merge/NewOCT/OCTEON_SDK/octeon_sdk/OCTEON-SDK/linux/kernel_2.6/linux'
> CC [M]
> /home/shkumar/lttng-tools/lttngmod/lttng-modules/lttng-ring-buffer-client-discard.o
> In file included from
> /home/shkumar/lttng-tools/lttngmod/lttng-modules/wrapper/ringbuffer/config.h:1,
> from /home/shkumar/lttng-tools/lttngmod/lttng-modules/lttng-tracer-core.h:35,
> from /home/shkumar/lttng-tools/lttngmod/lttng-modules/lttng-tracer.h:39,
> from
> /home/shkumar/lttng-tools/lttngmod/lttng-modules/lttng-ring-buffer-client-discard.c:24:
> /home/shkumar/lttng-tools/lttngmod/lttng-modules/wrapper/ringbuffer/../../lib/ringbuffer/config.h:
> In function 'lib_ring_buffer_align':
> /home/shkumar/lttng-tools/lttngmod/lttng-modules/wrapper/ringbuffer/../../lib/ringbuffer/config.h:266:
> error: bit-field '<anonymous>' width not an integer constant
> make[2]: ***
> [/home/shkumar/lttng-tools/lttngmod/lttng-modules/lttng-ring-buffer-client-discard.o]
> Error 1
> make[1]: *** [_module_/home/shkumar/lttng-tools/lttngmod/lttng-modules] Error
> 2
> make[1]: Leaving directory
> `/home/shkumar/Development_Merge/NewOCT/OCTEON_SDK/octeon_sdk/OCTEON-SDK/linux/kernel_2.6/linux'
> make: *** [default] Error 2
> How do i fix this?
This is caused by the use of offset_align(), passing incorrect parameters, detected by the compiler:
see lttng-modules
lib/align.h:
#define offset_align(align_drift, alignment) \
({ \
BUILD_RUNTIME_BUG_ON((alignment) == 0 \
|| ((alignment) & ((alignment) - 1))); \
(((alignment) - (align_drift)) & ((alignment) - 1)); \
})
See also lttng-modules
lib/bug.h
So there are two things that are possible: either the compiler you use does not perform the
optimisations that are expected, and therefore triggers the BUILD_BUG_ON() without needing to,
or there really is an incorrect value passed to offset_align().
Make sure lttng-modules, your compiler toolchain, and your kernel are up to date.
Thanks,
Mathieu
> Skumar.
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lttng.org/pipermail/lttng-dev/attachments/20140203/6115cb42/attachment.html>
More information about the lttng-dev
mailing list