Page MenuHomeFreeBSD

multimedia/libx264: add -znotext to LDFLAGS on i386, for lld

Authored by emaste on Sep 17 2018, 3:12 PM.
Referenced Files
Unknown Object (File)
Thu, Mar 14, 10:50 PM
Unknown Object (File)
Thu, Mar 14, 10:47 PM
Unknown Object (File)
Thu, Mar 14, 10:46 PM
Unknown Object (File)
Mar 11 2024, 7:42 AM
Unknown Object (File)
Feb 20 2024, 10:39 PM
Unknown Object (File)
Jan 27 2024, 9:25 AM
Unknown Object (File)
Jan 21 2024, 11:49 AM
Unknown Object (File)
Jan 10 2024, 3:41 AM



Example error:

/usr/bin/ld: error: can't create dynamic relocation R_386_PC32 against symbol: gettimeofday in readonly segment; recompile object files with -fPIC

This port links some non-PIC code, which fails with lld as it defaults to disallowing relocations against read-only segments. For i386 we can just add -znotext unconditionally: for GNU BFD ld it just affirms BFD's existing default.

Original version committed in rS479024, this review represents a preferred approach.

I am not a ports committer, so please explicitly mention approval for commit to the ports tree.

Diff Detail

Lint Skipped
Tests Skipped

Event Timeline


Reverse line 17 and 18 so it’s declared before variable is used

The variable substitution/evaluation is done at the end so it works both ways; my natural tendency would be to put them in the other order but this was the one used in the first instance of this approach in review D16813 / rP478120 by @mmokhi.

Any change fixing this issue was (and is) explicitly approved (subject to @emaste confidence in solution/QA) per bugzilla issue comment:

This revision is now accepted and ready to land.Sep 18 2018, 3:02 AM

Does this need to be wrapped in a if defined(${LDFLAGS_${ARCH}}) block to protect a failure if the variable is not defined for the ARCH the port is being built on?

tobik added inline comments.

Why? ${LDFLAGS_${ARCH}} for some ARCH != i386 evals to an empty string, so all is good.

This revision was automatically updated to reflect the committed changes.