Gentoo Archives: gentoo-user-ru

From: Alex Efros <powerman@×××××××.ua>
To: gentoo-user-ru@l.g.o
Subject: Re: [OBORONA-SPAM] [gentoo-user-ru] hardened + Xorg
Date: Thu, 12 Jan 2006 19:23:12
Message-Id: 20060112182203.GE4040@home.power
In Reply to: [gentoo-user-ru] hardened + Xorg by Vladimir Solomatin
1 Hi!
2
3 On Thu, Jan 12, 2006 at 07:43:51PM +0300, Vladimir Solomatin wrote:
4 > т.е. после установки и запуска chpax из /etc/init.d/
5 > нужно будет пересобрать всю систему, для того чтобы не работающие в
6 > hardened программы были скомпилированы gcc без патчей ssp и pie?
7
8 Брр. Нет. Зачем пересобирать всю систему? Последовательность такая: когда вы
9 устанавливаете или обновляете одну из тех немногих программ, которые не
10 полностью поддерживают hardened, после компиляции этих программ вам нужно
11 запустить /etc/init.d/chpax, чтобы на бинарники этих программ проставились
12 нужные флаги. Если этого не сделать, то при запуске этих программ вы будете
13 получать SEGFAULT, а в логах ядра будет видно что их прибивает GrSec или PaX.
14
15 > запускаю startx
16 > получаю:
17 >
18 > ....
19 > Duplicate symbol __i686.get_pc_thunk.bx in
20 > /usr/lib/modules/fonts/libbitmap.a:bitmapmod.o
21 > Also defined in /usr/lib/modules/fonts/libbitmap.a
22
23 О! Знакомая проблема. :-) Из-за этого бага мне приходится X-ы компилировать
24 gcc без hardened. Задобало уже. Правда, это единственная прога, которую
25 приходится компилировать gcc без hardened - всем остальным хватает запуска
26 /etc/init.d/chpax. Насколько я понимаю это даже не баг в X, а баг в
27 ati-drivers, которые я использую.
28
29 Делается это примерно так. Если у вас, например:
30
31 home ~ # gcc-config -l
32 [1] i686-pc-linux-gnu-3.4.4 *
33 [2] i686-pc-linux-gnu-3.4.4-hardenednopie
34 [3] i686-pc-linux-gnu-3.4.4-hardenednopiessp
35 [4] i686-pc-linux-gnu-3.4.4-hardenednossp
36 [5] i686-pc-linux-gnu-3.4.4-vanilla
37
38 то:
39
40 gcc-config 5
41 source /etc/profile
42 emerge xorg-x11
43 gcc-config 1
44 source /etc/profile
45
46 Для автоматизации этого процесса, я написал файлик /etc/portage/bashrc:
47 ---cut---
48 if [ "${PN}" == "xorg-x11" ]; then
49 PATH=$PATH:/usr/local/bin:/bin:/usr/bin
50 if [ "${EBUILD_PHASE}" == "unpack" ]; then
51 sudo /usr/bin/gcc-config 5
52 source /etc/profile
53 fi
54 if [ "${EBUILD_PHASE}" == "postinst" ]; then
55 sudo /usr/bin/gcc-config 1
56 source /etc/profile
57 fi
58 fi
59 ---cut---
60
61 Тогда даже если X-ы будут компилироваться в середине `emerge -uDNav world`,
62 то для их компиляции emerge переключится на gcc без hardened, а после их
63 компиляции - вернётся обратно.
64
65 Единственная проблема с моим скриптом - если у вас будет стоят одновременно
66 два gcc то параметры gcc-config 1 и 5 могут выбирать не тот gcc.
67
68 --
69 WBR, Alex.
70 --
71 gentoo-user-ru@g.o mailing list

Replies

Subject Author
Re: [OBORONA-SPAM] [gentoo-user-ru] hardened + Xorg Vladimir Solomatin <littleslash@×××××.ru>