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
next prev parent 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