Heads-up: you have a port that does not link with lld on i386

Ed Maste <[email protected]>
Newsgroups gmane.os.freebsd.devel.x11
Message-ID <CAPyFy2C2WgdGCpFcw1x7kRSqHf1+X=XbdKB8=Mc-PspBzQPfQg__2606.49726628817$1537473751$gmane$org@mail.gmail.com>
Antoine just finished an exp-run in PR214864 for issues with LLVM's
lld linker as /usr/bin/ld, and the folks in the To: line are listed as
maintainer for one or more of the 85 or so ports that failed in that
exp-run.

Poudriere build
link:http://package18.nyi.freebsd.org/build.html?mastername=headi386PR214864-default&build=2018-09-18_21h13m11s

One of the most common issues that lld exposes is ports that link
non-PIC code into shared objects; by default lld disallows this and
results in an error. This shows up as an error like:

/usr/bin/ld: error: can't create dynamic relocation R_386_32 against
symbol: _glapi_Dispatch in readonly segment; recompile object files
with -fPIC
>>> defined in .libs/shared_glapi_libglapi_la-u_current.o
>>> referenced by entry.c
>>>               .libs/shared_glapi_libglapi_la-entry.o:(.text+0x1)

In many cases I've taken to adding LDFLAGS_i386=-Wl,-znotext which
just overrides lld's default and makes it the same as GNU ld (allowing
.text relocations), although a better fix would entail understanding
the port's build and any reason it may explicitly be avoiding PIC on
i386.

If you have a moment I'd appreciate it if you can investigate your
port's failure and apply a fix. If the problem is other than the one
described above, or the LDFLAGS_i386 workaround is not effective, I'm
happy to help find a different fix.

-Ed
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-x11
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.