> Ok, committed as obvious, in both branches, after regression-testing.
Thanks for spotting and fixing it.
--
Eric Botcazou
Hi,
On Fri, 29 Nov 2013 12:28:15, Eric Botcazou wrote:
>
>> I think I see a small flaw in that patch:
>> + /* Make sure not to write past the end of the struct. */
>> + store_bit_field (dest,
>> + adj_bytelen * BITS_PER_UNIT, bytepos * BITS_PER_UNIT,
>> + bytepos * BITS_PER_UNIT, ssize * BITS_PER_
> I think I see a small flaw in that patch:
> + /* Make sure not to write past the end of the struct. */
> + store_bit_field (dest,
> + adj_bytelen * BITS_PER_UNIT, bytepos * BITS_PER_UNIT,
> + bytepos * BITS_PER_UNIT, ssize * BITS_PER_UNIT,
> + VOIDmode, tmps[i]);
> the paramet
Hi Eric,
I think I see a small flaw in that patch:
+ /* Make sure not to write past the end of the struct. */
+ store_bit_field (dest,
+ adj_bytelen * BITS_PER_UNIT, bytepos * BITS_PER_UNIT,
+ bytepos * BITS_PER_UNIT, ssize * BITS_PER_UNIT,
+ VOIDmode, tmps[i]);
the parameter B
On 11/22/13 15:24, Eric Botcazou wrote:
Well, the baseline is:
eric@polaris:~/build/gcc/native> gcc/xgcc -v
Using built-in specs.
COLLECT_GCC=gcc/xgcc
Target: x86_64-suse-linux
Configured with: /home/eric/svn/gcc/configure --build=x86_64-suse-linux --
prefix=/home/eric/install/gcc --enable-langu
> It looks like this patch was for gcc-4.8; the code has changed a little
> since then.
Well, the baseline is:
eric@polaris:~/build/gcc/native> gcc/xgcc -v
Using built-in specs.
COLLECT_GCC=gcc/xgcc
Target: x86_64-suse-linux
Configured with: /home/eric/svn/gcc/configure --build=x86_64-suse-linux
On 11/22/13 12:44, Eric Botcazou wrote:
Hi,
this is a regression present on the mainline and 4.8 branch. emit_group_store
happily writes past the end of a packed structure, thus accessing a distinct
variable stored there. Then the scheduler swaps a couple of writes, leading
to wrong code. Fix
Hi,
this is a regression present on the mainline and 4.8 branch. emit_group_store
happily writes past the end of a packed structure, thus accessing a distinct
variable stored there. Then the scheduler swaps a couple of writes, leading
to wrong code. Fixed by preventing emit_group_store from