[lttng-dev] Fwd: lib_ring_buffer_align error bit-field '<anonymous>' width not an integer constant
kumar s
skumar.m226 at gmail.com
Thu Feb 6 23:38:51 EST 2014
---------- Forwarded message ----------
From: kumar s <skumar.m226 at gmail.com>
Date: Fri, Feb 7, 2014 at 10:08 AM
Subject: Re: [lttng-dev] lib_ring_buffer_align error bit-field
'<anonymous>' width not an integer constant
To: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
Hi,
In bug.h, i removed the underlined lines and left only BUG_ON(condition).
The modules got compiled without any errors, however are there any issues
on removing the underlined lines.
*/
#define BUILD_RUNTIME_BUG_ON(condition) \
do { \
*- *
* if (__builtin_constant_p(condition)) \
- BUILD_BUG_ON(condition);
\- else * \
BUG_ON(condition); \
} while (0)
thank you
Skumar
On Tue, Feb 4, 2014 at 8:22 PM, Mathieu Desnoyers <
mathieu.desnoyers at efficios.com> wrote:
> You might want to request help from Cavium, since they are the one
> supporting
> their toolchain.
>
> It really seems to be a Cavium-specific issue.
>
> Thanks,
>
> Mathieu
>
>
> ------------------------------
>
> *From: *"kumar s" <skumar.m226 at gmail.com>
> *To: *"Mathieu Desnoyers" <mathieu.desnoyers at efficios.com>
> *Cc: *lttng-dev at lists.lttng.org
> *Sent: *Tuesday, February 4, 2014 5:13:44 AM
> *Subject: *Re: [lttng-dev] lib_ring_buffer_align error bit-field
> '<anonymous>' width not an integer constant
>
>
> Hi,
>
> The lttng module i use is the latest version, compiler toolchain cannot be
> upgraded since it is provided by Cavium, kernel version is 2.6.32.27.
>
> Is there any change i need to do on lttng modules to build it?
>
> Thank you
> SKumar
>
>
> On Mon, Feb 3, 2014 at 9:20 PM, Mathieu Desnoyers <
> mathieu.desnoyers at efficios.com> wrote:
>
>> ------------------------------
>>
>> *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
>>
>
>
>
>
> --
> Mathieu Desnoyers
> EfficiOS Inc.
> http://www.efficios.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lttng.org/pipermail/lttng-dev/attachments/20140207/834420b1/attachment-0001.html>
More information about the lttng-dev
mailing list