Hi again Olly
> Il Giovedì 1 Maggio 2014 0:32, Olly Betts <o...@survex.com> ha scritto: > > On Wed, Apr 30, 2014 at 07:34:03PM +0100, costamagnagianfra...@yahoo.it > > wrote: >> > Il Mercoledì 30 Aprile 2014 12:39, Olly Betts <o...@survex.com> > ha scritto: >> > > On Wed, Apr 30, 2014 at 08:45:47AM +0100, Gianfranco Costamagna > wrote: >> >> Isn't the "-Wl,--as-needed" automatically passed by > dh >> > system? are you >> >> overriding LDFLAGS somewhere? >> > >> > I don't believe either is true. Passing it unconditionally > wouldn't be >> > a good plan, as it breaks some cases (as I mentioned above). >> > >> > Are you perhaps thinking of "-Wl,-z,relro" (which is related > to >> > hardening)? >> >> ok can it be that ubuntu enables them by default and debian not? >> https://wiki.ubuntu.com/ToolChain/CompilerFlags#A-Wl.2C--as-needed > > I don't follow Ubuntu development these days, but possibly. > >> ubuntu is using them since three years, and why should removing a not >> used library be a problem? >> I mean if no symbols are used we can drop safely right? > > It isn't always safe to do so - you can get a clean build but hit > problems at runtime. For example a program might use dlsym() to look up > a symbol from a library it was linked against, but if there aren't any > references at link time, the library won't be there if --as-needed is > used: > > olly@gemse:~$ cat asneeded.c > #include <dlfcn.h> > #include <stdio.h> > > int main(int argc, char ** argv) { > void * handle = dlopen(NULL, RTLD_NOW); > if (!handle) { > fprintf(stderr, "dlopen failed: %s\n", dlerror()); > return 1; > } > (void)argc; > while (*++argv) { > printf("%s=%p\n", *argv, dlsym(handle, *argv)); > } > return 0; > } > olly@gemse:~$ gcc -Wall -W -O2 asneeded.c -ldl -lz -o asneeded > olly@gemse:~$ ./asneeded zlibVersion > zlibVersion=0x7fc6e04a9fc0 > olly@gemse:~$ gcc -Wall -W -O2 -Wl,--as-needed asneeded.c -ldl -lz -o > asneeded > olly@gemse:~$ ./asneeded zlibVersion > zlibVersion=(nil) > >> Can we safely leave them inside? >> >> The patch is so ugly, but the libraries are not there anymore >> > https://github.com/LocutusOfBorg/wx/commit/e18d875c355096e458371d7f83910d02c926c294 > > A much cleaner way is just to add this to debian/rules instead of the > above changes: > > export DEB_LDFLAGS_APPEND=-Wl,--as-needed > are you sure about this? Seems to be not working DEB_LDFLAGS_APPEND=-Wl,--as-needed and neither this DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed (or at least I don't see them when building) are them hidden? cheers, Gianfranco >> Attached the log of the new debdiffs > > Great, that looks much better to me. Thanks for all your work on this. > > > Cheers, > Olly > -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org