Summary: | u_math.h:591:4: error: implicit declaration of function 'ffsll' | ||
---|---|---|---|
Product: | Mesa | Reporter: | Vinson Lee <vlee> |
Component: | Mesa core | Assignee: | mesa-dev |
Status: | RESOLVED FIXED | QA Contact: | mesa-dev |
Severity: | blocker | ||
Priority: | medium | CC: | brianp, glenn.kennard, maraeo |
Version: | git | Keywords: | bisected, regression |
Hardware: | x86-64 (AMD64) | ||
OS: | NetBSD | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | proposed patch |
Description
Vinson Lee
2015-02-18 06:18:16 UTC
Introduced in 10.5.0-devel by this commit. 50433ea526942dbeac75cc415becadea157e5d33 is the first bad commit commit 50433ea526942dbeac75cc415becadea157e5d33 Author: Marek Olšák <marek.olsak@amd.com> Date: Sat Jan 31 17:15:16 2015 +0100 gallium/util: add u_bit_scan64 Same as u_bit_scan, but for uint64_t. Reviewed-by: Glenn Kennard <glenn.kennard@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com> :040000 040000 4eb1909ac455e690d7de4dbea87cb21b8678ed4b a1d1419d9af472fc2b366764bf8b2a772d11849d M src bisect run success Hi Vinson, Is that with gcc? Which compiler version? I'll attach a patch proposal for you to try... Created attachment 113670 [details] [review] proposed patch If you're using gcc, maybe a gcc version check would be better. This patch also assumes the radeonsi driver isn't used on NetBSD (the only user of u_bit_scan64() at this time.) $ gcc --version gcc (NetBSD nb2 20110806) 4.5.3 Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. attachment 113670 [details] [review] fixes the NetBSD build. Tested-by: Vinson Lee <vlee@freedesktop.org> We now have: #ifdef HAVE___BUILTIN_FFSLL #define ffsll __builtin_ffsll #elif defined(_MSC_VER) && (_M_AMD64 || _M_ARM || _M_IA64) static inline int ffsll(long long int i) { unsigned long index; if (_BitScanForward64(&index, i)) return index + 1; else return 0; } #else extern int ffsll(long long int val); #endif So I'm assuming this was fixed long ago and closing. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.