Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Valentin Nechayev                    2:5020/400     20 May 2003  10:19:41
 To : Oleg Drokin
 Subject : Re: SuSE 8.2 sucks ???
 -------------------------------------------------------------------------------- 
 
 
 >>> Oleg Drokin wrote:
 
 VN>> А вот и документация к этому в info gcc - надо только было знать, что
 VN>> искать, после того, как увидел глазами код: `-malign-jumps=NUM'     Align
 VN>> instructions that are only jumped to to a 2 raised to a NUM     byte
 VN>> boundary.  If `-malign-jumps' is not specified, the default is     2 if
 VN>> optimizing for a 386, and 4 if optimizing for a 486 unless     gas 2.8 (or 
 VN>> later) is being used in which case the default is to     align the
 VN>> instruction on a 16 byte boundary if it is less than 8     bytes away.
 OD> Вроде как я такую байду не крутил.
 
 Так сказано же - по дефолту 4, то есть выравнивание на 2**4 == 16 байт.
 Что и происходит. А какой gas в этой зюзе?
 
 VN>> Hу вот так вот оно хранит объектники - в поле такого смещения всегда
 VN>> fc ff ff ff (-4 то есть), пока не сделает окончательный бинарник или so.
 OD> Гм, я когда прошлый рз смотрел в сам бинарь - не обратил внимания, завтра
 OD> скомпилю старый код и погляжу. Hаверняка выровняется все.
 
 OK, интересно, хотя на 99% уверен, что выровняется ;)
 
 VN>> Про кучу нопов я тогда ничего не говорил, только предполагал ;)
 VN>> Добавьте -malign-jumps=2 -malign-functions=2 и сравните результат.
 OD> Двойных джампов все равно быть не должно. А они есть.
 
 Hу значит что-то в оптимизаторе поплыло. Вообще у gcc оптимизатор хреновейший
 в плане распределения по уровням. Задашь -O0 - будет куча кода вида
   movl %eax,%edx
   movl %edx,%eax
   movl %eax,%eax
   movl %eax,%eax
 а в 3.0 оно вообще умудрялось константы вычислять в runtime.
 задашь -O1 - отладчик начнёт лажать, потому что строки сдвинулись.
 Промежуточного уровня, при котором бы хотя бы просто цепочки метаний по
 регистрам сжимались, а границы операторов не нарушались, отсутствует.
 -netch-
 --- ifmail v.2.15dev5
  * Origin: Dark side of coredump (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 SuSE 8.2 sucks   Oleg Drokin   16 May 2003 09:55:40 
 Re: SuSE 8.2 sucks   Alexandr S. Agranovsky   16 May 2003 23:22:30 
 Re: SuSE 8.2 sucks   Oleg Drokin   17 May 2003 12:33:34 
 SuSE 8.2 sucks   Alexander Stavitsky   19 May 2003 16:23:08 
 Re: SuSE 8.2 sucks ???   Aleksey Barabanov   17 May 2003 00:14:23 
 Re: SuSE 8.2 sucks ???   Oleg Drokin   17 May 2003 12:48:44 
 Re: SuSE 8.2 sucks ???   Aleksey Barabanov   17 May 2003 13:12:26 
 Re: SuSE 8.2 sucks ???   Oleg Drokin   17 May 2003 14:45:20 
 Re: SuSE 8.2 sucks ???   Aleksey Barabanov   17 May 2003 23:54:08 
 Re: SuSE 8.2 sucks ???   Valentin Nechayev   19 May 2003 21:17:13 
 Re: SuSE 8.2 sucks ???   Oleg Drokin   19 May 2003 22:12:38 
 Re: SuSE 8.2 sucks ???   Valentin Nechayev   19 May 2003 22:29:24 
 Re: SuSE 8.2 sucks ???   Oleg Drokin   19 May 2003 23:45:02 
 Re: SuSE 8.2 sucks ???   Valentin Nechayev   20 May 2003 10:19:41 
 Re: SuSE 8.2 sucks ???   Aleksey Barabanov   19 May 2003 22:41:45 
 SuSE 8.2 sucks   Ivan Melnikov   18 May 2003 11:35:36 
Архивное /ru.linux/736879534ec8.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional