diff mbox series

[v2,1/1] brltty: use gcc instead of ld to link shared objects

Message ID 20180920172809.19993-1-fontaine.fabrice@gmail.com
State Superseded
Headers show
Series [v2,1/1] brltty: use gcc instead of ld to link shared objects | expand

Commit Message

Fabrice Fontaine Sept. 20, 2018, 5:28 p.m. UTC
Bump to version 5.6 has reintroduced the issue fixed by patch 854093 on
version 5.5.

Indeed, third patch was merged upstream but it was then reverted:
https://github.com/brltty/brltty/commit/9e7d62c869d3c1cbe12dda8b0291a4692c193416

Moreover, since commit 3a2e3f6fa5ef0a210ffeba5ed05c79965d0cc3c7, MKOBJ
was renamed into MKREL. So, instead of patching again brltty, overwrite
MKREL to use "gcc -shared -o" instead of "ld -r -o".

Fixes:
 - http://autobuild.buildroot.org/results/31f682838b3d3b2c7103b5c51f2aba0b89d4f630

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
Changes v1 -> v2:
 - Fix patch (missing -o)

 package/brltty/brltty.mk | 3 +++
 1 file changed, 3 insertions(+)

Comments

Thomas Petazzoni Sept. 20, 2018, 7:01 p.m. UTC | #1
Hello,

On Thu, 20 Sep 2018 19:28:09 +0200, Fabrice Fontaine wrote:
> Bump to version 5.6 has reintroduced the issue fixed by patch 854093 on
> version 5.5.
> 
> Indeed, third patch was merged upstream but it was then reverted:
> https://github.com/brltty/brltty/commit/9e7d62c869d3c1cbe12dda8b0291a4692c193416
> 
> Moreover, since commit 3a2e3f6fa5ef0a210ffeba5ed05c79965d0cc3c7, MKOBJ
> was renamed into MKREL. So, instead of patching again brltty, overwrite
> MKREL to use "gcc -shared -o" instead of "ld -r -o".

Are you really sure gcc -shared -o does the same thing as ld -r -o ?

Thomas
Fabrice Fontaine Sept. 20, 2018, 9:48 p.m. UTC | #2
Dear Thomas,

Le jeu. 20 sept. 2018 à 21:01, Thomas Petazzoni <
thomas.petazzoni@bootlin.com> a écrit :

> Hello,
>
> On Thu, 20 Sep 2018 19:28:09 +0200, Fabrice Fontaine wrote:
> > Bump to version 5.6 has reintroduced the issue fixed by patch 854093 on
> > version 5.5.
> >
> > Indeed, third patch was merged upstream but it was then reverted:
> >
> https://github.com/brltty/brltty/commit/9e7d62c869d3c1cbe12dda8b0291a4692c193416
> >
> > Moreover, since commit 3a2e3f6fa5ef0a210ffeba5ed05c79965d0cc3c7, MKOBJ
> > was renamed into MKREL. So, instead of patching again brltty, overwrite
> > MKREL to use "gcc -shared -o" instead of "ld -r -o".
>
> Are you really sure gcc -shared -o does the same thing as ld -r -o ?
>
I didn't think about it, I basically backported the behavior of third patch
(upstream commit 4c8aba42e246b96d10ffcbd57653682375499e46). The third patch
applied to brltty 5.5 (https://patchwork.ozlabs.org/patch/854093/) was
replacing MKOBJ ($(LD) -r -o) by MKMOD defined as (CC)
${brltty_mkmod_gcc_make=-shared}
BRLTTY_OPTIONS_LD2CC([${brltty_mkmod_ld_options}]) -o" with
brltty_mkmod_ld_make="-shared" on linux (see
https://github.com/brltty/brltty/blob/4c8aba42e246b96d10ffcbd57653682375499e46/configure.ac
).
More information can be found here:
https://github.com/brltty/brltty/pull/113
However, I don't know why this commit was reverted one week later.
Mario, you told us in the review of the first patch that the upstream
author decided to "fix" the issue in a different way but actually the issue
is not fixed. Do you know why this commit was reverted? If needed, I can
create an issue to get more info.

>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

Best Regards,

Fabrice
<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Dear Thomas,<br><br><div class="gmail_quote"><div dir="ltr">Le jeu. 20 sept. 2018 à 21:01, Thomas Petazzoni &lt;<a href="mailto:thomas.petazzoni@bootlin.com">thomas.petazzoni@bootlin.com</a>&gt; a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br>
<br>
On Thu, 20 Sep 2018 19:28:09 +0200, Fabrice Fontaine wrote:<br>
&gt; Bump to version 5.6 has reintroduced the issue fixed by patch 854093 on<br>
&gt; version 5.5.<br>
&gt; <br>
&gt; Indeed, third patch was merged upstream but it was then reverted:<br>
&gt; <a href="https://github.com/brltty/brltty/commit/9e7d62c869d3c1cbe12dda8b0291a4692c193416" rel="noreferrer" target="_blank">https://github.com/brltty/brltty/commit/9e7d62c869d3c1cbe12dda8b0291a4692c193416</a><br>
&gt; <br>
&gt; Moreover, since commit 3a2e3f6fa5ef0a210ffeba5ed05c79965d0cc3c7, MKOBJ<br>
&gt; was renamed into MKREL. So, instead of patching again brltty, overwrite<br>
&gt; MKREL to use &quot;gcc -shared -o&quot; instead of &quot;ld -r -o&quot;.<br>
<br>
Are you really sure gcc -shared -o does the same thing as ld -r -o ?<br></blockquote><div>I didn&#39;t think about it, I basically backported the behavior of third patch (upstream commit <span class="gmail-sha-block"><span class="gmail-sha gmail-user-select-contain">4c8aba42e246b96d10ffcbd57653682375499e46)</span></span>. The third patch applied to brltty 5.5 (<a href="https://patchwork.ozlabs.org/patch/854093/">https://patchwork.ozlabs.org/patch/854093/</a>) was replacing MKOBJ (<span class="gmail-blob-code-inner gmail-blob-code-marker-deletion">$(LD) -r -o) by MKMOD defined as (CC) ${brltty_mkmod_gcc_make=-shared} BRLTTY_OPTIONS_LD2CC([${brltty_mkmod_ld_options}]) -o&quot; with  brltty_mkmod_ld_make=&quot;-shared&quot; on linux (see <a href="https://github.com/brltty/brltty/blob/4c8aba42e246b96d10ffcbd57653682375499e46/configure.ac">https://github.com/brltty/brltty/blob/4c8aba42e246b96d10ffcbd57653682375499e46/configure.ac</a>).</span></div><div><span class="gmail-blob-code-inner gmail-blob-code-marker-deletion">More information can be found here: <a href="https://github.com/brltty/brltty/pull/113">https://github.com/brltty/brltty/pull/113</a><br></span></div><div><span class="gmail-blob-code-inner gmail-blob-code-marker-deletion">However, I don&#39;t know why this commit was reverted one week later.<br></span></div><div><span class="gmail-blob-code-inner gmail-blob-code-marker-deletion">Mario, you told us in the review of the first patch that the upstream author decided to &quot;fix&quot; the issue in a different way but actually the issue is not fixed. Do you know why this commit was reverted? If needed, I can create an issue to get more info.<br></span></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Thomas<br>
-- <br>
Thomas Petazzoni, CTO, Bootlin<br>
Embedded Linux and Kernel engineering<br>
<a href="https://bootlin.com" rel="noreferrer" target="_blank">https://bootlin.com</a></blockquote><div></div><div>Best Regards,</div><div><br></div><div>Fabrice<br></div></div></div></div></div></div>
Mario Lang Sept. 21, 2018, 6:34 a.m. UTC | #3
Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:

> Dear Thomas,
>
> Le jeu. 20 sept. 2018 à 21:01, Thomas Petazzoni <
> thomas.petazzoni@bootlin.com> a écrit :
>
>> Hello,
>>
>> On Thu, 20 Sep 2018 19:28:09 +0200, Fabrice Fontaine wrote:
>> > Bump to version 5.6 has reintroduced the issue fixed by patch 854093 on
>> > version 5.5.
>> >
>> > Indeed, third patch was merged upstream but it was then reverted:
>> >
>> https://github.com/brltty/brltty/commit/9e7d62c869d3c1cbe12dda8b0291a4692c193416
>> >
>> > Moreover, since commit 3a2e3f6fa5ef0a210ffeba5ed05c79965d0cc3c7, MKOBJ
>> > was renamed into MKREL. So, instead of patching again brltty, overwrite
>> > MKREL to use "gcc -shared -o" instead of "ld -r -o".
>>
>> Are you really sure gcc -shared -o does the same thing as ld -r -o ?

ld fails to link on mipsel at least.  What else should we do?
"ABI is incompatible with that of the selected emulation"
"Attempt to do relocatable link with elf64-tradlittlemips input and
elf32-ntradlittlemips output"

Hmm, maybe this is a HOST/TARGET mixup?  But how?

> I didn't think about it, I basically backported the behavior of third patch
> (upstream commit 4c8aba42e246b96d10ffcbd57653682375499e46). The third patch
> applied to brltty 5.5 (https://patchwork.ozlabs.org/patch/854093/) was
> replacing MKOBJ ($(LD) -r -o) by MKMOD defined as (CC)
> ${brltty_mkmod_gcc_make=-shared}
> BRLTTY_OPTIONS_LD2CC([${brltty_mkmod_ld_options}]) -o" with
> brltty_mkmod_ld_make="-shared" on linux (see
> https://github.com/brltty/brltty/blob/4c8aba42e246b96d10ffcbd57653682375499e46/configure.ac
> ).
> More information can be found here:
> https://github.com/brltty/brltty/pull/113
> However, I don't know why this commit was reverted one week later.
> Mario, you told us in the review of the first patch that the upstream
> author decided to "fix" the issue in a different way but actually the issue
> is not fixed. Do you know why this commit was reverted? If needed, I can
> create an issue to get more info.

It was reverted because it failed to build on Mac OS X, and Mac OS X was
deemed more important then cross-compiling on Linux.

Upstream (dave@mielke.cc) is very responsive, maybe you have more luck
trying to work this one out with him?
Fabrice Fontaine Sept. 27, 2018, 9:55 p.m. UTC | #4
Dear Mario, Thomas,

Le ven. 21 sept. 2018 à 08:34, Mario Lang <mlang@blind.guru> a écrit :

> Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:
>
> > Dear Thomas,
> >
> > Le jeu. 20 sept. 2018 à 21:01, Thomas Petazzoni <
> > thomas.petazzoni@bootlin.com> a écrit :
> >
> >> Hello,
> >>
> >> On Thu, 20 Sep 2018 19:28:09 +0200, Fabrice Fontaine wrote:
> >> > Bump to version 5.6 has reintroduced the issue fixed by patch 854093
> on
> >> > version 5.5.
> >> >
> >> > Indeed, third patch was merged upstream but it was then reverted:
> >> >
> >>
> https://github.com/brltty/brltty/commit/9e7d62c869d3c1cbe12dda8b0291a4692c193416
> >> >
> >> > Moreover, since commit 3a2e3f6fa5ef0a210ffeba5ed05c79965d0cc3c7, MKOBJ
> >> > was renamed into MKREL. So, instead of patching again brltty,
> overwrite
> >> > MKREL to use "gcc -shared -o" instead of "ld -r -o".
> >>
> >> Are you really sure gcc -shared -o does the same thing as ld -r -o ?
>
> ld fails to link on mipsel at least.  What else should we do?
> "ABI is incompatible with that of the selected emulation"
> "Attempt to do relocatable link with elf64-tradlittlemips input and
> elf32-ntradlittlemips output"
>
After more investigations, it seems that this issue is raised only on
mips64el (at least on autobuilders:
http://autobuild.buildroot.org/?reason=brltty-5.6).
On this target, by default, ld wants to link a 32 bits binary (I don't know
why).
This issue can be fixed by setting LD="$(TARGET_LD) -melf64ltsmip".
However, I don't know if this a better solution, it seems like a workaround
to a toolchain issue.

>
> Hmm, maybe this is a HOST/TARGET mixup?  But how?
>
> > I didn't think about it, I basically backported the behavior of third
> patch
> > (upstream commit 4c8aba42e246b96d10ffcbd57653682375499e46). The third
> patch
> > applied to brltty 5.5 (https://patchwork.ozlabs.org/patch/854093/) was
> > replacing MKOBJ ($(LD) -r -o) by MKMOD defined as (CC)
> > ${brltty_mkmod_gcc_make=-shared}
> > BRLTTY_OPTIONS_LD2CC([${brltty_mkmod_ld_options}]) -o" with
> > brltty_mkmod_ld_make="-shared" on linux (see
> >
> https://github.com/brltty/brltty/blob/4c8aba42e246b96d10ffcbd57653682375499e46/configure.ac
> > ).
> > More information can be found here:
> > https://github.com/brltty/brltty/pull/113
> > However, I don't know why this commit was reverted one week later.
> > Mario, you told us in the review of the first patch that the upstream
> > author decided to "fix" the issue in a different way but actually the
> issue
> > is not fixed. Do you know why this commit was reverted? If needed, I can
> > create an issue to get more info.
>
> It was reverted because it failed to build on Mac OS X, and Mac OS X was
> deemed more important then cross-compiling on Linux.
>
> Upstream (dave@mielke.cc) is very responsive, maybe you have more luck
> trying to work this one out with him?
>
> --
> CYa,
>   ⡍⠁⠗⠊⠕
>
Best Regards,

Fabrice
<div dir="ltr"><div dir="ltr"><div dir="ltr">Dear Mario, Thomas,<br><br><div class="gmail_quote"><div dir="ltr">Le ven. 21 sept. 2018 à 08:34, Mario Lang &lt;mlang@blind.guru&gt; a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Fabrice Fontaine &lt;<a href="mailto:fontaine.fabrice@gmail.com" target="_blank">fontaine.fabrice@gmail.com</a>&gt; writes:<br>
<br>
&gt; Dear Thomas,<br>
&gt;<br>
&gt; Le jeu. 20 sept. 2018 à 21:01, Thomas Petazzoni &lt;<br>
&gt; <a href="mailto:thomas.petazzoni@bootlin.com" target="_blank">thomas.petazzoni@bootlin.com</a>&gt; a écrit :<br>
&gt;<br>
&gt;&gt; Hello,<br>
&gt;&gt;<br>
&gt;&gt; On Thu, 20 Sep 2018 19:28:09 +0200, Fabrice Fontaine wrote:<br>
&gt;&gt; &gt; Bump to version 5.6 has reintroduced the issue fixed by patch 854093 on<br>
&gt;&gt; &gt; version 5.5.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Indeed, third patch was merged upstream but it was then reverted:<br>
&gt;&gt; &gt;<br>
&gt;&gt; <a href="https://github.com/brltty/brltty/commit/9e7d62c869d3c1cbe12dda8b0291a4692c193416" rel="noreferrer" target="_blank">https://github.com/brltty/brltty/commit/9e7d62c869d3c1cbe12dda8b0291a4692c193416</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Moreover, since commit 3a2e3f6fa5ef0a210ffeba5ed05c79965d0cc3c7, MKOBJ<br>
&gt;&gt; &gt; was renamed into MKREL. So, instead of patching again brltty, overwrite<br>
&gt;&gt; &gt; MKREL to use &quot;gcc -shared -o&quot; instead of &quot;ld -r -o&quot;.<br>
&gt;&gt;<br>
&gt;&gt; Are you really sure gcc -shared -o does the same thing as ld -r -o ?<br>
<br>
ld fails to link on mipsel at least.  What else should we do?<br>
&quot;ABI is incompatible with that of the selected emulation&quot;<br>
&quot;Attempt to do relocatable link with elf64-tradlittlemips input and<br>
elf32-ntradlittlemips output&quot;<br></blockquote><div>After more investigations, it seems that this issue is raised only on mips64el (at least on autobuilders: <a href="http://autobuild.buildroot.org/?reason=brltty-5.6">http://autobuild.buildroot.org/?reason=brltty-5.6</a>).</div><div>On this target, by default, ld wants to link a 32 bits binary (I don&#39;t know why).</div><div>This issue can be fixed by setting LD=&quot;$(TARGET_LD) -melf64ltsmip&quot;. However, I don&#39;t know if this a better solution, it seems like a workaround to a toolchain issue.<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Hmm, maybe this is a HOST/TARGET mixup?  But how?<br>
<br>
&gt; I didn&#39;t think about it, I basically backported the behavior of third patch<br>
&gt; (upstream commit 4c8aba42e246b96d10ffcbd57653682375499e46). The third patch<br>
&gt; applied to brltty 5.5 (<a href="https://patchwork.ozlabs.org/patch/854093/" rel="noreferrer" target="_blank">https://patchwork.ozlabs.org/patch/854093/</a>) was<br>
&gt; replacing MKOBJ ($(LD) -r -o) by MKMOD defined as (CC)<br>
&gt; ${brltty_mkmod_gcc_make=-shared}<br>
&gt; BRLTTY_OPTIONS_LD2CC([${brltty_mkmod_ld_options}]) -o&quot; with<br>
&gt; brltty_mkmod_ld_make=&quot;-shared&quot; on linux (see<br>
&gt; <a href="https://github.com/brltty/brltty/blob/4c8aba42e246b96d10ffcbd57653682375499e46/configure.ac" rel="noreferrer" target="_blank">https://github.com/brltty/brltty/blob/4c8aba42e246b96d10ffcbd57653682375499e46/configure.ac</a><br>
&gt; ).<br>
&gt; More information can be found here:<br>
&gt; <a href="https://github.com/brltty/brltty/pull/113" rel="noreferrer" target="_blank">https://github.com/brltty/brltty/pull/113</a><br>
&gt; However, I don&#39;t know why this commit was reverted one week later.<br>
&gt; Mario, you told us in the review of the first patch that the upstream<br>
&gt; author decided to &quot;fix&quot; the issue in a different way but actually the issue<br>
&gt; is not fixed. Do you know why this commit was reverted? If needed, I can<br>
&gt; create an issue to get more info.<br>
<br>
It was reverted because it failed to build on Mac OS X, and Mac OS X was<br>
deemed more important then cross-compiling on Linux.<br>
<br>
Upstream (dave@mielke.cc) is very responsive, maybe you have more luck<br>
trying to work this one out with him?<br>
<br>
-- <br>
CYa,<br>
  ⡍⠁⠗⠊⠕<br></blockquote><div>Best Regards,</div><div><br></div><div>Fabrice<br></div></div></div></div></div>
Arnout Vandecappelle Oct. 2, 2018, 10:27 p.m. UTC | #5
On 27/09/2018 23:55, Fabrice Fontaine wrote:
> Dear Mario, Thomas,
> 
> Le ven. 21 sept. 2018 à 08:34, Mario Lang <mlang@blind.guru> a écrit :
> 
>     Fabrice Fontaine <fontaine.fabrice@gmail.com
>     <mailto:fontaine.fabrice@gmail.com>> writes:
> 
>     > Dear Thomas,
>     >
>     > Le jeu. 20 sept. 2018 à 21:01, Thomas Petazzoni <
>     > thomas.petazzoni@bootlin.com <mailto:thomas.petazzoni@bootlin.com>> a écrit :
>     >
>     >> Hello,
>     >>
>     >> On Thu, 20 Sep 2018 19:28:09 +0200, Fabrice Fontaine wrote:
>     >> > Bump to version 5.6 has reintroduced the issue fixed by patch 854093 on
>     >> > version 5.5.
>     >> >
>     >> > Indeed, third patch was merged upstream but it was then reverted:
>     >> >
>     >>
>     https://github.com/brltty/brltty/commit/9e7d62c869d3c1cbe12dda8b0291a4692c193416
>     >> >
>     >> > Moreover, since commit 3a2e3f6fa5ef0a210ffeba5ed05c79965d0cc3c7, MKOBJ
>     >> > was renamed into MKREL. So, instead of patching again brltty, overwrite
>     >> > MKREL to use "gcc -shared -o" instead of "ld -r -o".
>     >>
>     >> Are you really sure gcc -shared -o does the same thing as ld -r -o ?

 I'm a bit confused... ld -r creates a relocatable object file (partial
linking), while ld -shared creates a shared library. According to the gcc man
page, gcc -shared to create a relocatable object file as well, i.e. they are
equivalent. However, in the spec file, I see that -shared is just passed to the
linker as -shared, not as -r...


>     ld fails to link on mipsel at least.  What else should we do?
>     "ABI is incompatible with that of the selected emulation"
>     "Attempt to do relocatable link with elf64-tradlittlemips input and
>     elf32-ntradlittlemips output"
> 
> After more investigations, it seems that this issue is raised only on mips64el
> (at least on autobuilders: http://autobuild.buildroot.org/?reason=brltty-5.6).
> On this target, by default, ld wants to link a 32 bits binary (I don't know why).
> This issue can be fixed by setting LD="$(TARGET_LD) -melf64ltsmip". However, I
> don't know if this a better solution, it seems like a workaround to a toolchain
> issue.

 In general, it is possible that additional options have to be passed to ld to
make sure it creates the correct type of ELF file. The toolchain-wrapper makes
sure that the correct options are passed. Calling ld directly bypasses those.


>     Hmm, maybe this is a HOST/TARGET mixup?  But how?
> 
>     > I didn't think about it, I basically backported the behavior of third patch
>     > (upstream commit 4c8aba42e246b96d10ffcbd57653682375499e46). The third patch
>     > applied to brltty 5.5 (https://patchwork.ozlabs.org/patch/854093/) was
>     > replacing MKOBJ ($(LD) -r -o) by MKMOD defined as (CC)
>     > ${brltty_mkmod_gcc_make=-shared}
>     > BRLTTY_OPTIONS_LD2CC([${brltty_mkmod_ld_options}]) -o" with
>     > brltty_mkmod_ld_make="-shared" on linux (see
>     >
>     https://github.com/brltty/brltty/blob/4c8aba42e246b96d10ffcbd57653682375499e46/configure.ac
>     > ).
>     > More information can be found here:
>     > https://github.com/brltty/brltty/pull/113
>     > However, I don't know why this commit was reverted one week later.
>     > Mario, you told us in the review of the first patch that the upstream
>     > author decided to "fix" the issue in a different way but actually the issue
>     > is not fixed. Do you know why this commit was reverted? If needed, I can
>     > create an issue to get more info.
> 
>     It was reverted because it failed to build on Mac OS X, and Mac OS X was
>     deemed more important then cross-compiling on Linux.

 What might work is to add a condition for MKREL like already exists for MKSHR:

   if test "${GCC}" = "yes"
   then
      brltty_cv_prog_make_object_relocatable="\$(CC) -shared -o"
   else
      brltty_cv_prog_make_object_relocatable="\$(LD) -r -o"
   fi


 Regards,
 Arnout

> 
>     Upstream (dave@mielke.cc) is very responsive, maybe you have more luck
>     trying to work this one out with him?
> 
>     -- 
>     CYa,
>       ⡍⠁⠗⠊⠕
> 
> Best Regards,
> 
> Fabrice
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
diff mbox series

Patch

diff --git a/package/brltty/brltty.mk b/package/brltty/brltty.mk
index 21f6877bb8..615950800d 100644
--- a/package/brltty/brltty.mk
+++ b/package/brltty/brltty.mk
@@ -15,6 +15,9 @@  BRLTTY_LICENSE_FILES = LICENSE-LGPL README
 BRLTTY_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) host-autoconf host-pkgconf \
 	$(if $(BR2_PACKAGE_AT_SPI2_CORE),at-spi2-core)
 
+BRLTTY_CONF_ENV = \
+	brltty_cv_prog_make_object_relocatable="$(TARGET_CC) -shared -o"
+
 BRLTTY_CONF_OPTS = \
 	--disable-java-bindings \
 	--disable-lisp-bindings \