[sisyphus] Master beta is ready for testing...

Alexander Bokovoy =?iso-8859-1?q?a=2Ebokovoy_=CE=C1_sam-solutions=2Enet?=
Ср Янв 23 20:26:28 MSK 2002


On Wed, Jan 23, 2002 at 08:12:51PM +0300, Alexander Kubatkin wrote:
> > 
> > ldv просит уточнить: несовместимый с системой на другом процессоре,  которая,
> > возможно, стоит рядом.
> > Если и только если пользователсь собирает  исключительно для себя, -- все будет в
> > порядке.
> > 
> 
> так, а в чем проблема? кто хочет - ставит, кто нет - не ставит, дело выбора
> при установке... как сделано в RedHat - не видел, а в ASP можно поставить
> галочку при установке - ставить оптимизированые пакеты... а дальше
> пользователь/девелопер пусть сам решает, что использовать. Если девелопер
> хочет что-то для кого-то сделать, то он будет в курсе того, что потребуется
> для его программы, а обычный пользователь может об этом и не волноваться,
> ему нужна просто оптимизированая система, мне так кажется... а вам? ;)
Проблема в том, что, например, собрав gcc, оптимизированным для athlon,
пакет, оптимизированный под i586, Вы тем самым можете привести этот пакет
в неработоспособное состояние на машине с i586 из-за того, что gcc всегда
при компоновке линкует программу с libgcc.a, которая содержит
оптимизированный код определенных функций (вроде математических функций,
не поддерживаемых целевым процессором, а также некоторых стандартных
функций работы с памятью).

Вот отрывок из info gcc:

   Code compiled with GCC may call certain library routines.  Most of them
   handle arithmetic for which there are no instructions.  This includes
   multiply and divide on some machines, and floating point operations on
   any machine for which floating point support is disabled with
   `-msoft-float'.  Some standard parts of the C library, such as `bcopy'
   or `memcpy', are also called automatically.  The usual function call
   interface is used for calling the library routines.

   These library routines should be defined in the library `libgcc.a',
   which GCC automatically searches whenever it links a program.  On
   machines that have multiply and divide instructions, if hardware
   floating point is in use, normally `libgcc.a' is not needed, but it is
   searched just in case.

-- 
/ Alexander Bokovoy
$ cat /proc/identity >~/.signature
  `Senior software developer and analyst for SaM-Solutions Ltd.`
---
Nov 21 20:58:58 alconost kernel: VFS: Busy inodes after unmount. 
		    Self-destruct in 5 seconds.  Have a nice day...




Подробная информация о списке рассылки Sisyphus