[RFC] [PATCH 0/5] Extend IGT to support Android

Dixit, Ashutosh ashutosh.dixit at intel.com
Tue Apr 29 20:12:57 UTC 2025


On Tue, 29 Apr 2025 12:57:40 -0700, Jeevaka Prabu Badrappan wrote:
>
> The primary objective of this proposal is to extend the functionality of
> IGT to Android environments.
>
> Enabling IGT on Android will allow developers to perform comprehensive
> testing of graphics drivers, ensuring robustness and reliability across
> different platforms.
>
> By providing stub implementations for libraries that are not natively
> supported on Android, we will bridge the gap between Android and Linux
> environments, promoting code reuse and reducing development time.
>
> Changes done:
> - Create stub implementations of GLib, libunwind, libprocps, and
> other necessary libraries to satisfy IGT dependencies on Android.
> - Replace glib hash table with generic hash table implementation
>
> Note:
> - Incase of linux systems, system libraries will be used whereas for
> Android stubs will be used with reduced test coverage.
> - Support will be provided to maintain Android support.

I applied this series and immediately see these compile errors on regular
Linux. Please fix these and resend and then we can start looking at
this. The series should compile without errors or warnings.

$ ninja -C build
ninja: Entering directory `build'
[62/1691] Compiling C object lib/libigt-igt_aux_c.a.p/igt_aux.c.o
FAILED: lib/libigt-igt_aux_c.a.p/igt_aux.c.o
ccache cc -Ilib/libigt-igt_aux_c.a.p -Ilib -I../lib -I../include -I../include/drm-uapi -I../include/drm-uapi-experimental -I../include/linux-uapi -I../lib/stubs/syscalls -I. -I.. -I/usr/include/cairo -I/usr/include/libxml2 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/libdrm/nouveau -I/usr/include/valgrind -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu11 -O2 -g -D_GNU_SOURCE -include config.h -D_FORTIFY_SOURCE=2 -Wbad-function-cast -Wdeclaration-after-statement -Wformat=2 -Wimplicit-fallthrough=0 -Wlogical-op -Wmissing-declarations -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-prototypes -Wuninitialized -Wunused -Wno-clobbered -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-pointer-arith -Wno-address-of-packed-member -Wno-sign-compare -Wno-type-limits -Wno-unused-parameter -Wno-unused-result -Werror=address -Werror=array-bounds -Werror=dangling-pointer -Werror=implicit -Werror=init-self -Werror=int-conversion -Werror=int-to-pointer-cast -Werror=main -Werror=missing-braces -Werror=nonnull -Werror=pointer-to-int-cast -Werror=return-type -Werror=sequence-point -Werror=trigraphs -Werror=write-strings -fno-builtin-malloc -fno-builtin-calloc -D_LARGEFILE64_SOURCE=1 -fPIC -pthread -DWITH_GZFILEOP '-DIGT_DATADIR="/usr/local/share/igt-gpu-tools"' '-DIGT_SRCDIR="/home/adixit/git/igt-gpu-tools/tests"' '-DIGT_LOG_DOMAIN="igt_aux"' -MD -MQ lib/libigt-igt_aux_c.a.p/igt_aux.c.o -MF lib/libigt-igt_aux_c.a.p/igt_aux.c.o.d -o lib/libigt-igt_aux_c.a.p/igt_aux.c.o -c ../lib/igt_aux.c
../lib/igt_aux.c:59:10: fatal error: pids.h: No such file or directory
   59 | #include "pids.h"
      |          ^~~~~~~~
compilation terminated.
[67/1691] Generating lib/iga64_generated_codes.c with a custom command
iga64 assemblies not changed, reusing pre-compiled file ../lib/iga64_generated_codes.c.
[125/1691] Compiling C object lib/libigt-igt_device_scan_c.a.p/igt_device_scan.c.o
../lib/igt_device_scan.c:276:14: warning: no previous prototype for ‘hash’ [-Wmissing-prototypes]
  276 | unsigned int hash(const char *key)
      |              ^~~~
../lib/igt_device_scan.c:285:12: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  285 | HashTable *create_table()
      |            ^~~~~~~~~~~~
../lib/igt_device_scan.c: In function ‘create_table’:
../lib/igt_device_scan.c:285:12: warning: old-style function definition [-Wold-style-definition]
../lib/igt_device_scan.c: At top level:
../lib/igt_device_scan.c:294:6: warning: no previous prototype for ‘insert_table’ [-Wmissing-prototypes]
  294 | void insert_table(HashTable *table, const char *key, const char *value)
      |      ^~~~~~~~~~~~
../lib/igt_device_scan.c:304:7: warning: no previous prototype for ‘search_table’ [-Wmissing-prototypes]
  304 | char *search_table(HashTable *table, const char *key)
      |       ^~~~~~~~~~~~
../lib/igt_device_scan.c:317:6: warning: no previous prototype for ‘free_table’ [-Wmissing-prototypes]
  317 | void free_table(HashTable *table) {
      |      ^~~~~~~~~~
[135/1691] Compiling C object lib/libigt-i915_intel_decode_c.a.p/i915_intel_decode.c.o
ninja: build stopped: subcommand failed.

Thanks.
--
Ashutosh


More information about the igt-dev mailing list