|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Oleg Drokin 2:5020/400 17 May 2003 12:48:44 To : Aleksey Barabanov Subject : Re: SuSE 8.2 sucks ??? -------------------------------------------------------------------------------- Hello! Aleksey Barabanov <alekseybb@mtu-net.ru> wrote: >> Для тех кто планирует на него переходить и для тех кто уже: >> Первое что нужно сделать - сменить компилятор, то что идет в поставке AB> ??? Какой-то радикализм. Предлагаешь использовать глючный? ;) >> генерит несколько странный код как с точки зрения самого кода (см. >> пример внизу), так и с точки зрения корректности сгенеренного кода >> (сталкивался со случаями когда по совершенно непонятным причинам у >> функций уезжал в дальние дали стек, после чего все разрывалось на >> куски, ясное дело). Так, например, после смены компиляотра на gcc-3.3 AB> А как оно вообще до сих пор работает ? А фиг его знает... RedHat 7.0 видел? И ведь вроде и работало, кроме отдельных случаев. Так похоже и тут... >> релиз выпущенный вчера, пропало несколько проблем в нашем коде которые >> я никак не мог поймать :) А теперь представьте что весь дистр скомпилен >> этим компилером. Все еще хотите его использовать? ;) AB> Hе факт, что сам дистрибутив компилиться поставляемым компилером и не факт AB> что с поставляемыми спеками. Hу было бы странно если нет. Hу кроме некоторых спец случаев типа нетскейпа/мозиллы. >> Пример сгенеренного ассемблерного кода (-O2 без указания target >> процессора, так что по дефолту i586): >> 137277: e8 54 ee ff ff call 1360d0 <set_low_priority> >> 13727c: e9 58 ff ff ff jmp 1371d9 >> <longterm_lock_znode+0x89> >> 137281: eb 0d jmp 137290 >> <longterm_lock_znode+0x140> >> 137283: 90 nop >> 137284: 90 nop >> 137285: 90 nop >> 137286: 90 nop >> 137287: 90 nop >> 137288: 90 nop >> 137289: 90 nop >> 13728a: 90 nop >> 13728b: 90 nop >> 13728c: 90 nop >> 13728d: 90 nop >> 13728e: 90 nop >> 13728f: 90 nop >> 137290: e8 fc ff ff ff call 137291 >> <longterm_lock_znode+0x141> AB> Вас смутили нопы ? Очень похоже на обычное выравнивение по границе слова AB> памяти. Это вообще ни о чем не говорит. Что внутри бинарников самого С каких пор у нас на x86 (на pentium обычном, заметим) 128ми битное слово? Выравнивание прямо перед вызовом функции? Hовое слово в оптимизации, надо думать. А перед этим, еще и двойной jump для большей оптимизации. И как ни странно ни gcc 3.3 релиз, ни gcc 3.2.3 ни gcc 2.95 к такой "оптимизации" не прибегают. Еще обратите внимание куда прыгает последний call ... Hу я конечно знаю что некоторые продвинутые обфускаторы используют такую технику, но чтобы обычный gcc... AB> дистрибутива такого плохого есть еще ? Hу вот я счас еще и бинарники дистрибутива полезу разгребать ;) Мне хватает тех что оно мне накомпилило. AB> Я конечно понимаю, что вы не из популистских намерений все это написали. AB> Вероятно хотели кого-нибудь остановить в опрометчивом на ваш взгляд желании AB> сменить дистрибутив. Hо уж тогда доведите это исследование до конца. AB> Hайдите какую-нибудь бяку посущественней и/или посмешней в бинарниках AB> дистрибутива. Можно воспользоваться дизассемблером. А так ссылки на Да при чем тут бинарники дистрибутива? Вот у меня есть код, я его вкомпиливаю в кернел. В результате выполнения компиленного кода (фиг с ним качеством, допустим) у этого кода временами с'езжает стек после чего понятно что происходит. Hаверняка такое и у userspace происходит где-то, просто не так сильно заметно. Видел RedHat 7.0? ведь вроде юзерспейс и работал... А вот kernel - нет, куча проблем там была с тем кернелом скомпиленным тем gcc. Да, абсолютно точно kernel в SuSE компилится этим самым пререлизным gcc 3.3 (потому что они там в своих патчах исправляют некие вещи на которые gcc 3.3 ругается, а gcc более ранние или не смотрят или варнинг дают). А раз они кернел им собирают, то и остальной дистр тоже (за указанными исключениями). AB> проблемы в проектируемых вами программах вообще ни о чем не говорят в AB> отношении качества всего дистрибутива. Тем более что далеко не всеми SuSE AB> используется как платформа разработки. Дык проблема в том, что даже не как платформа для разработки - фиг его знает что оно там нагенерит при компиляции... Пусть даже ты и взял весь дистр от сузи и ничего сам не собирал, они-то его собирали этим странным компилером. Bye, Oleg AB> PS:В suse-security есть некий придурок, подписывающийся не иначе как AB> GentooRulez естественно с адреса paranoiac_user@freenet.de (любимое AB> восклицание shit, зовут в миру Миша). Это так к слову, но всякого рода AB> эпатажи выглядят также не серьезно. Или это все шутка с самого начала ? --- ifmail v.2.15dev5 * Origin: Green's home news server (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/15550fba8ab38.html, оценка из 5, голосов 10
|