Re: Possible Bug with darwin_asm_named_section() in gcc/config/darwin.c

2010-07-03 Thread Mike Stump
On Jul 1, 2010, at 11:29 PM, Eric Siroker wrote:
> I'm getting the frontend for the Go programming language to work in
> Darwin.  I encountered what looks like a bug in Darwin-specific gcc
> code.

You are obligated to spell the name of the section correctly...

$ cat t.s
.section __TEXT,__go_export
sym1:   .long 1
.section __DATA,__go_export
sym2:   .long 2
c-98-210-246-208:gcc mrs$ gcc t.s -c
c-98-210-246-208:gcc mrs$ nm -m t.o
 (__TEXT,__go_export) non-external sym1
0004 (__DATA,__go_export) non-external sym2

Now, if you want, I'll approve a change to prepend a __DATA, if there is no , 
already in the string.  Bear in mind, there are only ~250 sections allowed, so, 
go easy on the number you want to create.  Also, bear in mind, there are 
optional flags at the end that you might need to use, depending upon the 
section contents.


Re: Possible Bug with darwin_asm_named_section() in gcc/config/darwin.c

2010-07-03 Thread Steven Bosscher
On Sat, Jul 3, 2010 at 6:42 PM, Mike Stump  wrote:
> On Jul 1, 2010, at 11:29 PM, Eric Siroker wrote:
>> I'm getting the frontend for the Go programming language to work in
>> Darwin.  I encountered what looks like a bug in Darwin-specific gcc
>> code.
>
> You are obligated to spell the name of the section correctly...
>
> $ cat t.s
>        .section __TEXT,__go_export
> sym1:   .long 1
>        .section __DATA,__go_export
> sym2:   .long 2
> c-98-210-246-208:gcc mrs$ gcc t.s -c
> c-98-210-246-208:gcc mrs$ nm -m t.o
>  (__TEXT,__go_export) non-external sym1
> 0004 (__DATA,__go_export) non-external sym2
>
> Now, if you want, I'll approve a change to prepend a __DATA, if there is no , 
> already in the string.  Bear in mind, there are only ~250 sections allowed, 
> so, go easy on the number you want to create.  Also, bear in mind, there are 
> optional flags at the end that you might need to use, depending upon the 
> section contents.
>

Please, configure and test with --enable-lto.

Ciao!
Steven


[patch] Fix ChangeLog entries that belong in c-family/ChangeLog

2010-07-03 Thread Steven Bosscher
Hello,

gcc/c-family/ChangeLog exists for c-family changes. The patch below
fixes a few incorrect ChangeLog entries in gcc/ChangeLog. Will commit
as obvious.

Ciao!
Steven


Index: ChangeLog
===
--- ChangeLog   (revision 161778)
+++ ChangeLog   (working copy)
@@ -2060,8 +2060,6 @@
(enable_warning_as_error): Likewise.
* diagnostic-core.h (DK_POP): Add after "real" diagnostics, for
use in the history chain.
-   * c-family/c-pragma.c (handle_pragma_diagnostic): Add push/pop,
-   allow these pragmas anywhere.
* doc/extend.texi: Document pragma GCC diagnostic changes.

 2010-06-21  Jakub Jelinek  
@@ -2796,10 +2794,6 @@

PR bootstrap/44509
* c-config-lang.in (gtfiles): Add c-family/c-cppbuiltin.c.
-   * c-family/c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
-   (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
-   (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
-   ggc_strdup instead of xstrdup.

 2010-06-14  Ira Rosen  

@@ -2991,10 +2985,6 @@

 2010-06-10  Jakub Jelinek  

-   * c-family/c-cppbuiltin.c: Include cpp-id-data.h.
-   (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
-   (lazy_hex_fp_value): New function.
-   (builtin_define_with_hex_fp_value): Provide definitions lazily.
* Makefile.in (c-family/c-cppbuiltin.o): Depend on $(CPP_ID_DATA_H).

 2010-06-11  Sebastian Pop  
Index: c-family/ChangeLog
===
--- c-family/ChangeLog  (revision 161778)
+++ c-family/ChangeLog  (working copy)
@@ -1,3 +1,23 @@
+2010-06-21  DJ Delorie  
+
+   * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
+   allow these pragmas anywhere.
+
+2010-06-14  Jakub Jelinek  
+
+   PR bootstrap/44509
+   * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
+   (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
+   (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
+   ggc_strdup instead of xstrdup.
+
+2010-06-10  Jakub Jelinek  
+
+   * c-cppbuiltin.c: Include cpp-id-data.h.
+   (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
+   (lazy_hex_fp_value): New function.
+   (builtin_define_with_hex_fp_value): Provide definitions lazily.
+
 2010-06-30  Manuel Lpez-Ibez  

* c-gimplify.c: Do not include tree-flow.h


-finline-functions default with -Os ?

2010-07-03 Thread Frédéric L. W. Meunier
Here, -finline-functions appears to be the default using -Os 
with GCC 4.4.4 on Linux (tested with k8-sse3 and 486).


But according to the man page, "Enabled at level -O3". Does the 
manual need a fix ?


The info page also states -Os disables

"-falign-functions -falign-jumps -falign-loops -falign-labels 
-freorder-blocks -freorder-blocks-and-partition 
-fprefetch-loop-arrays -ftree-vect-loop-version"


but -falign-loops -freorder-blocks -ftree-vect-loop-version 
seem to be in.


Or all these vary by processor ?

As I see, -O2 to -Os only adds -finline-functions and removes 
-maccumulate-outgoing-args ?


Re: -finline-functions default with -Os ?

2010-07-03 Thread Steven Bosscher
2010/7/3 Frédéric L. W. Meunier :
> Here, -finline-functions appears to be the default using -Os with GCC 4.4.4
> on Linux (tested with k8-sse3 and 486).
>
> But according to the man page, "Enabled at level -O3". Does the manual need
> a fix ?

Yes, it should say "Enabled at levels -O3 and -Os".


> The info page also states -Os disables
>
> "-falign-functions -falign-jumps -falign-loops -falign-labels
> -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays
> -ftree-vect-loop-version"
>
> but -falign-loops -freorder-blocks -ftree-vect-loop-version seem to be in.
>
> Or all these vary by processor ?

I do not see align-loops set, and -freorder-blocks is definitely not
in. If -ftree-vect-loop-version is in, that would be a bug.

What target are you looking at, and what are you looking at that
suggests these options are enabled?


> As I see, -O2 to -Os only adds -finline-functions and removes
> -maccumulate-outgoing-args ?

No, also some parameters for heuristics take different default values.

Ciao!
Steven


Re: -finline-functions default with -Os ?

2010-07-03 Thread Frédéric L. W. Meunier

On Sat, 3 Jul 2010, Steven Bosscher wrote:


2010/7/3 Frédéric L. W. Meunier:

The info page also states -Os disables

"-falign-functions -falign-jumps -falign-loops -falign-labels
-freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays
-ftree-vect-loop-version"

but -falign-loops -freorder-blocks -ftree-vect-loop-version seem to be in.

Or all these vary by processor ?


I do not see align-loops set, and -freorder-blocks is definitely not
in. If -ftree-vect-loop-version is in, that would be a bug.

What target are you looking at, and what are you looking at that
suggests these options are enabled?


For example, using -fverbose-asm -S -Os (which here defaults to 
-mtune=i486 -march=i486) on Linux x86, returns them, so I guess 
they're in ?


This is GCC 4.4.4 from Slackware 13.1.

gcc-4.6-20100703 is now available

2010-07-03 Thread gccadmin
Snapshot gcc-4.6-20100703 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/4.6-20100703/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

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

You'll find:

gcc-4.6-20100703.tar.bz2  Complete GCC (includes all of below)

gcc-core-4.6-20100703.tar.bz2 C front end and core compiler

gcc-ada-4.6-20100703.tar.bz2  Ada front end and runtime

gcc-fortran-4.6-20100703.tar.bz2  Fortran front end and runtime

gcc-g++-4.6-20100703.tar.bz2  C++ front end and runtime

gcc-java-4.6-20100703.tar.bz2 Java front end and runtime

gcc-objc-4.6-20100703.tar.bz2 Objective-C front end and runtime

gcc-testsuite-4.6-20100703.tar.bz2The GCC testsuite

Diffs from 4.6-20100626 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-4.6
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.


Re: Plug-ins on Windows

2010-07-03 Thread Joern Rennecke

Quoting Kyle Girard :


A generic linked-in plugin ability would definitely solve my
plugin-on-windows problem.  From what I've been reading on this list it
looks like I'm going to have to do some sort of similar hack to gcc to
get my plugin working on windows at least in the short term.


I hacked GNU hello 1.3 a little to make it work as a linked-in GCC plugin,
thus bringing much needed mail reader funtionality to GCC.  Well, at least
on unix-like systems with mailboxes it does.

So during configuration, I added:
--enable-link-plugins=all
alternatively, it should be possible to specify a list, although I
haven't tested this.

When you've built your compiler, you can access the GNU hello functionality
via -fplugin / -fplugin-arg:

[amyl...@laria gcc]$ ./xgcc -B. -fplugin=hello -fplugin-arg-hello-h -x  
c /dev/null -c

This is GNU Hello, THE greeting printing program.
Usage: -fplugin=hello
{ -fplugin-arg-hello([h[elp]] | [t[raditional]] | [v[ersion]] | [m[ail]]) }
  h[elp]Print a summary of the options
  t[raditional] Use traditional greeting format
  v[ersion] Print plugin version information
  m[ail]Print your mail
[amyl...@laria gcc]$ ./xgcc -B. -fplugin=hello  
-fplugin-arg-hello-sailor -x c /dev/null -c

Nothing happens here.

The attached patch still has some rough edges, like missing main gcc
ChangeLog, missing documentation, no dso building implemented (should  
eventually work both in-tree to be installed in the plugin dir and

out-of-tree with a previous built compiler).

I though it'd make sense to ask first if the patch so far goes in the  
right direction.


link-plugin-diff.bz2
Description: BZip2 compressed data