This is the mail archive of the
mailing list for the elfutils project.
Re: pending patches
- From: Ulf Hermann <ulf dot hermann at qt dot io>
- To: Mark Wielaard <mark at klomp dot org>
- Cc: <elfutils-devel at sourceware dot org>
- Date: Wed, 3 May 2017 13:26:59 +0200
- Subject: Re: pending patches
- Authentication-results: sourceware.org; auth=none
- Authentication-results: sourceware.org; dkim=none (message not signed) header.d=none;sourceware.org; dmarc=none action=none header.from=qt.io;
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qtcompany.onmicrosoft.com; s=selector1-qt-io; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=hV7JOUfKFp0Ei81Ix4dvOyW2ECltL8QBdn5kOR6VhhE=; b=cFw81Bs+IYPyZEcgSuyajYRVTsokyOtlCCcp1Ilyxn7qriXLkjNqWN9/gIPKtUnhSyq/0i7NVBIP/lRBUCPrRLSjaTgfKHHfJJ3CZbw1QkIVaSmDn4ppyQ8JJLu7G+WWeFQpFPDkk+BsOXepjukZFA4PtpmSw9DhzgIT9zY1ZOs=
- References: <email@example.com>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
> - Check for -z,defs, -z,relro, -fPIC, -fPIE before using them
> There are actually two versions, I haven't looked yet how they differ.
> - Check if gcc complains about __attribute__ (visibility(..))
> - Disable symbol versioning if .symver doesn't work
> - Check if rpath is supported before setting it
> In all of the above cases checking for support is a good thing.
> But I am a little hesitant about automatically disabling support.
> For example our binary compatibility depends on having symbol versioning
> support. It seems bad to "silently" break that. And without rpath
> support backends aren't found and stuff will mysteriously break. So I
> think I prefer configure to error out and have an explicit override
> option someone would have to use indicating they are building a broken
That can be done. I will post new versions of the patches to add a configure switch.
My problem right now is that I have about 50 more patches pending locally and I will be gone from May 12th to sometime in August. So, I probably won't manage to post and fix all of them here before autumn. Yet, I still need them for the Qt Creator (and perfparser) 4.4 release, for which the feature freeze will happen when I'm gone.
To deal with this, right now I have a fork of elfutils at http://code.qt.io/cgit/qt-creator/elfutils.git/ which receives the patches before they get here. This is not great and I want to merge it eventually, but I can't clone myself.
> - Check if we need -lintl for linking gettext
> This looks OK, but I don't know much about gettext support.
It's just that mingw doesn't really have a libc and msvcrt.dll doesn't have gettext. So we need to link libintl.a or libintl.dll (as provided by mingw) separately.
> - Generalize library names
> This looks like a nice cleanup, but I don't know anything about how
> non-gnu/linux systems do library sonames (I also use a local hack
> sometimes to explicitly set a different version that I should upstream
Well, not at all. It's called dll hell :(. The patch provides binaries with the version encoded into the file name, which can make things somewhat better. However, as dw.dll (and dw1.dll and dw-0.168.dll) link against plain elf.dll, extra hackery is required if you want to use the files with versions encoded. Also you cannot do "-lelf" then, but rather "-lelf1".