{"push_id":1288705759,"size":3,"distinct_size":3,"ref":"refs/heads/master","head":"f763e2dc88d04430dd2524a529eef91a2e517e4e","before":"091a0ac120e2c220a7b2c102e2e23d9b4b543ff6","commits":[{"sha":"97974e3076f26d4031a95722116eb45bc98b5571","author":{"name":"Michael Haubenwallner","email":"44ee1af1516f80908e8d4a67c9a3d2a3454c7133@ssi-schaefer.com"},"message":"dlopen: switch to new pathfinder class\n\nInstead of find_exec, without changing behaviour use new pathfinder\nclass with new allocator_interface around tmp_pathbuf and new vstrlist\nclass.\n* pathfinder.h (pathfinder): New file.\n* vstrlist.h (allocator_interface, allocated_type, vstrlist): New file.\n* dlfcn.cc (dlopen): Avoid redundant GetModuleHandleExW with RTLD_NOLOAD\nand RTLD_NODELETE.  Switch to new pathfinder class, using\n(tmp_pathbuf_allocator): New class.\n(get_full_path_of_dll): Drop.","distinct":true,"url":"https://api.github.com/repos/wallento/newlib-cygwin/commits/97974e3076f26d4031a95722116eb45bc98b5571"},{"sha":"b37c3ed5e57e528adf73548882cf252a79c014dd","author":{"name":"Michael Haubenwallner","email":"44ee1af1516f80908e8d4a67c9a3d2a3454c7133@ssi-schaefer.com"},"message":"dlopen (pathfinder): try each basename per dir\n\nRather than searching all search dirs per one basename,\nsearch for all basenames within per one search dir.\n\npathfinder.h (check_path_access): Interchange dir- and basename-loops.","distinct":true,"url":"https://api.github.com/repos/wallento/newlib-cygwin/commits/b37c3ed5e57e528adf73548882cf252a79c014dd"},{"sha":"f763e2dc88d04430dd2524a529eef91a2e517e4e","author":{"name":"Michael Haubenwallner","email":"44ee1af1516f80908e8d4a67c9a3d2a3454c7133@ssi-schaefer.com"},"message":"dlopen: on x/lib search x/bin if exe is in x/bin\n\nOn 09/02/2016 11:03 AM, Corinna Vinschen wrote:\n> On Sep  2 10:46, Michael Haubenwallner wrote:\n>> On 09/01/2016 03:32 PM, Corinna Vinschen wrote:\n>>> You could just use the global variable program_invocation_name.  If in\n>>> doubt, use the Windows path global_progname and convert it to full POSIX\n>>> via cygwin_conv_path.\n>>\n>> Patch updated, using global_progname now.\n>\n> Looks good and you're right to do it this way since I just noticed\n> that program_invocation_name may return a relative pathname.\n\nYep.\n\n> Btw., in other calls which require the full POSIX path we use\n> mount_table->conv_to_posix_path instead of cygwin_conv_path (see\n> e. g. fillout_pinfo()).  It's a bit faster.  Maybe something for a\n> followup patch.\n\nNo problem - attached.\nThis renders the original patch 4/4 valid again.\n\n> Note for some later improvement:  I really wonder why we don't store\n> the absolute POSIX path of the current executable globally yet...\n\nSame here.\n\nThanks!\n/haubi/\n\n>From f7255edd33cb4abe34f27188aab8dccdfa5dd2a0 Mon Sep 17 00:00:00 2001\nFrom: Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>\nDate: Wed, 31 Aug 2016 18:05:11 +0200\nSubject: [PATCH 3/4] dlopen: on x/lib search x/bin if exe is in x/bin\n\nciting https://cygwin.com/ml/cygwin-developers/2016-08/msg00020.html\n> Consider the file /usr/bin/cygz.dll:\n> - dlopen (libz.so)            success\n> - dlopen (/usr/bin/libz.so)   success\n> - dlopen (/usr/lib/libz.so)   fails\n\n* dlfcn.c (dlopen): For dlopen(\"x/lib/N\"), when the application\nexecutable is in \"x/bin/\", search for \"x/bin/N\" before \"x/lib/N\".","distinct":true,"url":"https://api.github.com/repos/wallento/newlib-cygwin/commits/f763e2dc88d04430dd2524a529eef91a2e517e4e"}]}
{"actor":{"display_login":"wallento"}}