http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60947

            Bug ID: 60947
           Summary: [4.9 Regression] Unable to handle kernel paging
                    request (linux kernel 2.6.28.9) with gcc 4.9 release
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: yufan8.chen at gmail dot com
            Target: arm-none-linux-gnueabi

Created attachment 32670
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32670&action=edit
kernel oops message

When running linux kernel (2.6.28.9) compiled by gcc 4.9.0, I got "unable to
handle kernel paging request" on snd_pcm_hw_constraints_init().

Then I tried to debug it and found that:

int snd_pcm_hw_constraints_init(struct snd_pcm_substream *substream)
{
        struct snd_pcm_runtime *runtime = substream->runtime;
        struct snd_pcm_hw_constraints *constrs = &runtime->hw_constraints;
        int k, err;

        for (k = SNDRV_PCM_HW_PARAM_FIRST_MASK; k
<=SNDRV_PCM_HW_PARAM_LAST_MASK; k++) {
             //printk("1234567\n");                      
             snd_mask_any(constrs_mask(constrs, k));
        }

        ...
}

When I added a "printk()" statement in the for loop, the kernel could work
correctly, otherwise it couldn't.

The gcc command:
arm-linux-gcc -Wp,-MD,sound/core/.pcm_native.o.d  -nostdinc -isystem
/opt/Mozart3_Toolchain/arm-eabi-uclibc/usr/lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.9.0/include
-D__KERNEL__ -Iinclude 
-I/home/blackjack/MyGit/CEO_Project/mozart_kernel/arch/arm/include -include
include/linux/autoconf.h -mlittle-endian -Iarch/arm/mach-mozart/include -Wall
-Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
-Werror-implicit-function-declaration -Os -marm -fno-omit-frame-pointer -mapcs
-mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -D__LINUX_ARM_ARCH__=5
-march=armv5te -mtune=arm9tdmi -msoft-float -Uarm -Wframe-larger-than=0
-fno-stack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls
-Wdeclaration-after-statement -Wno-pointer-sign -fwrapv  -D"KBUILD_STR(s)=#s"
-D"KBUILD_BASENAME=KBUILD_STR(pcm_native)" 
-D"KBUILD_MODNAME=KBUILD_STR(snd_pcm)"  -c -o sound/core/pcm_native.o
sound/core/pcm_native.c

Reply via email to