mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-18 07:34:54 +00:00
Introspecting the dynamic headers is low-level and full of implementation
details.
It seems that gnome-shell was assuming the address of the string table is
given by taking the DT_STRTAB dynamic symbol table's value (d_un.d_val)
and casting it to an absolute pointer. However, in some environments
(apparently including Debian mips64el) the DT_STRTAB dynamic symbol
table's d_un.d_val can be merely an offset relative to the base address
of the executable in memory. The base address would have to be parsed from
a different ELF header, which as far as I know is not part of _DYNAMIC.
Rather than trying to look up the Shell executable's base address using
dlinfo() or similar, during unit testing it seems easier to pass in the
uninstalled library search path in the environment, along with other
uninstalled paths that we are going to need anyway.
The reason given for not using GI_TYPELIB_PATH in commit
|
||
|---|---|---|
| .. | ||
| common | ||
| data | ||
| dbusmock-templates | ||
| shell | ||
| unit | ||
| gnome-shell-dbus-runner.py.in | ||
| gnomeshell_dbusrunner.py | ||
| meson.build | ||
| run-test.sh.in | ||