Steve Kargl | 22 Sep 03:23 2014
Picon

Is this a compiler bug?

#include <stdio.h>
#include <stdint.h>

int
main(void)
{
	uint16_t i;
	i = 0x3ff0+63; printf("%x\n", i);
	i = 0x3ff1+63; printf("%x\n", i);
	i = 0x3ff2+63; printf("%x\n", i);
	i = 0x3ff3+63; printf("%x\n", i);
	i = 0x3ff4+63; printf("%x\n", i);
	i = 0x3ff4+63; printf("%x\n", i);
	i = 0x3ff6+63; printf("%x\n", i);
	i = 0x3ff7+63; printf("%x\n", i);
	i = 0x3ff8+63; printf("%x\n", i);
	i = 0x3ff9+63; printf("%x\n", i);
	i = 0x3ffa+63; printf("%x\n", i);
	i = 0x3ffb+63; printf("%x\n", i);
	i = 0x3ffc+63; printf("%x\n", i);
	i = 0x3ffd+63; printf("%x\n", i);
	i = 0x3ffe+63; printf("%x\n", i);
	i = 0x3fff+63; printf("%x\n", i);
	return 0;
}

--

-- 
Steve

(Continue reading)

gccadmin | 22 Sep 00:42 2014
Picon

gcc-5-20140921 is now available

Snapshot gcc-5-20140921 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/5-20140921/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 5 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/trunk revision 215438

You'll find:

 gcc-5-20140921.tar.bz2               Complete GCC

  MD5=d28fac769a32250938245a511ad34624
  SHA1=9047ecc01d7e05ec4d75e82bb64e2c53537578b3

Diffs from 5-20140914 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-5
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.

avy st | 20 Sep 17:05 2014
Picon

Failue when trying to build native mingw32 4.9.1 gcc (c, c++, ada)

Hello, 
I'm trying to build a native mingw32 4.9.1 gcc (I want to build a 4.9.1 arm 
cross compiler, but I need a 4.9.1 host gcc for that, and the gcc that comes 
with mingw32 is 4.8.1) 
I configure with: 
../../src/gcc-4.9.1/configure --prefix=/mingw --host=mingw32 --build=mingw32 
--without-pic --enable-shared --enable-static --with-gnu-ld --enable-lto 
--enable-libssp --disable-multilib --enable-languages=c,c++,ada 
--disable-sjlj-exceptions --with-dwarf2 --disable-win32-registry 
--enable-libstdcxx-debug --enable-version-specific-runtime-libs 
--with-system-zlib --with-gnu-as --enable-decimal-float=yes --enable-libgomp 
--enable-threads --with-libiconv-prefix=/mingw32 
--with-libintl-prefix=/mingw --disable-bootstrap LDFLAGS=-s 
CFLAGS=-D_USE_32BIT_TIME_T 
(This is extracted from the 4.8.1 mingw32 native compiler by "gcc -v") 
I'm getting the following error message - like ld does not recognize 
/mingw/lib: 
#  <at> multilib_flags <at>  is still needed because this may use 
# /d/crossbuild/mingw32/gcc-4.9.1/./gcc/xgcc 
-B/d/crossbuild/mingw32/gcc-4.9.1/./gcc/ 
-L/d/crossbuild/mingw32/gcc-4.9.1/mingw32/winsup/mingw 
-L/d/crossbuild/mingw32/gcc-4.9.1/mingw32/winsup/w32api/lib -isystem 
/d/crossbuild/src/gcc-4.9.1/winsup/mingw/include -isystem 
/d/crossbuild/src/gcc-4.9.1/winsup/w32api/include -B/mingw/mingw32/bin/ 
-B/mingw/mingw32/lib/ -isystem /mingw/mingw32/include -isystem 
/mingw/mingw32/sys-include    and -O2 
-I../../../../src/gcc-4.9.1/libgcc/../winsup/w32api/include -g -O2 
-D_USE_32BIT_TIME_T -DIN_GCC    -W -Wall -Wno-narrowing -Wwrite-strings 
-Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition 
-isystem ./include  -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector 
(Continue reading)

Jonathan Wakely | 20 Sep 01:01 2014
Picon

Re: Fwd: Building gcc-4.9 on OpenBSD

On 19 September 2014 16:21, Ian Grant wrote:
> Thanks. But I asked what the non-vanilla sources were.  I know what
> the vanilla sources are, because I'm using them!

The non-vanilla sources are everything else. That should be pretty obvious.

Are you just intentionally trying to waste everyone's time?

Ajit Kumar Agarwal | 19 Sep 18:15 2014

Global Value Numbering on SSA representation based on Redundancy Class

Hello All:

Please find the different Global Value numbering techniques on SSA representation  and proposing in GCC
Global Value Numbering on SSA representation based on Redundancy Class. Can this be proposed.

SSA representation with control graph can be formulated with Global Value Numbering Algorithm. The GVN
Algorithm assigns the value numbers for the expression based on hashing, value partitioning, SCC on SSA
Graph and Dominator. Value partitioning is based on congruent classes and the Dominator is based on
traversing the dominator tree in reverse post order and assign the values to the expression. The SCC based
on SSA graph is based on traversing the SSA graph in reverse post order and assign the value numbers based on
optimistic and valid table.

Different optimization based on GVN are useful like redundant expression elimination, redundant load
and stores , Common Sub expression elimination, reassociation and value redundancy.

Global value numbering is proposed on redundancy class assign to expression based on renaming scheme on
SSA representation. The variable renaming scheme is extended to expressions in the SSA representation.
The redundancy class along with the SSA graph and the SCC representation of the SSA Graph is proposed in
this paper. The redundancy class concept is taken from the Fred Chow paper on PRE on SSA. Based on the
redundancy class new set of nodes like phi are inserted which takes the operands as redundancy class and
this set of phi nodes are used along with redundancy class number are used using the optimistic table and
the valid table as suggested by Simpson on value numbering on SCC based SSA Graphs.

This will help to perform the optimization as mentioned above in the SSA representation.

 Value based partitioning:

Value based partitioning assigns the values based on partitoning the congruent classes. Two expressions
are congruent if they have same opcode and each operand has to be congruent. This is the recursive based
definition. Based on the congruency initial partition is created which keep on growing with different
(Continue reading)

Rogelio Serrano | 19 Sep 14:15 2014
Picon

gcc 4.7.4 lto build failure

/home/rogelio/gcc-build/./prev-gcc/g++
-B/home/rogelio/gcc-build/./prev-gcc/ -B/x86_64-unknown-linux-gnu/bin/
-nostdinc++ -B/home/rogelio/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/home/rogelio/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs
-I/home/rogelio/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
-I/home/rogelio/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include
-I/home/rogelio/gcc-4.7.4/libstdc++-v3/libsupc++
-L/home/rogelio/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-L/home/rogelio/gcc-build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs
  -g -O2 -flto=jobserver -frandom-seed=1 -fprofile-use -DIN_GCC
-fno-exceptions -fno-rtti -W -Wall -Wno-narrowing -Wwrite-strings
-Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H
-static-libstdc++ -static-libgcc  -o cc1 c-lang.o c-family/stub-objc.o
attribs.o c-errors.o c-decl.o c-typeck.o c-convert.o c-aux-info.o
c-objc-common.o c-parser.o tree-mudflap.o c-family/c-common.o
c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o
c-family/c-gimplify.o c-family/c-lex.o c-family/c-omp.o
c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o
c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o
c-family/c-ada-spec.o i386-c.o default-c.o \
  cc1-checksum.o main.o  libbackend.a libcommon-target.a libcommon.a
../libcpp/libcpp.a ../libdecnumber/libdecnumber.a libcommon.a
../libcpp/libcpp.a   ../libiberty/libiberty.a
../libdecnumber/libdecnumber.a    -lmpc -lmpfr -lgmp -rdynamic -ldl
-lz
c-family/c-format.o (symbol from plugin): warning: memset used with
constant zero length parameter; this could be due to transposed
parameters
collect2: error: ld returned 1 exit status
(Continue reading)

gccadmin | 19 Sep 00:42 2014
Picon

gcc-4.8-20140918 is now available

Snapshot gcc-4.8-20140918 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/4.8-20140918/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 4.8 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch revision 215364

You'll find:

 gcc-4.8-20140918.tar.bz2             Complete GCC

  MD5=c7ec8bf43b10eb40b650e1c6f7fa733b
  SHA1=8d6fe878bcd315918aadceb45a12aa200a6f99e4

Diffs from 4.8-20140911 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-4.8
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.

Ian Grant | 18 Sep 23:38 2014

Re: Fwd: Building gcc-4.9 on OpenBSD

On Thu, Sep 18, 2014 at 5:37 PM, Ian Grant <ian.a.n.grant <at> googlemail.com> wrote:
>
> On Thu, Sep 18, 2014 at 5:22 PM, Tobias Ulmer <tobiasu <at> tmux.org> wrote:
>>
>> On Wed, Sep 17, 2014 at 01:26:48PM -0400, Ian Grant wrote:
>> > The reason I'm doing this is that I want to understand why the total
>> > size of the binaries grew from around 10MB (gcc v 4.5) to over 70MB in
>> > 4.9
>>
>> There is indeed a problem with huge binaries on OpenBSD/arm, which I've
>> not yet figured out, but i386/amd64/sparc64 are fine.
>
>
> I don't have huge binaries (c.f. "Buster Gonad and his Infeasibly Large Testicles") on Open BSD. I have
them on i686-pc-linux-gnu.
>
> -rwxr-xr-x 1 ian3 ian3  64M 2014-08-03 01:18 cc1
> -rwxr-xr-x 1 ian3 ian3  65M 2014-08-03 01:18 cc1obj
> -rwxr-xr-x 1 ian3 ian3  68M 2014-08-03 01:18 cc1plus
> -rwxr-xr-x 1 ian3 ian3 1.8M 2014-08-03 01:18 collect2
> -rwxr-xr-x 1 ian3 ian3  65M 2014-08-03 01:18 f951
>
>> Are you trying to build gcc from the vanilla sources? If so, you're in
>> for a treat...
>
>
> I didn't know there was chocolate source! Where is it?! And why is it a secret?
>
> Ian
>
(Continue reading)

Martin Liška | 18 Sep 23:17 2014
Picon

LTO testsuite - single test execution

Hello.

I would to introduce a new test case for an issue (PR63270). I was looking for *.exp files and I expected that
another test located in: ./gcc/testsuite/g++.dg/lto/pr63166_0.ii can be executed with: make check -k RUNTESTFLAGS="lto.exp=pr63166*"

But without succeed. Another interesting issue is running: 'make check-lto', where I was given:
make: *** No rule to make target `check-lto'.  Stop.

Can you please help my with a LTO test integration?

Thanks,
Martin

Yury Gribov | 18 Sep 13:09 2014

[RFC] Add asm constraint modifier to mark strict memory accesses

Hi all,

Current semantics of memory constraints in GCC inline asm (i.e. "m", 
"v", etc.) is somewhat loosy in that it tells GCC that asm code _may_ 
access given amount of bytes but is not guaranteed to do so. This is 
(ab)used by e.g. glibc (and also some pieces of kernel):
__STRING_INLINE void *
__rawmemchr (const void *__s, int __c)
{
...
   __asm__ __volatile__
     ("cld\n\t"
      "repne; scasb\n\t"
...
        "m" ( *(struct { char __x[0xfffffff]; } *)__s)

Imprecise size specification prevents code analysis tools from 
understanding semantics of inline asm (without parsing inline asm 
instructions which e.g. Asan in Clang tries to do). In particular we 
can't automatically instrument inline asm in kernel with Kasan because 
we can not determine exact access size (see e.g. discussion in 
https://gcc.gnu.org/ml/gcc-patches/2014-05/msg02530.html).

Would it make sense to add another constraint modifier (like "=", "&", 
etc.) that would tell compiler/tool that memory access in asm is 
_guaranteed_ to have the specified size?

-Y

(Continue reading)

Yury Gribov | 18 Sep 11:46 2014

Backporting KAsan patches to 4.9 branch

Hi all,

Kernel Asan patches are currently being discussed in LKML. One of the 
points raised during review was that KAsan requires GCC 5.0 which is 
presumably unstable (e.g. compilation of kernel modules has been broken 
for two months due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61848).

Would it make sense to backport Kasan-related patches to 4.9 branch to 
make this feature more accessible to kernel developers? Quick analysis 
showed that at the very least this would require
* r211091 (BUILT_IN_ASAN_REPORT_LOAD_N and friends)
* r211092 (instrument unaligned accesses)
* r211713 and r211699 (New asan-instrumentation-with-call-threshold 
parameter)
* r213367 (initial support for -fsanitize=kernel-address)
and also maybe ~10 bugfix patches.

Is it ok to backport these to 4.9? Note that I would discard patches for 
other sanitizers (UBsan, Tsan).

-Y


Gmane