X-Recipient: archive-cygwin@delorie.com
X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 	tests=AWL,BAYES_00,SARE_SUB_ENC_UTF8
X-Spam-Check-By: sourceware.org
MIME-Version: 1.0
Date: Fri, 15 Jan 2010 11:40:16 +0100
From: "Vincent R." <forumer@smartmobili.com>
To: <cygwin@cygwin.com>
Subject: Re: [cfe-dev] cygwin updates (was: dladdr and =?UTF-8?Q?Dl=5Finfo=29?=
In-Reply-To: <20100115101927.GG22230@calimero.vinschen.de>
References: <3ab31ceedb33b3519257e07931dbdaf5@mail.smartmobili.com>  <4B4F7C90.4030509@x-ray.at>  <4B4F82B1.3080605@users.sourceforge.net>  <4B4F908D.2060709@x-ray.at>  <f5aa3e9b1001141417m19ca7387p776543eecd2b4304@mail.gmail.com>  <e2f81e47fcd88e9e77d72a38b650f402@mail.smartmobili.com> <20100115101927.GG22230@calimero.vinschen.de>
Message-ID: <686aa375429ae2e4ea39acf503a6a617@mail.smartmobili.com>
X-Sender: forumer@smartmobili.com
User-Agent: RoundCube Webmail/0.2
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
Precedence: bulk
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

On Fri, 15 Jan 2010 11:19:27 +0100, Corinna Vinschen
<corinna-cygwin@cygwin.com> wrote:
> On Jan 15 11:07, Vincent R. wrote:
>> >>>
>> >>> On 14/01/2010 14:20, Reini Urban wrote:
>> >>>>
>> >>>> I have a working cygwin llvm and llvm-gcc,
>> >>>> but had no time to produce a proper package yet.
>> >>>> Attached are my cygport files and my local config.
>> >>>> No patches were needed.
>> >>>>
>> >>>> But I haven't bothered to build clang yet,
>> >>>> just the Clang llvmc plugin and llvm-gcc,
>> >>>> which I thought is harder to build and gives us more gcc
>> compatibility.
>> >>>
>> >>> Here's what I have so far for llvm/clang 2.6; the .cygport may be
>> >>> missing something, it's been a few weeks since I've looked at it.
>> >>
>> >> On the cygwin mailinglist we came to some required clang patches.
>> >> http://cygwin.com/ml/cygwin/2010-01/msg00587.html
>> >> Sorry, untested, as I got unrelated linker errors.
>> > 
>> > The change to tools/CIndex/CIndexer.cpp looks fine if it works.  The
>> > change to tools/driver/driver.cpp isn't really right; the code really
>> > needs to be refactored.  The changes to the non-C++ include paths in
>> > lib/Frontend/InitHeaderSearch.cpp look a bit suspicious, but it's
okay
>> > anyway.  The change to lib/Headers/stddef.h is completely wrong; what
>> > is it supposed to fix?
>> 
>> Still don't understand why cygwin doesn't implement dladdr, it would
>> avoid
>> some
>> ugly ifdef...
> 
> http://cygwin.com/acronyms/#SHTDI
> http://cygwin.com/acronyms/#PTC

It's not too difficult to add Dl_info definition (We will support only
retrieving path name):

typedef struct 
{
  const char 	*dli_fname[PATH_MAX];	/* Filename of defining object */
  void 		*dli_fbase;      	/* NA */
  const char 	*dli_sname;		/* NA */
  void 		*dli_saddr;      	/* NA */
} Dl_info;


int dladdr(void *addr, Dl_info *info)
{
   // see
http://trac.enlightenment.org/e/browser/trunk/PROTO/evil/src/lib/dlfcn/dlfcn.c
   // for an implementation   
}

Regards

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

