[PATCH libdrm 01/11] symbols-check: add new meta-script

Eric Engestrom eric.engestrom at imgtec.com
Thu Apr 5 09:36:37 UTC 2018


On Wednesday, 2018-04-04 18:39:48 +0100, Emil Velikov wrote:
> On 4 April 2018 at 17:28, Eric Engestrom <eric.engestrom at imgtec.com> wrote:
> > On Wednesday, 2018-04-04 16:41:35 +0100, Eric Engestrom wrote:
> >> Note: copied from Mesa
> >>
> >> Signed-off-by: Eric Engestrom <eric.engestrom at imgtec.com>
> >> ---
> >>  meson.build   |  1 +
> >>  symbols-check | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >>  2 files changed, 80 insertions(+)
> >>  create mode 100755 symbols-check
> >>
> >> diff --git a/meson.build b/meson.build
> >> index a725f05d342bbec4df18..c035a00c6747b8d46a9b 100644
> >> --- a/meson.build
> >> +++ b/meson.build
> >> @@ -272,6 +272,7 @@ pkg.generate(
> >>
> >>  env_test = environment()
> >>  env_test.set('NM', find_program('nm').path())
> >> +env_test.set('top_srcdir', meson.source_root())
> >>
> >>  if with_libkms
> >>    subdir('libkms')
> >> diff --git a/symbols-check b/symbols-check
> >> new file mode 100755
> >> index 00000000000000000000..bac466d93dcb45cee0bb
> >> --- /dev/null
> >> +++ b/symbols-check
> >> @@ -0,0 +1,79 @@
> >> +#!/bin/sh
> >> +set -eu
> >> +set -o pipefail
> >> +
> >> +# Platform specific symbols
> >> +# These will simply be ignored
> >> +PLAT_FUNCS="
> >> +__bss_start
> >> +_init
> >> +_fini
> >> +_end
> >> +_edata
> >> +
> >> +# From tegra-symbol-check
> >> +__bss_end__
> >> +__bss_start__
> >> +__bss_start
> >> +__end__
> >> +_bss_end__
> >> +_edata
> >> +_end
> >> +_fini
> >> +_init
> >
> > Haha, oops... I had noticed that one of the old scripts had more platform
> > symbols than the rest, and I wanted to check if/when those were needed
> > so I just stuffed them here in the mean time, but then I forgot :]
> >
> > I'll check this when I have the time (not this week), or if anyone knows..?
> >
> > In the mean time, please review the rest and ignore these 10 lines :)
> >
> The extra __ suffix/prefixed ones are ARM specific. They seems to be
> introduced from day 1 in glibc, without any obvious reason.
> They're just aliases - __end__, _bss_end__, etc are identical to _end
> 
> If you want to cater for GNU/Hurd - the following three should be
> listed as well.
> 
> _fbss
> _fdata
> _ftext

Thanks for the explanation!
I think I'll just add all these to the platform-specific list on both
mesa and libdrm, they have specific enough names (beginning with
underscore, for starters) that no entrypoint of ours should ever match.

> 
> I haven't had time to read through the patches, although +1 on the overall idea.
> Will try to get to it sometime tomorrow.

Thanks, but I won't have time to push anything until next week anyway,
so there's no rush ^^

> 
> -Emil


More information about the dri-devel mailing list