lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 6 Feb 2020 16:46:52 -0600
From:   Larry Finger <Larry.Finger@...inger.net>
To:     Ville Syrjälä <ville.syrjala@...ux.intel.com>
Cc:     Tom Anderson <thomasanderson@...gle.com>,
        Hans Verkuil <hansverk@...co.com>,
        Manasi Navare <manasi.d.navare@...el.com>,
        LKML <linux-kernel@...r.kernel.org>
Subject: Error building v5.5-git on PowerPC32 - bisected to commit
 7befe621ff81

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ