Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x11-wm/muffin: added workaround for -fno-semantic-interposition #364

Closed
wants to merge 1 commit into from

Conversation

asaparov
Copy link
Contributor

Added -fno-semantic-interposition workaround for x11-wm/muffin to fix compilation error due to maybe-uninitialized warnings and -Werror. Earlier versions of muffin are unaffected.

… compilation error due to maybe-uninitialized warnings and -Werror.
@InBetweenNames
Copy link
Owner

No errors here. Could you post a build.log?

@asaparov
Copy link
Contributor Author

This one I just retested and, interestingly, it fails with -O3 -fno-semantic-interposition but not with -O2 -fno-semantic-interposition. Attaching build.log:
build.log

@InBetweenNames
Copy link
Owner

Very interesting! It looks like you aren't actually passing -flto in your CFLAGS. Is this in your workarounds by any chance?

@asaparov
Copy link
Contributor Author

Ah no I've disabled system-wide LTO for now. I have no other workarounds for muffin or graphene.

@asaparov
Copy link
Contributor Author

asaparov commented Jul 1, 2019

After some more testing I found its the combination of -finline-functions and -fno-semantic-interposition that causes the error on my machine.

@InBetweenNames
Copy link
Owner

Just letting you know, I've encountered at least one other user getting -Werror-style errors for may be uninitialized. I'm looking into it.

@InBetweenNames
Copy link
Owner

Still not able to reproduce this. Closing for now -- please comment if you still need this workaround and I'll reopen.

@asaparov
Copy link
Contributor Author

asaparov commented Jan 3, 2021

I'm not using muffin on any machine any more, but I just did try to re-emerge version 4.6.3 without the workaround and I get the compiler errors:

cogl-pipeline-layer-state.c: In function ‘cogl_pipeline_get_layer_min_filter’:
cogl-pipeline-layer-state.c:1546:10: error: ‘min_filter’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
 1546 |   return min_filter;
      |          ^~~~~~~~~~
cogl-pipeline-layer-state.c: In function ‘cogl_pipeline_get_layer_mag_filter’:
cogl-pipeline-layer-state.c:1558:10: error: ‘mag_filter’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
 1558 |   return mag_filter;
      |          ^~~~~~~~~~
...
cogl-pipeline.c: In function ‘_cogl_pipeline_prune_to_n_layers’:
cogl-pipeline.c:1689:10: error: ‘state.first_index_to_prune’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
 1689 |       if (layer->index >= state.first_index_to_prune)
      |          ^
cc1: some warnings being treated as errors

But this is still with Ofast and no LTO. I don't know if you think we should re-open this.

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.

2 participants