> > > Конечно, ничего не работает... Даже без DRI. Уивительно, как это им
> > > удается сделать. Ведь слой совместимости с 32-bit есть...
> >
> > Не удивительно. Достаточно одного неаккуратного поля в структуре
> > данных, разделяемой между ядром и юзер спейс. Например, поля типа
> > long.
>
> Да, но ведь 32-bit приложения работают в 64-битной системе... Правда тут
> еще код инициализации X-сервера есть.

64-битное ядро, получив системый вызов вроде ioctl() от 32-битного 
процесса, получает доступ до физически той же структуры данных 
(буквально - того же места в физической памяти), которую подготовил 
32-битный процесс.

Поэтому либо структуры данных должны быть инвариантны относительно 
32/64-разрядности, либо обработчик системного вызова должен в явном виде 
заниматься преобразованием.


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Ответить