[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