Re: [PATCH] cris: arch-v10: kernel: kgdb: let is_dyn_brkp as extern variable

From: Chen Gang
Date: Wed Jul 08 2015 - 21:26:04 EST


On 07/07/2015 06:28 AM, Chen Gang wrote:
> On 7/6/15 18:31, Valdis.Kletnieks@xxxxxx wrote:
>> On Mon, 06 Jul 2015 15:49:20 +0800, Chen Gang said:
>>> On 07/06/2015 02:25 AM, Valdis.Kletnieks@xxxxxx wrote:
>>>> On Sun, 05 Jul 2015 06:07:54 +0800, Chen Gang said:
>>>>> For upstream cris toolchain (gcc is 6.0
>>>>
>>>> typo?
>>>>
>>>
>>> Do you mean "toolchain" -> "tool chain"?
>>
>> No, I was wondering where a gcc 6.0 managed to escape when 5.1 just got
>> released about 2 weeks ago....
>>
>

Oh, sorry, gcc 5.1 has the same issue, and at present I guess:

- The new gcc have additional optimization for the static variables. It
should notice about the related c code when optimizing, but gcc has
no idea about assembly code (it should passes them to gas, directly).

- If one want gcc skip the related optimization, it can use 'volatile'
for it (the static variable which may be used by both c code and
assembly code in one file).

- So for me, we need add 'volatile' to the related static variable, we
do not want to disable this optimization only because of this issue.

Welcome any additional ideas, suggestions and completions.

> OK, thanks. At present, gcc 6.0 is the latest in master branch.
>
> After check fedora released toolchain (gcc 4.9.1, binutils 2.25), it has
> no issue (support static variable in our case). So this patch can be
> dropped, and I shall try:
>
> - Use the same configuration parameters of fedora released toolchain to
> build the upstream latest cross toolchain again, and try.
>
> - If it still has issue (not support static variable), I shall try to
> fix it.
>
>
> Thanks.
>

--
Chen Gang

Open, share, and attitude like air, water, and life which God blessed
--
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/