This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [cfe-dev] cygwin updates (was: dladdr and Dl_info)


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]