[devel] --as-needed и --gc-section was: Re: [sisyphus] systemd

Kirill A. Shutemov kirill на shutemov.name
Пн Янв 31 21:26:02 UTC 2011


On Mon, Jan 31, 2011 at 11:50:24PM +0300, Ivan A. Melnikov wrote:
> On Mon, 31 Jan 2011 22:42:28 +0200
> "Kirill A. Shutemov" <kirill на shutemov.name> wrote:
> 
> > On Mon, Jan 31, 2011 at 11:05:49PM +0300, Ivan A. Melnikov wrote:
> > > On Mon, 31 Jan 2011 21:39:04 +0300
> > > Alexey Shabalin <a.shabalin на gmail.com> wrote:
> > > [...]
> > > > 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 ведёт себя не верно в этом случае.
> > > 
> > > Ругается правильно, и ведёт себя верно: фактически, программа
> > > перелинкована. Другой вопрос, что не ясно, как с этим бороться, и
> > > что (кроме отсутствия соответсвующей строки в логах сборки) это
> > > даст.
> > 
> > Сходите к апстриму в багзиллу. Поставте меня в CC.
> > 
> 
> Апстриму ld или systemd?

ld (binutils), конечно.

-- 
 Kirill A. Shutemov


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