Commit Graph

853 Commits

Author SHA1 Message Date
Kyle Brenneman 6cd95fbfe2 Add .arm directives for the GLX entrypoint stubs.
Add .arm and .thumb directives before and after the ARMv7 GLX dispatch stubs.

The function addresses that get passed around don't take Thumb into account, so
if they're compiled as Thumb, then they'd still get executed as ARM, which
would cause them to crash a SIGILL.
2020-08-11 12:37:59 -06:00
Kyle Brenneman 8af272f7c4 configure: Consolodate some duplicate code.
Combine the x86/x86-64 and stub type selection branches, since the same code
works for either of them.
2020-08-06 11:58:26 -06:00
Kyle Brenneman 3a03fdaed7 configure: Remove an unused $gldispatch_use_tls check
In configure.ac, there's a block that should have been moved to later in the
file, but got copied instead. Remove the leftover duplicate.
2020-08-06 11:58:26 -06:00
Kyle Brenneman cad3b5230d Merge branch 'sandbox/rzr/review/master' into 'master'
build: Support meson-0.49.2

See merge request glvnd/libglvnd!230
2020-07-01 15:48:00 +00:00
Philippe Coval aced60b04d build: Support meson-0.49.2
Ternary operator inside method call crashes the parser,
so it's relocated outside.

This change will help to build project under latest debian:10

Forwarded: https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests
Bug: https://github.com/NVIDIA/libglvnd/issues/198
Relate-to: https://github.com/mesonbuild/meson/issues/5003
Signed-off-by: Philippe Coval <rzr@users.sf.net>
Change-Id: I18b6e8eca7564a6a252fff1ec6299311a3a92669
2020-07-01 17:42:11 +02:00
Matt Turner da0edd9728 Bump the version number to 1.3.2. 2020-06-25 15:17:25 -07:00
Matt Turner 312e12231d Merge branch 'no-werror' into 'master'
Remove -Werror from default CFLAGS

See merge request glvnd/libglvnd!229
2020-06-25 19:28:39 +00:00
Matt Turner 55a9dd3160 Remove -Werror from default CFLAGS
The set of warnings emitted are dependent on compiler version,
optimization level, CPU architecture, dependency versions, etc. It's not
tractable for a code base to be warning free under all circumstances,
and it's widely agreed that -Werror should not be enabled by default.

Given that it's trivial for developers to enable -Werror for autotools
by settings CFLAGS=-Werror and for meson with -Dwerror=true we should
not enable -Werror by default and require builders to disable it.

See https://devmanual.gentoo.org/ebuild-writing/common-mistakes/index.html#-werror-compiler-flag-not-removed

Reviewed-by: Eric Anholt <eric@anholt.net>
2020-06-25 11:59:51 -07:00
Matt Turner 08467b4d7d gitlab-ci: Build with -Werror
The next commit will remove -Werror from the default autotools and meson
builds, but we would like to continue treating warnings as errors in CI.
2020-06-25 11:59:38 -07:00
Matt Turner 2a1dd5e494 autotools: Add a --enable-werror option 2020-06-25 11:58:58 -07:00
Kyle Brenneman a4c332e326 Merge branch 'use-python-element-tree' into 'master'
generate: Use xml.etree.ElementTree instead of cElementTree.

Closes #204

See merge request glvnd/libglvnd!227
2020-06-10 15:08:02 +00:00
Kyle Brenneman f936adad89 generate: Use xml.etree.ElementTree instead of cElementTree.
The cElementTree module is deprecated as of 3.3, so use the normal ElementTree
module instead.

Fixes https://gitlab.freedesktop.org/glvnd/libglvnd/-/issues/204
2020-06-10 08:59:44 -06:00
Kyle Brenneman 3e8684a739 Merge branch 'meson-werror' into 'master'
meson: Treat warnings as errors.

See merge request glvnd/libglvnd!226
2020-05-20 20:38:51 +00:00
Kyle Brenneman 4f9e991246 meson: Treat warnings as errors.
In the Meson build, treat warnings as errors like we do in the autotools build.
2020-05-20 13:52:39 -06:00
Kyle Brenneman 7e81b3560b Merge branch 'update-egl-headers' into 'master'
egl: sync with Khronos

See merge request glvnd/libglvnd!225
2020-05-07 21:44:59 +00:00
Simon Ser 4acb9be27d
egl: sync with Khronos
Updated the EGL headers and XML file to the Khronos repository, from commit
90b78b0662e2f0548cfd1926fb77bf628933541b.
2020-05-07 23:36:13 +02:00
Matt Turner 1c32de0707 Bump the version number to 1.3.1. 2020-02-21 13:28:47 -08:00
Matt Turner 810ae24776 Merge branch 'hjl/cet/master' into 'master'
x86: Add ENDBR at function entries

See merge request glvnd/libglvnd!223
2020-02-21 21:28:29 +00:00
H.J. Lu f96f6bde04 x86: Add ENDBR at function entries
Intel Control-flow Enforcement Technology (CET):

https://software.intel.com/en-us/articles/intel-sdm

contains shadow stack (SHSTK) and indirect branch tracking (IBT). When
CET is enabled, ELF object files must be marked with .note.gnu.property
section. Also when IBT is enabled, all indirect branch targets must
start with ENDBR instruction which is NOP on non-CET processors.

This fixes:

https://gitlab.freedesktop.org/glvnd/libglvnd/issues/202
2020-02-21 21:28:29 +00:00
Matt Turner cb7b1fb019 Merge branch 'tests-remove-glxint-h' into 'master'
tests: Remove an include for GL/glxint.h.

See merge request glvnd/libglvnd!220
2020-01-24 18:59:45 +00:00
Kyle Brenneman f2226650d8 Merge branch 'parisc' into 'master'
tests: Add _GLOBAL_OFFSET_TABLE_ to PLATFORM_SYMBOLS

See merge request glvnd/libglvnd!222
2020-01-17 15:37:58 +00:00
Matt Turner a322bd006c tests: Add _GLOBAL_OFFSET_TABLE_ to PLATFORM_SYMBOLS
On PA-RISC, the _GLOBAL_OFFSET_TABLE_ symbol is always exposed. See

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=bfd/elf32-hppa.c;h=2e653083ce05a77b3e33c056e2f9a51b327c2b22#l1001
https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=blob;f=sysdeps/hppa/dl-machine.h;h=9e98366ea3b09612d54a3e956d5c35c1bdc86560#l80
2020-01-16 09:40:24 -08:00
Kyle Brenneman b2b9e80eed Merge branch 'meson-fix-pkgconfig-datadir' into 'master'
Meson: Add datadir and datarootdir variables to libglvnd.pc.

See merge request glvnd/libglvnd!221
2020-01-15 17:33:06 +00:00
Kyle Brenneman 45e2a061e8 Meson: Add datadir and datarootdir variables to libglvnd.pc.
Add the missing datadir and datarootdir variables to the libglvnd.pc file that
Meson generates.
2020-01-10 12:11:01 -07:00
Kyle Brenneman 42a25c1ed7 Merge branch 'meson-fix-armel' into 'master'
Fix Meson on armel

See merge request glvnd/libglvnd!219
2019-12-17 15:31:54 +00:00
Eric Engestrom d14e580a31 Merge branch 'python-path' into 'master'
egl: avoid hard-coding the path to `python`

See merge request glvnd/libglvnd!216
2019-12-17 00:24:08 +00:00
Kyle Brenneman 682c8d4050 Merge branch 'gitlab-ci-xvfb-run' into 'master'
Use xvfb-run in CI scripts

See merge request glvnd/libglvnd!212
2019-12-13 21:19:21 +00:00
Kyle Brenneman dd64270964 tests: Remove an include for GL/glxint.h.
GL/glxint.h isn't a standard GLX header, and isn't needed for anything, so just
remove it.
2019-12-13 09:22:17 -07:00
Kyle Brenneman 6103052046 meson: Try to detect older ARM builds.
When building for armel, Meson's cpu() and cpu_family() strings aren't always
sufficient.

Instead, try to check for some predefined macros to determine if it's building
for ARMv7 or something older.
2019-12-13 09:21:00 -07:00
Kyle Brenneman 444035fd46 meson: Print the CPU and CPU family. 2019-12-13 09:20:57 -07:00
Kyle Brenneman 27251993ba gitlab-ci: Use xvfb-run
Change the CI scripts to use xvfb-run instead of running Xvfb directly.

That avoids a potential race condition, where a test could fail because Xvfb
hasn't started listening for connections yet. xvfb-run will wait for Xvfb to be
ready before it runs any other programs.

That also simplifies error handling, because the CI scripts can just use
"set -e" instead of having to store the exit code, kill Xvfb, and then check
for an error.
2019-12-13 07:05:41 -07:00
Eric Engestrom 9dcdd2807f Merge branch 'meson-test-dummy-link' into 'master'
Meson: Fix linking the unit tests' vendor libraries

See merge request glvnd/libglvnd!213
2019-12-12 23:54:38 +00:00
Eric Engestrom e77d52dadb egl/glx: avoid hard-coding the path to `python` 2019-12-12 23:47:24 +00:00
Eric Engestrom 0c38c8ad24 egl: drop shebang on non-executable script 2019-12-12 23:45:37 +00:00
Eric Engestrom 7ebf831e68 Merge branch 'readme' into 'master'
README: mention that the repo now lives on gitlab.fdo

See merge request glvnd/libglvnd!208
2019-12-12 23:43:55 +00:00
Eric Engestrom e924dd2707 README: mention that the repo now lives on gitlab.freedesktop.org 2019-12-12 23:41:37 +00:00
Eric Engestrom f0c2ce450d Merge branch 'python' into 'master'
egl: misc python fixes

See merge request glvnd/libglvnd!218
2019-12-12 23:37:15 +00:00
Eric Engestrom e470308497 Merge branch 'stddef' into 'master'
egl: #include <stddef.h> for `NULL`

See merge request glvnd/libglvnd!215
2019-12-12 23:32:08 +00:00
Eric Engestrom 25024a1f0a egl: sort imports 2019-12-12 23:18:53 +00:00
Eric Engestrom 1f6b455dc8 egl: use ArgumentParser() instead of manually parsing sys.argv 2019-12-12 23:18:53 +00:00
Eric Engestrom 214450d18a egl: import eglFunctionList directly instead of passing it in the command line
`imp` is deprecated, and there's no reason to do things this complicated
when it's the only possibility.
2019-12-12 23:18:53 +00:00
Eric Engestrom 0ba59394e4 egl: use dedent() and consistent indentation in source code 2019-12-12 23:04:34 +00:00
Eric Engestrom 02f82033f1 egl: drop superfluous `()` in conditions 2019-12-12 23:04:34 +00:00
Eric Engestrom 8dd5f93faf egl: avoid comparing with the value of None 2019-12-12 23:04:34 +00:00
Eric Engestrom 679f40aa6e egl: #include <stddef.h> for `NULL` 2019-12-12 22:56:42 +00:00
Eric Engestrom 377df1b5f9 Merge branch 'typo' into 'master'
meson: fix double-space in pkg-config description

See merge request glvnd/libglvnd!214
2019-12-12 17:30:44 +00:00
Eric Engestrom c60b40ef6c meson: fix double-space in pkg-config description 2019-12-12 17:16:12 +00:00
Kyle Brenneman 7203dcc325 Merge branch 'ppc64-elfv2' into 'master'
vnd-glapi: allow asm to be used on ELFv2 ppc64 big endian

See merge request glvnd/libglvnd!211
2019-12-09 22:46:26 +00:00
q66 c31a7c06eb vnd-glapi: allow asm to be used on ELFv2 ppc64 big endian
These entry points are actually not little endian specific,
but they are specific to ELFv2 ABI. ELFv2 ABI can be used
on either little or big endian, and there are distributions
doing so (e.g. Void Linux, Adélie Linux) as well as other
OSes transitioning (FreeBSD).

These have been confirmed to work on a Power Mac G5 running
Void Linux.
2019-12-09 18:49:41 +01:00
Kyle Brenneman c1c9a00c19 tests/meson: Set the version number for the dummy libraries.
Add a "version" parameter to the dummy libraries instead of using a separate cp
command.
2019-12-09 07:26:46 -07:00