Скомпилированная ошибка, объявленная с ошибкой атрибута в qcacld-2.0 - PullRequest
0 голосов
/ 04 сентября 2018
CC      drivers/staging/qcacld-2.0/CORE/SERVICES/COMMON/adf/adf_nbuf.o
In file included from include/linux/linkage.h:4:0,
                 from include/linux/kernel.h:6,
                 from drivers/staging/qcacld-2.0/CORE/SERVICES/COMMON/adf/adf_nbuf.c:29:
drivers/staging/qcacld-2.0/CORE/SERVICES/COMMON/adf/adf_nbuf.c: In function '__adf_nbuf_validate_skb_cb':
include/linux/compiler.h:347:38: error: call to '__compiletime_assert_1270' declared with attribute error: BUILD_BUG_ON failed: sizeof(struct cvg_nbuf_cb) > FIELD_SIZEOF(struct sk_buff, cb)
  _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                      ^
include/linux/compiler.h:330:4: note: in definition of macro '__compiletime_assert'
    prefix ## suffix();    \
    ^
include/linux/compiler.h:347:2: note: in expansion of macro '_compiletime_assert'
  _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
  ^
include/linux/bug.h:50:37: note: in expansion of macro 'compiletime_assert'
 #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                     ^
include/linux/bug.h:74:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
  ^
drivers/staging/qcacld-2.0/CORE/SERVICES/COMMON/adf/adf_nbuf.c:1269:2: note: in expansion of macro 'BUILD_BUG_ON'
  BUILD_BUG_ON(sizeof(struct cvg_nbuf_cb) >
  ^
scripts/Makefile.build:308: recipe for target 'drivers/staging/qcacld-2.0/CORE/SERVICES/COMMON/adf/adf_nbuf.o' failed
make[3]: *** [drivers/staging/qcacld-2.0/CORE/SERVICES/COMMON/adf/adf_nbuf.o] Error 1
scripts/Makefile.build:455: recipe for target 'drivers/staging/qcacld-2.0' failed
make[2]: *** [drivers/staging/qcacld-2.0] Error 2
scripts/Makefile.build:455: recipe for target 'drivers/staging' failed
make[1]: *** [drivers/staging] Error 2
Makefile:824: recipe for target 'drivers' failed
make: *** [drivers] Error 2

Как я могу это исправить?

  • misource
  • Компилятор: GCC4.9
  • wlan драйвер: qcacld-2.0 LA.bf64.1.2.3.rb1.17
  • Я новичок и пользуюсь гуглом, похоже не нашел ответа

1 Ответ

0 голосов
/ 09 сентября 2018

Обнулите оболочку Python в вашем корневом make-файле, как это https://android.googlesource.com/kernel/msm/+/e7fb62baa7c8b803d7e3b3f3d8bf4e2b916b659d

А также ядерные флаги Wall и Werror от Kbuild из qcacld https://github.com/DerpGang/msm-3.18/blob/f8b18a46f0da4d3aed84f29eb29f2578884e90d4/drivers/staging/qcacld-2.0/Kbuild#L1009

https://github.com/DerpGang/msm-3.18/blob/f8b18a46f0da4d3aed84f29eb29f2578884e90d4/drivers/staging/qcacld-2.0/Kbuild#L1008

Здесь мы отключаем флаги компилятора, чтобы предупреждения кода не воспринимались как ошибки.

Примечание: - Если после удаления оболочки Python возникает ошибка сегментации, проверьте наличие флагов остаточного компилятора или повторно добавьте оболочку

...