<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libepoxy.git, branch issue-181</title>
<subtitle>github.com: anholt/libepoxy.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/'/>
<entry>
<title>Define _GNU_SOURCE for strdup()</title>
<updated>2018-06-18T08:15:03+00:00</updated>
<author>
<name>Emmanuele Bassi</name>
<email>ebassi@gnome.org</email>
</author>
<published>2018-06-18T08:15:03+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=7f38b12881f445c63b3f82994f0ee76516735405'/>
<id>7f38b12881f445c63b3f82994f0ee76516735405</id>
<content type='text'>
The strdup() function is available on uClibc if _XOPEN_SOURCE_EXTENDED
is defined; since we're using _GNU_SOURCE elsewhere to enable extended
libc features, and uClibc will set _XOPEN_SOURCE_EXTENDED if _GNU_SOURCE
is set, let's use that.

Closes #181
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The strdup() function is available on uClibc if _XOPEN_SOURCE_EXTENDED
is defined; since we're using _GNU_SOURCE elsewhere to enable extended
libc features, and uClibc will set _XOPEN_SOURCE_EXTENDED if _GNU_SOURCE
is set, let's use that.

Closes #181
</pre>
</div>
</content>
</entry>
<entry>
<title>Post-release version bump to 1.5.3</title>
<updated>2018-05-19T11:12:27+00:00</updated>
<author>
<name>Emmanuele Bassi</name>
<email>ebassi@gnome.org</email>
</author>
<published>2018-05-19T11:12:27+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=7b8a540dce41c259a720c9ad4875cd8aa9d74240'/>
<id>7b8a540dce41c259a720c9ad4875cd8aa9d74240</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>dispatch: Try harder to avoid calling the resolver</title>
<updated>2018-05-17T16:03:33+00:00</updated>
<author>
<name>Adam Jackson</name>
<email>ajax@redhat.com</email>
</author>
<published>2018-05-15T16:55:55+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=707f50e680ab4f1861b1e54ca6e2907aaca56c12'/>
<id>707f50e680ab4f1861b1e54ca6e2907aaca56c12</id>
<content type='text'>
Our caller may load (eg) epoxy_glAlphaFunc, which is a function pointer,
and then call through that value multiple times. Until the caller
re-examines the value of that function pointer, which is a copy
relocation in the executable, repeated calls mean repeated work
resolving the GL function.

We can't make the caller reinspect the variable, but the resolver
function can avoid doing redundant work.

Fixes: anholt/libepoxy#171
Signed-off-by: Adam Jackson &lt;ajax@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Our caller may load (eg) epoxy_glAlphaFunc, which is a function pointer,
and then call through that value multiple times. Until the caller
re-examines the value of that function pointer, which is a copy
relocation in the executable, repeated calls mean repeated work
resolving the GL function.

We can't make the caller reinspect the variable, but the resolver
function can avoid doing redundant work.

Fixes: anholt/libepoxy#171
Signed-off-by: Adam Jackson &lt;ajax@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Use -Bsymbolic-functions instead of -Bsymbolic</title>
<updated>2018-05-17T16:02:42+00:00</updated>
<author>
<name>Emmanuele Bassi</name>
<email>ebassi@gnome.org</email>
</author>
<published>2018-05-17T13:19:36+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=c00c889e625164fc9507f84e57f40c9962e650bb'/>
<id>c00c889e625164fc9507f84e57f40c9962e650bb</id>
<content type='text'>
Epoxy updates the function pointers in order to avoid calling the
resolver multiple times, but with -Bsymbolic we're going to update the
copy inside libepoxy, instead of the relocated copy in the code using
libepoxy. This leads to libepoxy constantly querying the function
resolver code instead of just once.

We still want to avoid intra-library relocations for our functions,
but we need to live with them for our global function pointers.

See issue #171
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Epoxy updates the function pointers in order to avoid calling the
resolver multiple times, but with -Bsymbolic we're going to update the
copy inside libepoxy, instead of the relocated copy in the code using
libepoxy. This leads to libepoxy constantly querying the function
resolver code instead of just once.

We still want to avoid intra-library relocations for our functions,
but we need to live with them for our global function pointers.

See issue #171
</pre>
</div>
</content>
</entry>
<entry>
<title>Use abort() instead of exit(1)</title>
<updated>2018-05-17T16:02:42+00:00</updated>
<author>
<name>Emmanuele Bassi</name>
<email>ebassi@gnome.org</email>
</author>
<published>2018-05-14T11:49:21+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=791b28c186882eb8d56f1002acda1dbb4ac00de3'/>
<id>791b28c186882eb8d56f1002acda1dbb4ac00de3</id>
<content type='text'>
We want to consistently handle exceptions for the internal state checks;
calling `exit()` does not allow us to attach a debugger and get a proper
trace.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We want to consistently handle exceptions for the internal state checks;
calling `exit()` does not allow us to attach a debugger and get a proper
trace.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #172 from lantw44/master</title>
<updated>2018-05-05T12:31:43+00:00</updated>
<author>
<name>Emmanuele Bassi</name>
<email>ebassi@gmail.com</email>
</author>
<published>2018-05-05T12:31:43+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=737b6918703c1d0be1e3d5272f7d06211cdb2b87'/>
<id>737b6918703c1d0be1e3d5272f7d06211cdb2b87</id>
<content type='text'>
Fix dlwrap for FreeBSD</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix dlwrap for FreeBSD</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #170 from nwnk/epoxy-load-foo</title>
<updated>2018-05-05T12:29:26+00:00</updated>
<author>
<name>Emmanuele Bassi</name>
<email>ebassi@gmail.com</email>
</author>
<published>2018-05-05T12:29:26+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=ff709d3d65bb138b591e5a5cd3902bda9a05ecda'/>
<id>ff709d3d65bb138b591e5a5cd3902bda9a05ecda</id>
<content type='text'>
Make epoxy_load_{egl,glx} load libraries if they exist</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make epoxy_load_{egl,glx} load libraries if they exist</pre>
</div>
</content>
</entry>
<entry>
<title>dlwrap: Add FBSD_1.0 version for FreeBSD</title>
<updated>2018-05-04T16:00:55+00:00</updated>
<author>
<name>Ting-Wei Lan</name>
<email>lantw44@gmail.com</email>
</author>
<published>2018-05-04T15:59:22+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=27b07469403af8bcbef9b24a42d4c44c5bffc846'/>
<id>27b07469403af8bcbef9b24a42d4c44c5bffc846</id>
<content type='text'>
This fixes dlwrap_real_dlsym on FreeBSD, but tests still fail because we
currently don't have libglvnd.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes dlwrap_real_dlsym on FreeBSD, but tests still fail because we
currently don't have libglvnd.
</pre>
</div>
</content>
</entry>
<entry>
<title>meson: Don't define _POSIX_C_SOURCE when dlvsym is found</title>
<updated>2018-05-04T15:50:36+00:00</updated>
<author>
<name>Ting-Wei Lan</name>
<email>lantw44@gmail.com</email>
</author>
<published>2018-05-04T15:50:36+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=5dc0c147e9026cc06b30688537325f77d64b54eb'/>
<id>5dc0c147e9026cc06b30688537325f77d64b54eb</id>
<content type='text'>
FreeBSD hides declarations of non-POSIX functions when POSIX macros,
such as _POSIX_C_SOURCE or _XOPEN_SOURCE, is defined. This causes
test/dlwrap.c to fail to compile because it uses dlvsym and asprintf.

Fixes: #169
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
FreeBSD hides declarations of non-POSIX functions when POSIX macros,
such as _POSIX_C_SOURCE or _XOPEN_SOURCE, is defined. This causes
test/dlwrap.c to fail to compile because it uses dlvsym and asprintf.

Fixes: #169
</pre>
</div>
</content>
</entry>
<entry>
<title>dispatch: Load EGL/GLX provider lib from epoxy_has_{egl,glx}()</title>
<updated>2018-05-01T15:50:30+00:00</updated>
<author>
<name>Adam Jackson</name>
<email>ajax@redhat.com</email>
</author>
<published>2018-05-01T15:34:23+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=90db0069b43f40c071510fa4e3b67f6affebd8e2'/>
<id>90db0069b43f40c071510fa4e3b67f6affebd8e2</id>
<content type='text'>
Now that we're being conservative about probing libraries, these
entrypoints would not succeed unless the caller had already dlopened
stuff themselves, or had explicitly linked against the provider library.
Both of those are exactly not what we want.

Signed-off-by: Adam Jackson &lt;ajax@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that we're being conservative about probing libraries, these
entrypoints would not succeed unless the caller had already dlopened
stuff themselves, or had explicitly linked against the provider library.
Both of those are exactly not what we want.

Signed-off-by: Adam Jackson &lt;ajax@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
