Messages in this thread Patch in this message | | | From | Larry Finger <> | Subject | Error building v5.5-git on PowerPC32 - bisected to commit 7befe621ff81 | Date | Thu, 6 Feb 2020 16:46:52 -0600 |
| |
When building post V5.5 on my PowerBook G4 Aluminum, the build failed with the following error:
drivers/gpu/drm/drm_edid.c: In function ‘cea_mode_alternate_timings’: drivers/gpu/drm/drm_edid.c:3275:2: error: call to ‘__compiletime_assert_3282’ declared with attribute error: BUILD_BUG_ON failed: cea_mode_for_vic(8)->vtotal != 262 || cea_mode_for_vic(9)->vtotal != 262 || cea_mode_for_vic(12)->vtotal != 262 || cea_mode_for_vic(13)->vtotal != 262 || cea_mode_for_vic(23)->vtotal != 312 || cea_mode_for_vic(24)->vtotal != 312 || cea_mode_for_vic(27)->vtotal != 312 || cea_mode_for_vic(28)->vtotal != 312
This error was bisected to commit 7befe621ff81 ("drm/edid: Abstract away cea_edid_modes[]").
This problem is clearly a problem with the gcc compiler on the box, namely gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3. I had no success finding why the attributes were wrong, and finally settled on the following hack:
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 99769d6c9f84..062bbe2b254a 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -3272,6 +3272,7 @@ cea_mode_alternate_timings(u8 vic, struct drm_display_mode *mode) * get the other variants by simply increasing the * vertical front porch length. */ +#ifndef CONFIG_PPC32 BUILD_BUG_ON(cea_mode_for_vic(8)->vtotal != 262 || cea_mode_for_vic(9)->vtotal != 262 || cea_mode_for_vic(12)->vtotal != 262 || @@ -3280,6 +3281,7 @@ cea_mode_alternate_timings(u8 vic, struct drm_display_mode *mode) cea_mode_for_vic(24)->vtotal != 312 || cea_mode_for_vic(27)->vtotal != 312 || cea_mode_for_vic(28)->vtotal != 312); +#endif
if (((vic == 8 || vic == 9 || vic == 12 || vic == 13) && mode->vtotal < 263) || Disabling the build check allows me to build and test the post v5.5 versions.
Larry
| |