[oi-dev] gfx-drm build issue

Gordon Ross gordon.w.ross at gmail.com
Tue Jan 3 19:00:07 UTC 2017


BTW, I looked at how oi-userland builds gfx-drm and
it looks like the "env -i ..." invocations should keep the
userland env. from leaking through into bldenv.

I'm still curious to know why alp's build complained
about unused variables when mine did not...
Some other build env. difference?

Gordon


On Sat, Dec 31, 2016 at 11:56 AM, Gordon Ross <gordon.w.ross at gmail.com> wrote:
> I understand that (most of) userland wants to use some recent compiler.
> However, the kernel components in drm _really_ need to use the compiler
> that supports mdb and dtrace (no frameless calls etc.)
> So if there's an override of CC, we need that to _not_ happen
> for the specific case of building gfx-drm under userland.
>
>
> On Sat, Dec 31, 2016 at 3:17 AM, Jim Klimov <jimklimov at cos.ru> wrote:
>> 31 декабря 2016 г. 6:23:31 CET, Gordon Ross <gordon.w.ross at gmail.com> пишет:
>>>Should be:  /opt/gcc/4.4.4/bin/gcc
>>>I wonder if the build under oi-userland overrides $CC somehow?
>>>
>>>On Fri, Dec 30, 2016 at 11:43 PM, Gordon Ross <gordon.w.ross at gmail.com>
>>>wrote:
>>>> Hi Alexander,
>>>>
>>>> No, I did not see that warning.  What compiler was in use?
>>>>
>>>>
>>>> On Tue, Dec 27, 2016 at 7:21 AM, Alexander Pyhalov <alp at rsu.ru>
>>>wrote:
>>>>> Hi. Do you see this?
>>>>>
>>>>>  /opt/onbld/bin/bldenv myenv.sh 'cd usr/src;  make'
>>>>> ../../intel/io/agpgart/agpgart.c: In function 'agp_devmap_unmap':
>>>>> ../../intel/io/agpgart/agpgart.c:152: error: 'mementry' may be used
>>>>> uninitialized in this function [-Wuninitialized]
>>>>>
>>>>> And compiler is correct. The following seems to fix this warning:
>>>>>
>>>>> diff --git a/usr/src/uts/intel/io/agpgart/agpgart.c
>>>>> b/usr/src/uts/intel/io/agpgart/agpgart.c
>>>>> index 34f5ca5..b1d6263 100644
>>>>> --- a/usr/src/uts/intel/io/agpgart/agpgart.c
>>>>> +++ b/usr/src/uts/intel/io/agpgart/agpgart.c
>>>>> @@ -149,7 +149,7 @@ agp_devmap_unmap(devmap_cookie_t handle, void
>>>>> *devprivate,
>>>>>      void **new_devprivate2)
>>>>>  {
>>>>>
>>>>> -       struct keytable_ent *mementry;
>>>>> +       struct keytable_ent *mementry = NULL;
>>>>>         agpgart_softstate_t *softstate;
>>>>>         agpgart_ctx_t *ctxp, *newctxp1, *newctxp2;
>>>>>
>>>>> @@ -187,6 +187,7 @@ agp_devmap_unmap(devmap_cookie_t handle, void
>>>>> *devprivate,
>>>>>                 ASSERT(mementry);
>>>>>                 mementry->kte_refcnt++;
>>>>>         }
>>>>> +       ASSERT(mementry != NULL);
>>>>>         ASSERT(mementry->kte_refcnt >= 0);
>>>>>         mutex_exit(&softstate->asoft_instmutex);
>>>>>         kmem_free(ctxp, sizeof (struct agpgart_ctx));
>>>>>
>>>>>
>>>>> --
>>>>> С уважением,
>>>>> Александр Пыхалов,
>>>>> программист отдела телекоммуникационной инфраструктуры
>>>>> управления информационно-коммуникационной инфраструктуры ЮФУ
>>>
>>>_______________________________________________
>>>oi-dev mailing list
>>>oi-dev at openindiana.org
>>>https://openindiana.org/mailman/listinfo/oi-dev
>>
>> By defaults of the past year or so, CC and CXX in oi-userland should point to a wrapper-script from tools/ that calls CCACHE (if available) and wraps the previously set default GCC compiler of the userland makefile framework. I wish that a less clumsy solution were possible (for less forking), but others I tried with vanilla ccache did not work well to pass into sub-builds launched by the recipes. If ccache is not available (or is disabled with its toggle envvars), original compiler vars are used unchanged by the makefiles.
>>
>> Also, afaik the userland is built with gcc-4.9 (or 4.8?), not with the os/net 4.4.4-il.
>>
>> Jim
>> --
>> Typos courtesy of K-9 Mail on my Samsung Android




More information about the oi-dev mailing list