Re: arm: kprobe compilation error

From: Wang Nan
Date: Tue Feb 10 2015 - 03:29:09 EST


On 2015/2/9 19:00, Janusz UÅycki wrote:
>
> W dniu 2015-02-09 o 10:44, Jon Medhurst (Tixy) pisze:
>> Hi Janusz
>>
>> On Thu, 2015-02-05 at 16:17 +0100, Janusz UÅycki wrote:
>>> I got the compilation error on next-20150204:
>>>
>> [...]
>>> In file included from arch/arm/probes/kprobes/core.c:37:
>>> arch/arm/probes/kprobes/core.h:43: error: '[*]' not allowed in other
>>> than a declaration
>> [...]
>>> gcc version 4.2.4
>> Thanks for reporting this, is it OK if I add to a patch to fix this a
>> line saying "Reported-by: Janusz UÅycki <j.uzycki@xxxxxxxxxxxxxx>"?
>
> sure
>
>>
>> Whilst the extra '*' looks like an obvious typo, it's interesting that
>> your error message implies that it's allowed in some situations and that
>> the version of GCC that I use (4.9.1) doesn't complain about it.
>> If it's valid C, I've no idea what that syntax that might represent.
>>
> I've not find such extension in C11 but likely gcc's team knows the answer.
> It also compiles using gcc 4.8.3. However I thing more people use older compilers
> for different platforms.
>

Hi All,

Thanks for reporting and fixing this.

When writing this code I checked C spec from open-std (n1548 and n1570). I got an
feeling that [*] should be a standard way to specify variable length array types.
Please see 6.7.6.3 and 6.7.7 of the spec. However I forgot there are old gccs which
don't support that standard.

Thank you!

> best regards
> Janusz
>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/