Re: Possible Bug with darwin_asm_named_section() in gcc/config/darwin.c
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
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
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 ?
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/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 ?
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
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
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