diff mbox

[libdrm,2/2] tegra: update symbol-check

Message ID 20170329222424.29126-2-kusmabite@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Erik Faye-Lund March 29, 2017, 10:24 p.m. UTC
I get a few more symbols in my build tegra-libraries, so let's
include these in the whitelist as well.

While we're at it, update the comment at the top.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
---
 tegra/tegra-symbol-check | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Emil Velikov April 3, 2017, 4:59 p.m. UTC | #1
On 29 March 2017 at 23:24, Erik Faye-Lund <kusmabite@gmail.com> wrote:
> I get a few more symbols in my build tegra-libraries, so let's
> include these in the whitelist as well.
>
> While we're at it, update the comment at the top.
>
> Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
R-B and pushed to master.

Out of curiosity:
What platform are you using that introduces these - musl, newer glibc, other ?

Would be great if we can strip platform specific symbols from the list
- do you have any ideas how we can do that ?
We could omit any symbols that start with __ but that does not sound too robust.

Thanks
Emil
Erik Faye-Lund April 3, 2017, 8:55 p.m. UTC | #2
On Mon, Apr 3, 2017 at 6:59 PM, Emil Velikov <emil.l.velikov@gmail.com> wrote:
> On 29 March 2017 at 23:24, Erik Faye-Lund <kusmabite@gmail.com> wrote:
>> I get a few more symbols in my build tegra-libraries, so let's
>> include these in the whitelist as well.
>>
>> While we're at it, update the comment at the top.
>>
>> Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
> R-B and pushed to master.
>
> Out of curiosity:
> What platform are you using that introduces these - musl, newer glibc, other ?

I'm using glibc 2.25 (in particular, 2.25-1 from Arch Linux).

> Would be great if we can strip platform specific symbols from the list
> - do you have any ideas how we can do that ?
> We could omit any symbols that start with __ but that does not sound too robust.

I think ignoring anything that starts with both single and double
underscore would make sense, as those symbols are reserved by the
compiler and "implementation" (typically libc etc). Our API shouldn't
export these symbols in the first place, and I suspect code-review is
sufficient to ensure this.

But either way, I'd prefer to just get the test working again first.
Emil Velikov April 4, 2017, 4:42 p.m. UTC | #3
On 3 April 2017 at 21:55, Erik Faye-Lund <kusmabite@gmail.com> wrote:
> On Mon, Apr 3, 2017 at 6:59 PM, Emil Velikov <emil.l.velikov@gmail.com> wrote:
>> On 29 March 2017 at 23:24, Erik Faye-Lund <kusmabite@gmail.com> wrote:
>>> I get a few more symbols in my build tegra-libraries, so let's
>>> include these in the whitelist as well.
>>>
>>> While we're at it, update the comment at the top.
>>>
>>> Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
>> R-B and pushed to master.
>>
>> Out of curiosity:
>> What platform are you using that introduces these - musl, newer glibc, other ?
>
> I'm using glibc 2.25 (in particular, 2.25-1 from Arch Linux).
>
Using up-to date Arch with glibc 2.25-1 and symbols are not there.
Perhaps you're using the ARM one ... either way it doesn't matter that
much.

>> Would be great if we can strip platform specific symbols from the list
>> - do you have any ideas how we can do that ?
>> We could omit any symbols that start with __ but that does not sound too robust.
>
> I think ignoring anything that starts with both single and double
> underscore would make sense, as those symbols are reserved by the
> compiler and "implementation" (typically libc etc). Our API shouldn't
> export these symbols in the first place, and I suspect code-review is
> sufficient to ensure this.
>
> But either way, I'd prefer to just get the test working again first.

Agreed. The patch is in master and part of 2.4.77

-Emil
diff mbox

Patch

diff --git a/tegra/tegra-symbol-check b/tegra/tegra-symbol-check
index 40208311..420469f4 100755
--- a/tegra/tegra-symbol-check
+++ b/tegra/tegra-symbol-check
@@ -1,11 +1,14 @@ 
 #!/bin/bash
 
-# The following symbols (past the first five) are taken from the public headers.
-# A list of the latter should be available Makefile.sources/LIBDRM_FREEDRENO_H_FILES
+# The following symbols (past the first nine) are taken from tegra.h.
 
 FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_tegra.so} | awk '{print $3}'| while read func; do
 ( grep -q "^$func$" || echo $func )  <<EOF
+__bss_end__
+__bss_start__
 __bss_start
+__end__
+_bss_end__
 _edata
 _end
 _fini