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

"unused parameter 'type'" warning/error on musl libc #696

Closed
z3ntu opened this issue Jan 9, 2019 · 1 comment
Closed

"unused parameter 'type'" warning/error on musl libc #696

z3ntu opened this issue Jan 9, 2019 · 1 comment

Comments

@z3ntu
Copy link
Contributor

z3ntu commented Jan 9, 2019

/home/luca/mir/src/common/posix_rw_mutex.cpp: In constructor 'mir::PosixRWMutex::PosixRWMutex(mir::PosixRWMutex::Type)':
/home/luca/mir/src/common/posix_rw_mutex.cpp:53:38: error: unused parameter 'type' [-Werror=unused-parameter]
 mir::PosixRWMutex::PosixRWMutex(Type type)
                                 ~~~~~^~~~

(caused by #636)

A crude patch is

diff --git a/src/common/posix_rw_mutex.cpp b/src/common/posix_rw_mutex.cpp
index f52c423480..4e26ee6a56 100644
--- a/src/common/posix_rw_mutex.cpp
+++ b/src/common/posix_rw_mutex.cpp
@@ -100,6 +100,8 @@ mir::PosixRWMutex::PosixRWMutex(Type type)
             std::system_category(),
             "Failed to set preferred rw-lock mode"}));
     }
+#else
+    (void)type;
 #endif
 
     err = pthread_rwlock_init(&mutex, &attr);
@wmww
Copy link
Contributor

wmww commented Jan 10, 2019

Your patch looks fine to me

bors bot added a commit that referenced this issue Jan 10, 2019
700: Fix "unused parameter 'type'" warning/error on musl r=AlanGriffiths a=z3ntu

Fixes #696

Co-authored-by: Luca Weiss <luca@z3ntu.xyz>
@bors bors bot closed this as completed in #700 Jan 10, 2019
AlanGriffiths pushed a commit that referenced this issue Feb 13, 2019
700: Fix "unused parameter 'type'" warning/error on musl r=AlanGriffiths a=z3ntu

Fixes #696

Co-authored-by: Luca Weiss <luca@z3ntu.xyz>
AlanGriffiths pushed a commit that referenced this issue Feb 15, 2019
700: Fix "unused parameter 'type'" warning/error on musl r=AlanGriffiths a=z3ntu

Fixes #696

Co-authored-by: Luca Weiss <luca@z3ntu.xyz>
AlanGriffiths added a commit that referenced this issue Feb 18, 2019
* Merge #678

678: eglstreams-kms: Fix NVIDIA driver version detection. r=gerboland a=RAOF

`glGetString(GL_VERSION)` requires a current context bound.
We should actually bind a current context before calling it!

Co-authored-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>

* Merge #673

673: {eglstream,mesa}-kms: Ensure queried nodes actually support modesetting. r=gerboland a=RAOF

If the NVIDIA drivers are in use, but the experimental KMS support is not enabled,
the eglstream-kms driver would still bind to the device as the EGL implementation
claims to support everything we need.

Check explicitly for modesetting support on the node we're planning to use, so
we can fall back to something that might work. (Fixes: #672)

Co-authored-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>

* Merge #689

689: input/evdev: Avoid double-closing udev monitor fd. r=AlanGriffiths a=RAOF

Closes #684

Co-authored-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>

* Merge #686

686: Don't hardcode request type for ioctl() r=RAOF a=AlanGriffiths

Support libcs with POSIX ioctl arguments

POSIX defines ioctl() with an int request parameter, while glibc uses unsigned long.

Co-authored-by: Alan Griffiths <alan@octopull.co.uk>

* Merge #691

691: Dont clean generated files (better) r=AlanGriffiths a=wmww

Stop deleting generated Wayland and dbus protocol files in a `make clean`, replaces #690.

Co-authored-by: William Wold <wm@wmww.sh>

* Merge #685

685: Install & package the stub modules used by mir_performance_tests. (Fixes #675) r=Saviq a=AlanGriffiths

Install & package the stub modules used by mir_performance_tests. (Fixes #675)

Co-authored-by: Alan Griffiths <alan@octopull.co.uk>

* Merge #693

693: Suppress the compiler diagnostic on Alpine Linux caused by a mismatch between the signed type of the ioctl() request parameter and the unsigned type returned by EVIOCGPROP. (See #692) r=wmww a=AlanGriffiths

Suppress the compiler diagnostic on Alpine Linux caused by a mismatch between the signed type of the ioctl() request parameter and the unsigned type returned by EVIOCGPROP. (See #692)

Co-authored-by: Alan Griffiths <alan@octopull.co.uk>

* Merge #697

697: <sys/poll.h> include is incorrect, use <poll.h> r=AlanGriffiths a=z3ntu



Co-authored-by: Luca Weiss <luca@z3ntu.xyz>

* Merge #700

700: Fix "unused parameter 'type'" warning/error on musl r=AlanGriffiths a=z3ntu

Fixes #696

Co-authored-by: Luca Weiss <luca@z3ntu.xyz>

* Merge #699

699: William enters the dlvsym fray r=AlanGriffiths a=wmww

Yet another fix for the musl dlvsym problem, alternative to #683, #687 and #698

* Uses cmake and an #ifdef to remove dlvsym
* Defaults to using dlvsym if anything goes wrong in the build system
* Puts the ifdef right where the function is called
* Uses the `load_symbol(function_name)` method for minimal redundancy

Co-authored-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Co-authored-by: William Wold <wm@wmww.sh>

* Merge #694

694: ifdef pthread_getname_np as musl doesn't have it r=wmww a=z3ntu



Co-authored-by: Luca Weiss <luca@z3ntu.xyz>
Co-authored-by: Alan Griffiths <alan@octopull.co.uk>

* Merge #701

701: Use the gmock HasSubstr matcher instead of a weird, broken, home grown alternative. r=gerboland a=AlanGriffiths

This looks a workaround that became obsolete some time in the last five years.

Co-authored-by: Alan Griffiths <alan@octopull.co.uk>

* Reduce test dependencies on getting thread name and conditionally disable those that still depend.

(cherry picked from commit a901b75)

* Merge #705

705: Make it possible to disable probing for KMS on platforms where drmCheckModesettingSupported() is unreliable. r=wmww a=AlanGriffiths

Make it possible to disable probing for KMS on platforms where drmCheckModesettingSupported() is unreliable. (Workaround for #704)

Co-authored-by: Alan Griffiths <alan@octopull.co.uk>

* Make it possible to disable probing for KMS on platforms where drmCheckModesettingSupported() is unreliable. (#706)

(cherry picked from commit 7b43534)

* Merge #702

702: musl-tests r=AlanGriffiths a=AlanGriffiths

Update test expectations to work on musl libc

Co-authored-by: Luca Weiss <luca@z3ntu.xyz>
Co-authored-by: Alan Griffiths <alan@octopull.co.uk>

* Merge #710

710: Make it possible to run `mir_stress` with `mir_demo_server --test-client`. (Fixes #709) r=gerboland a=AlanGriffiths

Make it possible to run `mir_stress` with `mir_demo_server --test-client`. (Fixes #709)

This is needed for running this `mir_stress` test as part of the `mir-test-tools` snap.

Co-authored-by: Alan Griffiths <alan@octopull.co.uk>

* Placate new g++ on Fedora rawhide (#712)

* Placate latest g++

* Placate latest g++

(cherry picked from commit 6d500a1)

* Merge #711

711: Look for platforms in the correct relative location when Mir is installed r=Saviq a=AlanGriffiths

Look for platforms in the correct relative location when Mir is installed.

This enables tests packaged in a snap to locate the test platforms.

Co-authored-by: Alan Griffiths <alan@octopull.co.uk>

* Merge #713

713: Add Wayland support for `mir_demo_server --test-client` r=Saviq a=AlanGriffiths

Add Wayland support for `mir_demo_server --test-client`.

Enable automated testing against toolkits that support Wayland.

Co-authored-by: Alan Griffiths <alan@octopull.co.uk>

* Merge #714

714: Another attempt to define ioctl() consistently with the platform headers. r=gerboland a=AlanGriffiths



Co-authored-by: Alan Griffiths <alan@octopull.co.uk>

* Merge #719

719: Simplify code r=wmww a=AlanGriffiths

Delete misleading comment and simplify the code around it.

Co-authored-by: Alan Griffiths <alan@octopull.co.uk>

* Merge #718 #720

718: When running tests, log the test client r=wmww a=AlanGriffiths

This makes it clear in the logs which client is being used for the test.

720: Drop the problematic libmir_demo_server_loadable.so. (Fixes #716) r=gerboland a=AlanGriffiths

Drop the problematic libmir_demo_server_loadable.so. (Fixes #716)

There's little advantage to maintaining this library and Lintian doesn't like packaging it.

Historically we did this because we once had a problem with loading the Mir plugin into Unity8 and wanted to check this works. There's no reason to expect it to break again, and the logic to package and load this library from a new place is more maintenance is warrented.

Co-authored-by: Alan Griffiths <alan@octopull.co.uk>

* Draft changelog

* Drop unused dependencies in Fedora builds (#732)

(cherry picked from commit 75008b2)

* Fix changelog

* Merge #726

726: mesa-kms: Switch from deprecated GBM_BO_FORMAT_… enums. r=AlanGriffiths a=RAOF

`GBM_FORMAT_XRGB8888` is semantically the same, and the Mali gbm only
supports the non-deprecated `GBM_FORMAT_…` enums.

Closes: #606

Co-authored-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>

* Merge #727

727: mesa-kms: Check for EGL_KHR_platform_gbm extension. r=AlanGriffiths a=RAOF

We were checking for the EGL_MESA_platform_gbm extension, an old pre-standardisation version of
the GBM platform extension. Some drivers (hello, Mali!) support EGL_KHR_platform_gbm but not
the Mesa-namespaced version, so preferentially check for the KHR standard extension.

Fixes: #600

Co-authored-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>

* Merge #731

731: mesa-kms: More rigorously detect hybrid GPU setups. r=AlanGriffiths a=RAOF

Use `drmGetPrimaryDeviceNameFromFd()` on both the GBM device and the DRM
device we plan to output to; in the single GPU case these should match,
in the hybrid case they may differ and so we need to migrate the
rendering.

Simply comparing the `drm_fd_` and `gbm_device_get_fd()` return values
is unreliable - there's no guarantee that `gbm_create_device()` won't
internally `dup()` the DRM file descriptor passed in.

Likewise, checking whether both file descriptors point to the same file
is unreliable - `gbm_create_device()` may choose to open a different
file (specifically, the rendernode associated with the DRM node passed
in).

Comparing the primary device nodes for both file descriptors *should* be
reliable.

Closes: #607

Co-authored-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>

* Merge #730

730: mesa-kms: Use EGL_EXT_platform_base. r=AlanGriffiths a=RAOF

This lets us explicitly ask for a GBM-backed EGL platform, rather than just hoping
the libEGL can correctly guess what we've handed in is a pointer to a `gbm_device`.

This is necessary for Mali support, as Mali's libEGL will *not* guess that what
you've passed in to `eglGetDisplay()` is a `gbm_device*`.

Co-authored-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
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

No branches or pull requests

2 participants