Allow redefinition of libcilkrts debug macros

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Tue May 3 12:04:00 GMT 2016


Hi Ilya,

> On Fri, Apr 29, 2016 at 10:58:25 +0200, Rainer Orth wrote:
>> > On 04/26/2016 08:04 AM, Rainer Orth wrote:
>> >> When working on a couple of Cilk Plus issues lately (PRs target/60290,
>> >> target/68945), I noticed that you have to modify the libcilkplus sources
>> >> to enable various debugging output.  This seems silly, and the following
>> >> patch allows defining them from the command line.
>> >>
>> >> Tested on i386-pc-solaris2.12 and sparc-sun-solaris2.12.
>> >>
>> >> Ok for mainline?
>> >>
>> >> 	Rainer
>> >>
>> >>
>> >> 2016-04-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
>> >>
>> >> 	* runtime/except-gcc.cpp (DEBUG_EXCEPTIONS): Allow redefinition.
>> >> 	* runtime/cilk_fiber.h (FIBER_DEBUG): Likewise.
>> >> 	* runtime/scheduler.h (REDPAR_DEBUG): Likewise.
>> > Ilya will have to chime in here -- we're a downstream consumer of the Cilk+
>> > runtime.  So these patches need to go into Intel's tree first, then Ilya
>> > can bring them into the GCC tree.
>> 
>> I suspected that much.  It would be good to have a libcilkrts/README.gcc
>> describing the rules which changes can go into the gcc tree directly,
>> which need to go upstream first, and how.  libo and libsanitizer already
>> have this.
>
> Could you please submit your patch to
> <www.cilkplus.org/submit-cilk-contribution>?

I just did, together with the patch for PR target/60290 which already
went into mainline.

> All patches for libcilkrts/* should go there first in order to avoid possible
> license issues, or possible losses during the merge.

I see.  Unfortunately, building/testing from the repo on bitbucket.org
is sort of a nightmare:

* The repo is incomplete: configure.ac refers to libcilkrts.spec.in, but
  that file only exists in gcc mainline.

* I cannot configure just a checkout of that repo with current
  autotools: e.g. in automake 1.15 multi.m4 only lives in
  contrib/multilib.  Even with the same versions of the tools required
  for gcc development, I cannot independently configure: in the end, it
  fails with

configure: creating ./config.status
config.status: creating Makefile
config.status: creating libcilkrts.spec
config.status: executing depfiles commands
config.status: executing default-1 commands
./config.status[1364]: .: ./../../config-ml.in: cannot open [No such file or directory]

The only way to make this work was to replace the libcilkrts directory
in a gcc mainline tree with a checkout of the bitbucket.org tree and to
a full build of gcc.

This has the added advantage that I can run the cilkplus testsuite there
to check if my changes broke anything.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University



More information about the Gcc-patches mailing list