Skip to content

Fix linkage with a system libatomic_ops shared library#61

Open
ffontaine wants to merge 1 commit intoUnity-Technologies:unity-masterfrom
ffontaine:unity-master
Open

Fix linkage with a system libatomic_ops shared library#61
ffontaine wants to merge 1 commit intoUnity-Technologies:unity-masterfrom
ffontaine:unity-master

Conversation

@ffontaine
Copy link
Copy Markdown

Issue bdwgc#247 (bdwgc).

When bdwgc is linked with the external libatomic_ops, bdw-gc.pc must
contain the needed dynamic libraries (such as -latomic_ops) otherwise
build of applications could fail on the link stage on some hosts:

  • libgc.so: undefined reference to 'AO_fetch_compare_and_swap_emulation'
  • libgc.so: undefined reference to 'AO_store_full_emulation'

So, this commit sets ATOMIC_OPS_LIBS to "-latomic_ops" when a system
atomic_ops library is used and uses ATOMIC_OPS_LIBS in bdw-gc.pc.in.

  • bdw-gc.pc.in (Libs): Add @ATOMIC_OPS_LIBS@.
  • configure.ac [$with_libatomic_ops!=no && $with_libatomic_ops!=none
    && $THREADS!=none] (ATOMIC_OPS_LIBS): Set to -latomic_ops; do AC_SUBST.

[Retrieved from:
https://github.com/ivmai/bdwgc/commit/02a44ee1df8176c72e75fd706d1a8f063d3196d5]

Signed-off-by: Fabrice Fontaine fontaine.fabrice@gmail.com

Issue bdwgc#247 (bdwgc).

When bdwgc is linked with the external libatomic_ops, bdw-gc.pc must
contain the needed dynamic libraries (such as -latomic_ops) otherwise
build of applications could fail on the link stage on some hosts:
* libgc.so: undefined reference to 'AO_fetch_compare_and_swap_emulation'
* libgc.so: undefined reference to 'AO_store_full_emulation'

So, this commit sets ATOMIC_OPS_LIBS to "-latomic_ops" when a system
atomic_ops library is used and uses ATOMIC_OPS_LIBS in bdw-gc.pc.in.

* bdw-gc.pc.in (Libs): Add @ATOMIC_OPS_LIBS@.
* configure.ac [$with_libatomic_ops!=no && $with_libatomic_ops!=none
&& $THREADS!=none] (ATOMIC_OPS_LIBS): Set to -latomic_ops; do AC_SUBST.

[Retrieved from:
bdwgc@02a44ee]

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
@ffontaine
Copy link
Copy Markdown
Author

Do you have some comments on this PR opened nearly one year ago?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant