Nicola Pero | 1 Mar 2011 01:40

Re: Fix for PR libobjc/47922 ("[4.6 Regression] libobjc crashes with garbage collection in any real-life program")


>> add these in 4.7 (hopefully at the same time we should also make the change to install
>> properly the GC library when GC is enabled!). ;-)
>
> why? it's built as a convenience library, and the object files are linked into
> libobjc_gc.

I had a problem with gnustep-base requiring the header gc/gc.h, which is not installed when I install
GCC.  The reason it requires it seems to be that the new trend is gnustep-base not using objc_malloc(),
but calling the GC library directly.  Higher-level libraries then use NSAllocateCollectable() & friends
to allocate memory, which is provided by gnustep-base.

Let me know if I'm missing something. ;-)

Thanks

Ralf Wildenhues | 1 Mar 2011 06:07
Picon
Picon

Re: Move ChangeLog entry to correct location

Hello Ian,

* Ian Lance Taylor wrote on Tue, Mar 01, 2011 at 12:02:10AM CET:
> I committed this patch to move a ChangeLog entry to the correct
> ChangeLog file.
> 
> I know it's confusing.

I generate my ChangeLog entries; I just needed to update my .vc-chlogrc
to list gcc/go/ChangeLog as a separate log file.

Thanks for the pointer, and taking care of this,
Ralf

> --- gcc/ChangeLog	(revision 170576)
> +++ gcc/ChangeLog	(working copy)
>  <at>  <at>  -729,10 +729,6  <at>  <at> 
>  	Define nframes, mctx.  Use IS_SIGHANDLER, handler_args, mctx, walk
>  	stack instead of hardcoded offsets.
>  
> -2011-02-14  Ralf Wildenhues  <Ralf.Wildenhues <at> gmx.de>
> -
> -	* go/gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
> -
>  2011-02-14  Andriy Gapon  <avg <at> freebsd.org>
>  
>  	PR target/45808

> --- gcc/go/ChangeLog	(revision 170576)
> +++ gcc/go/ChangeLog	(working copy)
(Continue reading)

Richard Henderson | 1 Mar 2011 07:32
Picon
Favicon

Re: [PATCH] Fix a clash between temp_slot and add_frame_space free stack slot handling (PR middle-end/47893)

On 02/26/2011 07:31 AM, Jakub Jelinek wrote:
> 2011-02-25  Bernd Schmidt  <bernds <at> codesourcery.com>
> 	    Jakub Jelinek  <jakub <at> redhat.com>
> 
> 	PR middle-end/47893
> 	* rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
> 	(assign_stack_local_1): Change last argument type to int.
> 	* function.c (assign_stack_local_1): Replace reduce_alignment_ok
> 	argument with kind.  If bit ASLK_RECORD_PAD is not set in it,
> 	don't record padding space into frame_space_list nor
> 	use those areas.
> 	(assign_stack_local): Adjust caller.
> 	(assign_stack_temp_for_type): Call assign_stack_local_1 instead
> 	of assign_stack_local, pass 0 as last argument.
> 	* caller-save.c (setup_save_areas): Adjust assign_stack_local_1
> 	callers.
> 
> 	* gcc.dg/pr47893.c: New test.

Ok.

r~

Richard Guenther | 1 Mar 2011 11:05
Picon

Re: PR rtl-optimization/47925: deleting trivially live instructions

On Tue, Mar 1, 2011 at 12:29 AM, Eric Botcazou <ebotcazou <at> adacore.com> wrote:
>> The bug showed up as a wrong-code regression in a modified version of Qt,
>> but I haven't yet found a testcase that fails with 4.6 but passes with
>> an older GCC.  Is the patch OK now regardless, or should it wait for 4.7?
>
> Fine for 4.6 with me, but I think you also need an ack from a RM.

Ok with me.

Richard.

>>       PR rtl-optimization/47925
>>       * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
>>       with side effects.  Remove the more-specific check for volatile asms.
>
> OK if you adjust the head comment of the function.
>
> --
> Eric Botcazou
>

lauras | 1 Mar 2011 11:59

[4.7][gc-improv] PATCH: move Valgrind header checks from valgrind to misc checking (issue4250047)

As discussed in the thread starting at http://gcc.gnu.org/ml/gcc/2011-01/msg00363.html , 
this patch moves Valgrind header detection from "valgrind" checking to "misc" and enables
the latter whenever the former is enabled.

If only "misc" is enabled, then Valgrind header presence is optional.

I plan to followup with another patch that adds new configure option 
--enable-valgrind-annotations that is orthogonal to checking and causes configure to fail 
if headers are not present.  Also I will update wwwdocs once this is accepted to trunk.

Tested on gc-improv for a last month or so.

Will commit to gc-improv shortly.  Ok for 4.7?

2011-02-28  Laurynas Biveinis  <laurynas.biveinis <at> gmail.com>

	* configure.ac: Enable "misc" checking if "valgrind" checking is
	requested.  Move Valgrind header check from "valgrind" to "misc"
	checking.
	* configure: Regenerated.

Index: gcc/configure
===================================================================
--- gcc/configure	(revision 169049)
+++ gcc/configure	(working copy)
 <at>  <at>  -6585,7 +6585,7  <at>  <at> 
 	runtime)	ac_runtime_checking=1 ;;
 	tree)		ac_tree_checking=1 ;;
 	types)		ac_types_checking=1 ;;
-	valgrind)	ac_valgrind_checking=1 ;;
(Continue reading)

Laurynas Biveinis | 1 Mar 2011 12:17
Picon
Gravatar

PATCH: comment typo

Committed to gc-improv, will commit to trunk when I get around it.

2011-03-01  Laurynas Biveinis  <laurynas.biveinis <at> gmail.com>

            * varpool.c (varpool_finalize_decl): Fix typo in comment.

Index: varpool.c
===================================================================
--- varpool.c	(revision 169049)
+++ varpool.c	(working copy)
 <at>  <at>  -395,8 +395,8  <at>  <at> 
   return true;
 }

-/* Mark DECL as finalized.  By finalizing the declaration, frontend instruct the
-   middle end to output the variable to asm file, if needed or externally
+/* Mark DECL as finalized.  By finalizing the declaration, frontend instructs
+   the middle end to output the variable to asm file, if needed or externally
    visible.  */
 void
 varpool_finalize_decl (tree decl)

Alexandre Lissy | 1 Mar 2011 12:43

[MELT] Fixing compilation process

Hello,

I'm submitting those patches that deals with gcc's melt branch. Their
purpose is to fix the compilation process for two issues that I have
spotted while preparing RPMs for Mandriva:
 - We (I don't know why) have -Wp,-D_FORTIFY_SOURCE=2 that gets in the
   CFLAGS, and that's grabbed by MELT to be given to cc1 process.
   However, this provokes an error, as -Wp,-D_FORFITY_SOURCE=2 is said
   to be valid for the driver but not for cc1. Therefore, the fix I
   propose is to strip any reference to -Wp,-D_FORTIFY_SOURCE=2 in
   CFLAGS that melt passes to cc1 directly.
 - We also, in the same build process, passes -pipe directly to cc1.
   This results in the same errors, therefore the proposed patch also
   removes -pipe from flags for cc1.
This is it for the first patch.

 - Another issue is that while building melt modules, some paths are
   constructed with double slashes. It's bogus for RPM's debugedit, so I
   propose a patch that removes unnecessary slashes from the build
   process.
This is for the second patch

 - Latest patch is a trivial run of 'autogen melt-build.def'.

With those modifications, latest revision of melt-branch is able to
compile (not yet finally packaged, but at least we build!).

And I forgot to add that we are covered by agreement RT 319903.

(Continue reading)

Alexandre Lissy | 1 Mar 2011 12:43

[PATCH 2/3] Fix double '/' in MELT build process

Double slashes while building are a problem for RPM's debugedit tool,
which seems to be 'well-known', while never fixed. The only solution is
to fix the build process. Also, remove any trailing slash from
MELTMODULE_SRCDIR variable, since slashes are added when used.
---
 gcc/melt-build.tpl |    8 ++++----
 gcc/melt-module.mk |    2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/gcc/melt-build.tpl b/gcc/melt-build.tpl
index 20c0012..4666990 100644
--- a/gcc/melt-build.tpl
+++ b/gcc/melt-build.tpl
 <at>  <at>  -107,7 +107,7  <at>  <at>  melt-stage0-static/[+base+]-0.so: $(MELT_GENERATED_[+mkvarsuf+]_C_FILES) \
              melt-run.h melt-runtime.h melt-runtime.c \
              melt-predef.h $(melt_make_cc1_dependency)
 	+$(MELT_MAKE_MODULE) melt_module \
-              GCCMELT_MODULE_WORKSPACE=melt-stage0-static/ \
+              GCCMELT_MODULE_WORKSPACE=melt-stage0-static \
 	      GCCMELT_CFLAGS="$(melt_cflags)" \
 	      GCCMELT_MODULE_SOURCE=$(melt_make_source_dir)/generated/[+base+]-0.c \
               GCCMELT_MODULE_BINARY=melt-stage0-static/[+base+]-0
 <at>  <at>  -117,7 +117,7  <at>  <at>  melt-stage0-dynamic/[+base+]-0.d.so: $(MELT_GENERATED_[+mkvarsuf+]_C_FILES) \
              melt-run.h melt-runtime.h melt-runtime.c \
              melt-predef.h $(melt_make_cc1_dependency)
 	+$(MELT_MAKE_MODULE) melt_module_dynamic \
-              GCCMELT_MODULE_WORKSPACE=melt-stage0-dynamic/ \
+              GCCMELT_MODULE_WORKSPACE=melt-stage0-dynamic \
 	      GCCMELT_CFLAGS="$(melt_cflags)" \
 	      GCCMELT_MODULE_SOURCE=$(melt_make_source_dir)/generated/[+base+]-0.c \
(Continue reading)

Alexandre Lissy | 1 Mar 2011 12:43

[PATCH 1/3] Fix RPM compilation

The GCC's options -pipe and -Wp,-D_FORTIFY_SOURCE=2 are passed by
default by Mandriva's GCC RPM spec file, and end up in some parts of
MELT CFLAGS. But they should not end up there.
---
 gcc/Makefile.in |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 3f1ffa0..f841776 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
 <at>  <at>  -5341,6 +5341,7  <at>  <at>  MELT_RAW_CFLAGS= \
 ## since the generated routines are no more huge (since the
 ## initialization code is split in several chunks).. Likewise, avoid
 ## passing -gtoggle and -g
+## Also remove -pipe and -Wp,-D_FORTIFY_SOURCE=2
 MELTHERE_CFLAGS= $(filter-out -g, $(filter-out -gtoggle, $(MELT_RAW_CFLAGS)))
 export MELTHERE_CFLAGS

 <at>  <at>  -5430,7 +5431,10  <at>  <at>  melt_make_source_dir=$(srcdir)/melt
 melt_make_module_dir=$(objdir)
 melt_make_move=$(SHELL) $(srcdir)/../move-if-change
 ## Don't use := definitions here!
-melt_make_cc1flags= -I. $(MELTHERE_CFLAGS) -I $(melt_build_include_dir)
+## CC1 forbids -pipe and -Wp,-D_FORTIFY_SOURCE=2
+comma= ,
+MELTHERE_CC1_CFLAGS=$(filter-out -pipe -Wp$(comma)-D_FORTIFY_SOURCE=2, $(MELTHERE_CFLAGS))
+melt_make_cc1flags= -I. $(MELTHERE_CC1_CFLAGS) -I $(melt_build_include_dir)
 melt_cflags=  -I. $(MELTHERE_CFLAGS) -I $(melt_build_include_dir)
 export melt_cflags
(Continue reading)

Alexandre Lissy | 1 Mar 2011 12:43

[PATCH 3/3] Regenerating melt-build.mk

---
 gcc/melt-build.mk |  128 ++++++++++++++++++++++++++--------------------------
 1 files changed, 64 insertions(+), 64 deletions(-)

diff --git a/gcc/melt-build.mk b/gcc/melt-build.mk
index f00e43b..e75229e 100644
--- a/gcc/melt-build.mk
+++ b/gcc/melt-build.mk
 <at>  <at>  -164,7 +164,7  <at>  <at>  melt-stage0-static/warmelt-first-0.so: $(MELT_GENERATED_FIRST_C_FILES) \
              melt-run.h melt-runtime.h melt-runtime.c \
              melt-predef.h $(melt_make_cc1_dependency)
 	+$(MELT_MAKE_MODULE) melt_module \
-              GCCMELT_MODULE_WORKSPACE=melt-stage0-static/ \
+              GCCMELT_MODULE_WORKSPACE=melt-stage0-static \
 	      GCCMELT_CFLAGS="$(melt_cflags)" \
 	      GCCMELT_MODULE_SOURCE=$(melt_make_source_dir)/generated/warmelt-first-0.c \
               GCCMELT_MODULE_BINARY=melt-stage0-static/warmelt-first-0
 <at>  <at>  -174,7 +174,7  <at>  <at>  melt-stage0-dynamic/warmelt-first-0.d.so: $(MELT_GENERATED_FIRST_C_FILES) \
              melt-run.h melt-runtime.h melt-runtime.c \
              melt-predef.h $(melt_make_cc1_dependency)
 	+$(MELT_MAKE_MODULE) melt_module_dynamic \
-              GCCMELT_MODULE_WORKSPACE=melt-stage0-dynamic/ \
+              GCCMELT_MODULE_WORKSPACE=melt-stage0-dynamic \
 	      GCCMELT_CFLAGS="$(melt_cflags)" \
 	      GCCMELT_MODULE_SOURCE=$(melt_make_source_dir)/generated/warmelt-first-0.c \
               GCCMELT_MODULE_BINARY=melt-stage0-dynamic/warmelt-first-0
 <at>  <at>  -188,7 +188,7  <at>  <at>  melt-stage0-static/warmelt-base-0.so: $(MELT_GENERATED_BASE_C_FILES) \
              melt-run.h melt-runtime.h melt-runtime.c \
              melt-predef.h $(melt_make_cc1_dependency)
 	+$(MELT_MAKE_MODULE) melt_module \
(Continue reading)


Gmane