From: "Ivan A. Melnikov" <iv@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Cc: shaba@altlinux.ru
Subject: [devel] --as-needed и --gc-section was: Re: [sisyphus] systemd
Date: Sat, 29 Jan 2011 00:58:24 +0300
Message-ID: <20110129005824.0056d863@deimos.localdomain> (raw)
In-Reply-To: <AANLkTi=4AiSan5S_2r27eCEpJrxdBr=5d96+pvLr5_oW@mail.gmail.com>
On Thu, 27 Jan 2011 15:21:43 +0300
Alexey Shabalin <a.shabalin@gmail.com> wrote:
> 2011/1/26 Alexey Shabalin <a.shabalin@gmail.com>:
[...]
>
> Что-то я не пойму, как бороться с этим(в Makefile ничего криминального
> не обнаружил):
>
> lib.req: WARNING: /home/alex/tmp/systemd-buildroot/bin/systemd:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/bin/systemd-ask-password: overlinked
> libraries: /lib64/ld-linux-x86-64.so.2
> lib.req: WARNING: /home/alex/tmp/systemd-buildroot/bin/systemd-notify:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/bin/systemd-tty-ask-password-agent:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-ac-power:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-cgroups-agent:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-fsck: overlinked
> libraries: /lib64/ld-linux-x86-64.so.2 /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-initctl:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-kmsg-syslogd:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-logger:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-modules-load:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-quotacheck:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-random-seed:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-readahead-collect:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-readahead-replay:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-remount-api-vfs:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-reply-password:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-shutdown:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-shutdownd:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-sysctl:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-timestamp:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-tmpfiles:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-update-utmp:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-user-sessions:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib/systemd/systemd-vconsole-setup:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> /lib64/libselinux.so.1
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/lib64/security/pam_systemd.so:
> overlinked libraries: /lib64/ld-linux-x86-64.so.2
> lib.req: WARNING:
> /home/alex/tmp/systemd-buildroot/usr/bin/systemd-cgls: overlinked
> libraries: /lib64/libselinux.so.1
>
Похоже на то, что -Wl,--as-needed и -Wl,--gc-sections довольно
интересно взаимодействуют. Сначала отрабатывает --as-needed, видит что
символы из библиотеки нужны, оставляет её; затем --gc-sections удаляет
все секции, которые порождали зависимость. Получаем перелинкованную
прогамму.
Завтра (теперь уже сегодня) попробую воспроизвести на более простом
примере.
P.S. Поскольку это теперь больше вопрос по тулчейну, перевожу в devel@.
--
WBR,
Ivan A. Melnikov
next parent reply other threads:[~2011-01-28 21:58 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-28 21:58 ` Ivan A. Melnikov [this message]
2011-01-29 11:29 ` REAL
2011-01-31 18:39 ` Alexey Shabalin
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=20110129005824.0056d863@deimos.localdomain \
--to=iv@altlinux.org \
--cc=devel@lists.altlinux.org \
--cc=shaba@altlinux.ru \
/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