All of lore.kernel.org
 help / color / mirror / Atom feed
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

             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.