ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Shabalin <a.shabalin@gmail.com>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] --as-needed и --gc-section was: Re: [sisyphus] systemd
Date: Mon, 31 Jan 2011 21:39:04 +0300
Message-ID: <AANLkTimiBdso1MY367GSWgFb=cphvOJoqz_9pgtBqd=x@mail.gmail.com> (raw)
In-Reply-To: <4D43FA24.9080704@mmedia2.kemsu.ru>

2011/1/29 REAL:
> 29.01.2011 03:58, Ivan A. Melnikov пишет:
>>
>> Похоже на то, что -Wl,--as-needed и -Wl,--gc-sections довольно
>> интересно взаимодействуют. Сначала отрабатывает --as-needed, видит что
>> символы из библиотеки нужны, оставляет её; затем --gc-sections удаляет
>> все секции, которые порождали зависимость. Получаем перелинкованную
>> прогамму.
>>
>> Завтра (теперь уже сегодня) попробую воспроизвести на более простом
>> примере.
>
> У меня есть несколько таких примеров; несмотря на то, что я принудительно
> устанавливаю --as-needed при сборке с openmpi, довольно часто вылазят эти
> самые overlinked. Но судя по обсуждаемому здесь, проблема либо не в openmpi,
> либо НЕ ТОЛЬКО в нём...
>
ibtool: link: x86_64-alt-linux-gcc -std=gnu99 -I/usr/include/dbus-1.0
-I/usr/lib64/dbus-1.0/include -pipe -Wall -O2 -pipe -Wall -W -Wextra
-Wno-inline -Wvla -Wundef -Wformat=2 -Wlogical-op -Wsign-compare
-Wformat-security -Wmissing-include-dirs -Wformat-nonliteral
-Wold-style-definition -Wpointer-arith -Winit-self
-Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes
-Wstrict-prototypes -Wredundant-decls -Wmissing-declarations
-Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align
-Wstrict-aliasing=2 -Wwrite-strings -Wno-long-long
-Wno-overlength-strings -Wno-unused-parameter
-Wno-missing-field-initializers -Wno-unused-result
-Wp,-D_FORTIFY_SOURCE=2 -ffast-math -fno-common
-fdiagnostics-show-option -fno-strict-aliasing -fvisibility=hidden
-ffunction-sections -fdata-sections -Wl,--as-needed -Wl,--gc-sections
-o systemd src/systemd-main.o  ./.libs/libsystemd-core.a -lselinux
-ldbus-1 -lpthread -ludev -lwrap -lpam -lpam_misc -laudit -lcap -ldl
-lrt


Правильно ли я понимаю, что пока не собраны все остальные библиотеки
(libselinux, libdbus, libudev, и остальные ) с параметрами
-ffunction-sections -fdata-sections -Wl,--gc-sections, то собирать
systemd с gc-sections не имеет смысла?
Стоит ли к нашему gcc по умолчанию добавлять эти опции, как сделано
для --as-needed?
Правильно ли сейчас ругается
lib.req: WARNING: /home/alex/tmp/systemd-buildroot/bin/systemd:
overlinked libraries: /lib64/ld-linux-x86-64.so.2
или lib.req ведёт себя не верно в этом случае. И если верно, может
просто убрать gc-sections из параметров линковки?


-- 
Alexey Shabalin

  reply	other threads:[~2011-01-31 18:39 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-28 21:58   ` Ivan A. Melnikov
2011-01-29 11:29     ` REAL
2011-01-31 18:39       ` Alexey Shabalin [this message]
2011-01-31 20:05         ` Ivan A. Melnikov
2011-01-31 20:42           ` Kirill A. Shutemov
2011-01-31 20:50             ` Ivan A. Melnikov
2011-01-31 21:26               ` Kirill A. Shutemov
2011-04-06 10:21             ` [devel] " Dmitry V. Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='AANLkTimiBdso1MY367GSWgFb=cphvOJoqz_9pgtBqd=x@mail.gmail.com' \
    --to=a.shabalin@gmail.com \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git