From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Yura Zotov To: mandrake-russian@altlinux.ru Subject: Re: [mdk-re] gcc & -march Message-ID: <20010520145038.A22467@vezyolka.dgap.mipt.ru> Mail-Followup-To: mandrake-russian@altlinux.ru References: <20010520011718.A3245@vezyolka.dgap.mipt.ru> <20010520015407.0b5e17d7.bga@kgok.murmansk.su> <20010520132346.B17072@boids.avilink.net> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20010520132346.B17072@boids.avilink.net>; from ab@avilink.net on Sun, May 20, 2001 at 01:23:46PM +0300 Sender: mandrake-russian-admin@altlinux.ru Errors-To: mandrake-russian-admin@altlinux.ru X-BeenThere: mandrake-russian@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: mandrake-russian@altlinux.ru List-Help: List-Post: List-Subscribe: , List-Id: Linux-Mandrake RE / ALT Linux discussion list List-Unsubscribe: , List-Archive: Date: Sun May 20 14:45:01 2001 X-Original-Date: Sun, 20 May 2001 14:50:38 +0400 Archived-At: List-Archive: List-Post: On Sun, May 20, 2001 at 01:23:46PM +0300, Alexander Bokovoy wrote: > On Sun, May 20, 2001 at 01:54:07AM +0400, Баталов Григорий wrote: > > On Sun, 20 May 2001 01:17:18 +0400 > > Yura Zotov wrote: > > > > > Скажите, пожалуйста, а как gcc узнает, под какую архитектуру делать > > > объектники, если не задан явно параметр -march? Под какой процессор он при > > > этом генерит код? > > > > Неужели под ту, которая в $HOSTTYPE? :) > Нет. Если не указана явно архитектура, то на ia32 генерируется код, > который гарантированно будет работать с i386. Даже если Вы укажете > -mcpu=i686, но не укажете -march=i686, то все равно код сгенерируется > только такой, который можно выполнить на i386, хотя вызовы и распределение > переменных по регистрам будут оптимизированы под i686. > > Аналогично и для других архитектур -- по умолчанию код генерируется так, > чтобы работать на самой слабой машине в серии. Я тут взял и попробовал скомпилировать ОЧЕНЬ простую программу для разных -march=i386|i486|i586|i686|athlon и без явного указания -march. Получилось 6 *.o по ~1.3K, причем 5 из них были по размеру одинаковы и при беглом взгляде внутрь тоже. Отличался от всех только полученный с -march=i386. В чем прикол? > -- > Sincerely yours, Alexander Bokovoy > The Midgard Project | ALT Linux Team | Minsk Linux Users Group > www.midgard-project.org | www.altlinux.ru | www.minsk-lug.net > -- You won't skid if you stay in a rut. > -- Frank Hubbard -- Юрий А. Зотов