From: "Chan Kim" <ckim@etri.re.kr>
To: <kernelnewbies@kernelnewbies.org>
Subject: adding GCC optimze O0 to early_fixmap_init causes compiler error (BUILD_BUG failed)
Date: Sun, 23 Jan 2022 20:23:17 +0900 [thread overview]
Message-ID: <03ae01d8104b$9e579080$db06b180$@etri.re.kr> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 2512 bytes --]
Hello all,
In linux 5.4.21, when tell the compiler to use no optimzation for function
early_fixmap_init as below,
(I need to compile with O0 to follow what's happening here using gdb.)
#pragma GCC push_options
#pragma GCC optimze ("O0")
void __init early_fixmap_init(void)
{
...
}
#pragma GCC pop_options
I get this compiler error below. (make ARCH=arm64
CROSS_COMPILE=aarch64-none-elf- Image -j24)
CALL scripts/atomic/check-atomics.sh
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC arch/arm64/mm/mmu.o
CC drivers/irqchip/irq-gic-v3.o
In file included from ./include/linux/build_bug.h:5,
from ./arch/arm64/include/asm/sysreg.h:758,
from ./arch/arm64/include/asm/cputype.h:126,
from ./arch/arm64/include/asm/cache.h:8,
from ./include/linux/cache.h:6,
from arch/arm64/mm/mmu.c:9:
./arch/arm64/include/asm/pgalloc.h: In function '__pgd_populate.constprop':
./include/linux/compiler.h:350:38: error: call to '__compiletime_assert_88'
declared with attribute error: BUILD_BUG failed
350 | _compiletime_assert(condition, msg, __compiletime_assert_,
__LINE__)
| ^
./include/linux/compiler.h:331:4: note: in definition of macro
'__compiletime_assert'
331 | prefix ## suffix(); \
| ^~~~~~
./include/linux/compiler.h:350:2: note: in expansion of macro
'_compiletime_assert'
350 | _compiletime_assert(condition, msg, __compiletime_assert_,
__LINE__)
| ^~~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:39:37: note: in expansion of macro
'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:59:21: note: in expansion of macro
'BUILD_BUG_ON_MSG'
59 | #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed")
| ^~~~~~~~~~~~~~~~
./arch/arm64/include/asm/pgalloc.h:88:2: note: in expansion of macro
'BUILD_BUG'
88 | BUILD_BUG();
| ^~~~~~~~~
make[2]: *** [scripts/Makefile.build:265: arch/arm64/mm/mmu.o] Error 1
make[1]: *** [scripts/Makefile.build:509: arch/arm64/mm] Error 2
make: *** [Makefile:1652: arch/arm64] Error 2
make: *** Waiting for unfinished jobs....
AR drivers/irqchip/built-in.a
AR drivers/built-in.
What does this mean and what should I do?
Thanks!
Chan Kim
[-- Attachment #1.2: Type: text/html, Size: 11025 bytes --]
[-- Attachment #2: Type: text/plain, Size: 170 bytes --]
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
next reply other threads:[~2022-01-23 11:24 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-23 11:23 Chan Kim [this message]
2022-01-23 11:36 ` adding GCC optimze O0 to early_fixmap_init causes compiler error (BUILD_BUG failed) Chan Kim
2022-01-23 16:46 ` jim.cromie
2022-01-24 1:25 ` Chan Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='03ae01d8104b$9e579080$db06b180$@etri.re.kr' \
--to=ckim@etri.re.kr \
--cc=kernelnewbies@kernelnewbies.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.