From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <4C35E346.3010401@altlinux.org> Date: Thu, 08 Jul 2010 18:40:06 +0400 From: Paul Wolneykien Organization: ALT Linux User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.*) Gecko/20100402 Thunderbird/3.0pre MIME-Version: 1.0 To: devel@lists.altlinux.org X-Enigmail-Version: 0.97a Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [devel] error: `sizeof' applied to a bit-field X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jul 2010 14:40:05 -0000 Archived-At: List-Archive: List-Post: Всем привет, Собрал я кроссом libalsa и ядро для одной железяки на ARM. И всё почти работает (звук воспроизводится), за исключением некоторых IOCTLs. Как оказалось, разница в размере структуры данных, которая передаётся вызову в качестве аргумента. При этом, определения структур в ядре и в библиотеке совпадают. Размеры большинства отдельных полей этих структур также совпадают. Однако размер одного из полей struct snd_ctl_elem_value { ... unsigned int indirect: 1; ... выяснить не удалось -- ошибка компиляции "`sizeof' applied to a bit-field". Получается что он не известен на этапе компиляции? Я подозреваю, что на итоговый размер структур оказывает влияние именно это поле. Расхождение -- 4 байта (708 байт в ядре, и 712 байт в библиотеке). Как понять? Как уровнять? Заранее спасибо, Павел.