[devel] error: `sizeof' applied to a bit-field

Kirill A. Shutemov kirill на shutemov.name
Чт Июл 8 20:00:17 UTC 2010


On Thu, Jul 08, 2010 at 06:53:15PM +0400, Paul Wolneykien wrote:
> 08.07.2010 18:52, Kirill A. Shutemov пишет:
> > On Thu, Jul 08, 2010 at 06:40:06PM +0400, Paul Wolneykien wrote:
> >>
> >>   Всем привет,
> >>
> >>   Собрал я кроссом libalsa и ядро для одной железяки на ARM. И всё почти
> >> работает (звук воспроизводится), за исключением некоторых IOCTLs. Как
> >> оказалось, разница в размере структуры данных, которая передаётся вызову
> >> в качестве аргумента. При этом, определения структур в ядре и в
> >> библиотеке совпадают. Размеры большинства отдельных полей этих структур
> >> также совпадают. Однако размер одного из полей
> >>
> >> struct snd_ctl_elem_value {
> >> ...
> >>   unsigned int indirect: 1;
> >> ...
> >>
> >> выяснить не удалось -- ошибка компиляции "`sizeof' applied to a
> >> bit-field". Получается что он не известен на этапе компиляции?
> >>
> >>   Я подозреваю, что на итоговый размер структур оказывает влияние именно
> >> это поле. Расхождение -- 4 байта (708 байт в ядре, и 712 байт в библиотеке).
> >>   Как понять? Как уровнять?
> > 
> > А каким кроссом вы пользовались?
> 
>   Монтависта № 4. Но я и ядро им собираю.

Попробуйте codesourcery, для начала.

-- 
 Kirill A. Shutemov


Подробная информация о списке рассылки Devel