Compare commits

...

529 Commits

Author SHA1 Message Date
Thomas Trepl
64b7f9d5ae Automatic merge of trunk into multilib 2023-09-02 00:30:16 +02:00
Thomas Trepl
b504c8011f Automatic merge of trunk into multilib 2023-09-01 00:30:09 +02:00
Thomas Trepl
acbe862dc5 Automatic merge of trunk into multilib 2023-08-30 00:30:09 +02:00
Thomas Trepl
8676c1fa89 Automatic merge of trunk into multilib 2023-08-29 00:30:21 +02:00
Thomas Trepl
b1f6d8de63 Automatic merge of trunk into multilib 2023-08-28 00:30:16 +02:00
Thomas Trepl
8a9bdd99b9 Enable isl in all modes. Isl makes sence on i686, too but on 32bit systems, the ML options like (ml_all, ml_m32,...) are never set so isl was never built on i686 2023-08-27 08:28:57 +02:00
Thomas Trepl
64565213b7 Automatic merge of trunk into multilib 2023-08-27 00:30:15 +02:00
Thomas Trepl
9ae9b7b4f7 Enable isl in all modes. Isl makes sence on i686, too but on 32bit systems, the ML options like (ml_all, ml_m32,...) are never set so isl was never built on i686 2023-08-26 13:20:26 +02:00
Thomas Trepl
f83f8649db Automatic merge of trunk into multilib 2023-08-26 00:30:20 +02:00
Thomas Trepl
d24801d347 Automatic merge of trunk into multilib 2023-08-25 00:30:10 +02:00
Thomas Trepl
4d4a2f1f99 Automatic merge of trunk into multilib 2023-08-22 00:30:10 +02:00
Thomas Trepl
28e6fae87f Automatic merge of trunk into multilib 2023-08-19 00:30:20 +02:00
Thomas Trepl
6fd9f0658c Automatic merge of trunk into multilib 2023-08-17 00:30:11 +02:00
Thomas Trepl
32db9062aa Automatic merge of trunk into multilib 2023-08-16 00:30:16 +02:00
Thomas Trepl
e56b7f5b63 Automatic merge of trunk into multilib 2023-08-15 05:07:35 +02:00
Thomas Trepl
974c6b13a1 Automatic merge of trunk into multilib 2023-08-15 00:30:10 +02:00
Thomas Trepl
2b17a82ddc Merge branch 'trunk' into multilib 2023-08-14 21:02:15 +02:00
Thomas Trepl
fe625c6b3d Add an option to set defaults (commented out) 2023-08-14 21:01:25 +02:00
Thomas Trepl
26e4b86f18 Fix typos 2023-08-14 11:10:34 +02:00
Thomas Trepl
1c0eafc71e Automatic merge of trunk into multilib 2023-08-11 00:30:10 +02:00
Thomas Trepl
5c9689cc50 Synchronize instructions dft<-->ML 2023-08-09 09:20:57 +02:00
Thomas Trepl
03d43068f4 Synchronize instructions dft<-->ML 2023-08-09 08:24:02 +02:00
Thomas Trepl
45708d879e Automatic merge of trunk into multilib 2023-08-09 00:30:10 +02:00
Thomas Trepl
60a942a33d Remove libxcrypt again - not required in ch5 2023-08-08 19:54:14 +02:00
Thomas Trepl
5a1f88329c Automatic merge of trunk into multilib 2023-08-08 15:22:00 +02:00
Thomas Trepl
feb8dee090 Build libxcrypt on any platform 2023-08-08 15:21:26 +02:00
Thomas Trepl
3fb162fd28 Automatic merge of trunk into multilib 2023-08-08 00:30:10 +02:00
Thomas Trepl
58634ab2e3 Automatic merge of trunk into multilib 2023-08-04 00:30:09 +02:00
Thomas Trepl
741890da01 Merge branch 'trunk' into multilib 2023-08-03 12:29:56 +02:00
Thomas Trepl
3b3454a7b2 Automatic merge of trunk into multilib 2023-08-03 00:30:10 +02:00
Thomas Trepl
69793ff11e Fix a formatting issue 2023-08-02 12:42:33 +02:00
Thomas Trepl
01d1eba049 Add libxcrypt to ch5 - gcc(mx32) needs it 2023-08-02 12:01:04 +02:00
Thomas Trepl
3a4f80cf24 Merge branch 'trunk' into multilib 2023-08-02 09:54:10 +02:00
Thomas Trepl
72e10c9fc6 Add libxcrypt to ch5 2023-08-02 09:53:38 +02:00
Thomas Trepl
3ecf6ae99d Merge branch 'trunk' into multilib 2023-08-01 22:49:01 +02:00
Thomas Trepl
6f86139316 Make sure that pkgconfig files are created properly for x{,x}32 2023-07-29 16:16:56 +02:00
Thomas Trepl
3a01ce9f4c Multilib support in libxcrypt 2023-07-29 12:33:20 +02:00
Thomas Trepl
da2e8cba81 Automatic merge of trunk into multilib 2023-07-29 09:05:05 +02:00
Thomas Trepl
7f440a607c Automatic merge of trunk into multilib 2023-07-23 11:09:56 +02:00
Thomas Trepl
b3d94f390c Automatic merge of trunk into multilib 2023-07-23 00:30:15 +02:00
Thomas Trepl
9f0c94b408 Automatic merge of trunk into multilib 2023-07-22 00:30:09 +02:00
Thomas Trepl
2cf3d3ac59 Automatic merge of trunk into multilib 2023-07-20 00:30:14 +02:00
Thomas Trepl
df9c52eca4 Fix syntax error in CFLAGS when doing mx32 2023-07-19 16:16:02 +02:00
Thomas Trepl
9a674b492c Simplify and fix instructions for ML 2023-07-19 09:03:25 +02:00
Thomas Trepl
67b901f0e5 Re-add ml-support **NOT TESTED YET** 2023-07-18 22:39:34 +02:00
Thomas Trepl
7d40eeb537 Merge upstream change of eudev->sysd.udev 2023-07-18 22:19:36 +02:00
Thomas Trepl
9cdd53b560 Automatic merge of trunk into multilib 2023-07-16 00:30:10 +02:00
Thomas Trepl
7b3d536d9e Automatic merge of trunk into multilib 2023-07-12 00:30:15 +02:00
Thomas Trepl
51f6a99315 Automatic merge of trunk into multilib 2023-07-05 00:30:15 +02:00
Thomas Trepl
b8707993c4 Automatic merge of trunk into multilib 2023-07-04 00:30:16 +02:00
Thomas Trepl
ac3fcdb1f5 Automatic merge of trunk into multilib 2023-07-03 00:30:16 +02:00
Thomas Trepl
dab8de0dcd Automatic merge of trunk into multilib 2023-07-01 00:30:10 +02:00
Thomas Trepl
16e9e782b2 Automatic merge of trunk into multilib 2023-06-24 00:30:16 +02:00
Thomas Trepl
4e2fc61312 Automatic merge of trunk into multilib 2023-06-22 00:30:10 +02:00
Thomas Trepl
988db38c63 Automatic merge of trunk into multilib 2023-06-20 00:30:15 +02:00
Thomas Trepl
0e223a6d24 Automatic merge of trunk into multilib 2023-06-18 00:30:12 +02:00
Thomas Trepl
22487156d1 Automatic merge of trunk into multilib 2023-06-12 00:30:15 +02:00
Thomas Trepl
47326fd710 Automatic merge of trunk into multilib 2023-06-10 00:30:09 +02:00
Thomas Trepl
165314a9c1 Automatic merge of trunk into multilib 2023-06-08 00:30:09 +02:00
Thomas Trepl
48ac979ab4 Automatic merge of trunk into multilib 2023-06-06 00:30:09 +02:00
Thomas Trepl
5e61857856 Automatic merge of trunk into multilib 2023-06-05 00:30:15 +02:00
Thomas Trepl
5e5dc89211 Automatic merge of trunk into multilib 2023-05-17 00:30:13 +02:00
Thomas Trepl
e8e771a013 Automatic merge of trunk into multilib 2023-05-16 00:30:09 +02:00
Thomas Trepl
e233b61123 Automatic merge of trunk into multilib 2023-05-14 00:30:09 +02:00
Thomas Trepl
031db1bbb7 Automatic merge of trunk into multilib 2023-05-09 00:30:13 +02:00
Thomas Trepl
3b4ac52d47 Automatic merge of trunk into multilib 2023-05-08 00:30:09 +02:00
Thomas Trepl
adcaa44de6 Simplify instructions for m32 and mx32 2023-05-07 22:40:51 +02:00
Thomas Trepl
5975e7e72e Automatic merge of trunk into multilib 2023-05-04 00:30:08 +02:00
Thomas Trepl
b98c8b8659 Automatic merge of trunk into multilib 2023-05-03 00:30:15 +02:00
Thomas Trepl
48df889753 Automatic merge of trunk into multilib 2023-05-02 05:58:54 +02:00
Thomas Trepl
7a51953cac Automatic merge of trunk into multilib 2023-05-02 05:36:43 +02:00
Thomas Trepl
796b226aa2 Automatic merge of trunk into multilib 2023-04-17 00:30:13 +02:00
Thomas Trepl
5a0eccd161 Automatic merge of trunk into multilib 2023-04-16 00:30:13 +02:00
Thomas Trepl
eac5d6fe97 Automatic merge of trunk into multilib 2023-04-15 00:30:13 +02:00
Thomas Trepl
ad897739dc Automatic merge of trunk into multilib 2023-04-11 00:30:10 +02:00
Thomas Trepl
70617e86c9 Automatic merge of trunk into multilib 2023-04-09 00:30:12 +02:00
Thomas Trepl
22f3dd7d68 Automatic merge of trunk into multilib 2023-04-08 00:30:09 +02:00
Thomas Trepl
46ada7201e Automatic merge of trunk into multilib 2023-04-05 00:30:10 +02:00
Thomas Trepl
864c66d3a0 Automatic merge of trunk into multilib 2023-04-02 00:30:14 +02:00
Thomas Trepl
c33354ca4d Automatic merge of trunk into multilib 2023-04-01 00:30:12 +02:00
Thomas Trepl
1c0bd9036f Automatic merge of trunk into multilib 2023-03-31 00:30:10 +02:00
Thomas Trepl
9eebb0e5c2 Automatic merge of trunk into multilib 2023-03-30 00:30:09 +02:00
Thomas Trepl
960710eac0 Automatic merge of trunk into multilib 2023-03-24 00:30:15 +01:00
Thomas Trepl
fef648d8d4 Automatic merge of trunk into multilib 2023-03-22 00:30:13 +01:00
Thomas Trepl
866916e08c Automatic merge of trunk into multilib 2023-03-16 00:30:09 +01:00
Thomas Trepl
898d71a949 Automatic merge of trunk into multilib 2023-03-14 00:30:12 +01:00
Thomas Trepl
b5b704a30c Automatic merge of trunk into multilib 2023-03-12 11:36:30 +01:00
Thomas Trepl
31e6ccb2cb Automatic merge of trunk into multilib 2023-03-12 00:30:15 +01:00
Thomas Trepl
db84777ce9 Automatic merge of trunk into multilib 2023-03-11 00:30:10 +01:00
Thomas Trepl
2858f02052 Automatic merge of trunk into multilib 2023-03-09 00:30:10 +01:00
Thomas Trepl
ce49ad6473 Automatic merge of trunk into multilib 2023-03-08 18:17:41 +01:00
Thomas Trepl
d09e490fb2 Automatic merge of trunk into multilib 2023-03-05 11:16:29 +01:00
Thomas Trepl
4e897cf409 Fix conflicts 2023-03-05 11:14:49 +01:00
Thomas Trepl
d8bc5bdfb6 Automatic merge of trunk into multilib 2023-03-02 12:01:11 +01:00
Thomas Trepl
23c21ef00a Automatic merge of trunk into multilib 2023-02-28 18:15:51 +01:00
Thomas Trepl
b6c69478d1 Automatic merge of trunk into multilib 2023-02-27 19:01:16 +01:00
Thomas Trepl
e9a5bd5000 Automatic merge of trunk into multilib 2023-02-22 10:17:15 +01:00
Thomas Trepl
4096cdff24 Automatic merge of trunk into multilib 2023-02-20 00:30:12 +01:00
Thomas Trepl
bef6431de3 Automatic merge of trunk into multilib 2023-02-18 00:30:12 +01:00
Thomas Trepl
3791d23718 Automatic merge of trunk into multilib 2023-02-14 00:30:14 +01:00
Thomas Trepl
7ab3f9f102 Resolve merge confict 2023-02-13 18:53:20 +01:00
Thomas Trepl
6257c0f144 Automatic merge of trunk into multilib 2023-02-12 00:30:11 +01:00
Thomas Trepl
d8cc3893ff Automatic merge of trunk into multilib 2023-02-10 00:30:13 +01:00
Thomas Trepl
fae43efcf4 Automatic merge of trunk into multilib 2023-02-09 00:30:15 +01:00
Thomas Trepl
37df48e8c2 Automatic merge of trunk into multilib 2023-02-08 00:30:13 +01:00
Thomas Trepl
9ced77ce59 Automatic merge of trunk into multilib 2023-02-07 00:30:13 +01:00
Thomas Trepl
1f9e7d5769 Automatic merge of trunk into multilib 2023-02-06 00:30:12 +01:00
Thomas Trepl
9831431078 Remove --disable-exec-static-tramp option for other archs, too 2023-02-04 07:41:32 +01:00
Thomas Trepl
607ca5a486 Automatic merge of trunk into multilib 2023-02-04 00:30:13 +01:00
Thomas Trepl
d8521f6eae Automatic merge of trunk into multilib 2023-02-02 00:30:12 +01:00
Thomas Trepl
aa68b0c3db Automatic merge of trunk into multilib 2023-02-01 00:30:13 +01:00
Thomas Trepl
b697c87fe9 Automatic merge of trunk into multilib 2023-01-30 00:30:12 +01:00
Thomas Trepl
a2434bd4c1 Automatic merge of trunk into multilib 2023-01-27 00:30:14 +01:00
Thomas Trepl
84958453db Automatic merge of trunk into multilib 2023-01-26 00:30:11 +01:00
Thomas Trepl
c9ae6a4b64 Automatic merge of trunk into multilib 2023-01-23 00:30:13 +01:00
Thomas Trepl
7cf73541ef Automatic merge of trunk into multilib 2023-01-18 00:30:12 +01:00
Thomas Trepl
6cb86af1ce Automatic merge of trunk into multilib 2023-01-17 00:30:12 +01:00
Thomas Trepl
5b6d5c849f Automatic merge of trunk into multilib 2023-01-16 07:58:39 +01:00
Thomas Trepl
325db8fc5e Automatic merge of trunk into multilib 2023-01-16 00:30:12 +01:00
Thomas Trepl
0f46bd2490 Add --lib=/usr/lib{,x}32 to get .pc files in the correct location 2023-01-15 09:18:16 +01:00
Thomas Trepl
e7de61ebc6 Automatic merge of trunk into multilib 2023-01-07 00:30:13 +01:00
Thomas Trepl
aad28944bc Automatic merge of trunk into multilib 2023-01-02 11:59:57 +01:00
Thomas Trepl
41631283cb Automatic merge of trunk into multilib 2023-01-02 00:30:12 +01:00
Thomas Trepl
1baad3a782 Automatic merge of trunk into multilib 2023-01-01 09:37:26 +01:00
Thomas Trepl
966c6a9661 Automatic merge of trunk into multilib 2023-01-01 00:30:15 +01:00
Thomas Trepl
3a020ac9b1 Automatic merge of trunk into multilib 2022-12-31 00:30:11 +01:00
Thomas Trepl
219e4043ef Automatic merge of trunk into multilib 2022-12-29 00:30:12 +01:00
Thomas Trepl
a15d3393af Automatic merge of trunk into multilib 2022-12-26 00:30:12 +01:00
Thomas Trepl
bfd92cf3b4 Automatic merge of trunk into multilib 2022-12-25 00:30:11 +01:00
Thomas Trepl
625eab877e Automatic merge of trunk into multilib 2022-12-23 00:30:12 +01:00
Thomas Trepl
a8de3b44d4 Automatic merge of trunk into multilib 2022-12-22 00:30:12 +01:00
Thomas Trepl
47c0603838 Automatic merge of trunk into multilib 2022-12-21 00:30:12 +01:00
Thomas Trepl
101d00d2a7 Automatic merge of trunk into multilib 2022-12-20 00:30:11 +01:00
Thomas Trepl
692f8de8ad Automatic merge of trunk into multilib 2022-12-18 00:30:14 +01:00
Thomas Trepl
410c6f8c01 Automatic merge of trunk into multilib 2022-12-17 00:30:11 +01:00
Thomas Trepl
6ece6ecc90 Automatic merge of trunk into multilib 2022-12-16 00:30:12 +01:00
Thomas Trepl
5c258ba087 Automatic merge of trunk into multilib 2022-12-15 00:30:11 +01:00
Thomas Trepl
b094e3f434 Automatic merge of trunk into multilib 2022-12-14 00:30:12 +01:00
Thomas Trepl
dc606d8560 Automatic merge of trunk into multilib 2022-12-13 00:30:12 +01:00
Thomas Trepl
28a0e48811 Automatic merge of trunk into multilib 2022-12-12 00:30:12 +01:00
Thomas Trepl
0a12f0a939 Automatic merge of trunk into multilib 2022-12-11 00:30:11 +01:00
Thomas Trepl
f8c7e95786 Automatic merge of trunk into multilib 2022-12-10 00:30:12 +01:00
Thomas Trepl
efd28359d3 Automatic merge of trunk into multilib 2022-12-09 00:30:11 +01:00
Thomas Trepl
156a414eb6 Automatic merge of trunk into multilib 2022-12-08 00:30:14 +01:00
Thomas Trepl
df5d0e3ebd Automatic merge of trunk into multilib 2022-12-07 00:30:12 +01:00
Thomas Trepl
7b4ec8465a Automatic merge of trunk into multilib 2022-12-04 00:30:12 +01:00
Thomas Trepl
cabb60df06 Automatic merge of trunk into multilib 2022-12-03 00:30:12 +01:00
Thomas Trepl
b1c68c7ea1 Automatic merge of trunk into multilib 2022-11-27 00:30:11 +01:00
Thomas Trepl
43063fe19c Automatic merge of trunk into multilib 2022-11-26 00:30:11 +01:00
Thomas Trepl (Moody)
9237700f4f Merge branch 'multilib' of git.linuxfromscratch.org:lfs into multilib 2022-11-23 11:50:34 +01:00
Thomas Trepl
f0cbef54b1 Merge & fix conflicts 2022-11-23 10:45:41 +00:00
Thomas Trepl (Moody)
777f469b6c Automatic merge of trunk into multilib 2022-11-22 00:30:12 +01:00
Thomas Trepl (Moody)
46405a5bd2 Automatic merge of trunk into multilib 2022-11-19 00:30:12 +01:00
Thomas Trepl (Moody)
8d5322ed52 Automatic merge of trunk into multilib 2022-11-18 08:41:41 +01:00
Thomas Trepl (Moody)
16a1647c6b Automatic merge of trunk into multilib 2022-11-17 00:30:12 +01:00
Thomas Trepl (Moody)
a03b7d95dd Automatic merge of trunk into multilib 2022-11-16 08:48:40 +01:00
Thomas Trepl (Moody)
41f609fee6 Automatic merge of trunk into multilib 2022-11-16 00:30:11 +01:00
Thomas Trepl (Moody)
2106da208d Automatic merge of trunk into multilib 2022-11-15 00:30:12 +01:00
Thomas Trepl (Moody)
0780176b25 Automatic merge of trunk into multilib 2022-11-13 00:30:12 +01:00
Thomas Trepl (Moody)
cb7745e2c2 Automatic merge of trunk into multilib 2022-11-12 00:30:13 +01:00
Thomas Trepl (Moody)
381c8a7cb4 Automatic merge of trunk into multilib 2022-11-11 00:30:12 +01:00
Thomas Trepl (Moody)
5f3a32820a Automatic merge of trunk into multilib 2022-11-04 08:03:33 +01:00
Thomas Trepl (Moody)
90fcd12a56 Automatic merge of trunk into multilib 2022-11-04 00:30:12 +01:00
Thomas Trepl (Moody)
a31b65a6fb Automatic merge of trunk into multilib 2022-11-03 12:09:32 +01:00
Thomas Trepl (Moody)
10d197a05d Automatic merge of trunk into multilib 2022-11-02 00:30:11 +01:00
Thomas Trepl (Moody)
8c586d262d Automatic merge of trunk into multilib 2022-11-01 06:50:58 +01:00
Thomas Trepl (Moody)
f8e4cf6bd1 Automatic merge of trunk into multilib 2022-11-01 00:30:09 +01:00
Thomas Trepl (Moody)
1a76da03d8 Automatic merge of trunk into multilib 2022-10-31 00:30:10 +01:00
Thomas Trepl (Moody)
07fd8bf8da Instructions will invalid argument in C{,XX}FLAGS when C{,XX}FLAGS are set 2022-10-30 16:02:09 +01:00
Thomas Trepl (Moody)
981e0c4968 Automatic merge of trunk into multilib 2022-10-29 00:30:10 +02:00
Thomas Trepl (Moody)
f9e8271245 Automatic merge of trunk into multilib 2022-10-28 00:30:10 +02:00
Thomas Trepl (Moody)
ebe10f6e42 Automatic merge of trunk into multilib 2022-10-24 00:30:11 +02:00
Thomas Trepl (Moody)
2ebdd8cd27 Automatic merge of trunk into multilib 2022-10-22 00:30:09 +02:00
Thomas Trepl (Moody)
a8af0c850c Automatic merge of trunk into multilib 2022-10-19 00:30:10 +02:00
Thomas Trepl (Moody)
353b104e35 Automatic merge of trunk into multilib 2022-10-18 00:30:11 +02:00
Thomas Trepl (Moody)
87f8108718 Automatic merge of trunk into multilib 2022-10-16 00:30:10 +02:00
Thomas Trepl (Moody)
6c4d9d018a Automatic merge of trunk into multilib 2022-10-15 00:30:10 +02:00
Thomas Trepl (Moody)
1308af80d1 Automatic merge of trunk into multilib 2022-10-13 00:30:10 +02:00
Thomas Trepl (Moody)
44e2a0487d Automatic merge of trunk into multilib 2022-10-10 00:30:11 +02:00
Thomas Trepl (Moody)
e5de5d489f Automatic merge of trunk into multilib 2022-10-07 00:30:10 +02:00
Thomas Trepl (Moody)
0875e7d4e5 Automatic merge of trunk into multilib 2022-10-06 00:30:10 +02:00
Thomas Trepl (Moody)
713ad54350 Automatic merge of trunk into multilib 2022-10-04 00:30:10 +02:00
Thomas Trepl (Moody)
f3b2f16713 Automatic merge of trunk into multilib 2022-10-03 00:30:10 +02:00
Thomas Trepl (Moody)
c093e6b9d5 Automatic merge of trunk into multilib 2022-10-02 00:30:12 +02:00
Thomas Trepl (Moody)
f29824e561 Automatic merge of trunk into multilib 2022-09-16 00:30:11 +02:00
Thomas Trepl (Moody)
a28ea0a572 Automatic merge of trunk into multilib 2022-09-15 00:30:10 +02:00
Thomas Trepl (Moody)
9d18322451 Automatic merge of trunk into multilib 2022-09-14 00:30:10 +02:00
Thomas Trepl (Moody)
21a9c25f43 Automatic merge of trunk into multilib 2022-09-13 14:07:02 +02:00
Thomas Trepl (Moody)
1835fca016 Adopt PIE/SSP changes 2022-09-13 10:07:14 +02:00
Thomas Trepl (Moody)
c1a6423d0c Automatic merge of trunk into multilib 2022-09-13 00:30:10 +02:00
Thomas Trepl (Moody)
c49c1fb77f Automatic merge of trunk into multilib 2022-09-12 00:30:10 +02:00
Thomas Trepl (Moody)
530771a7bb Automatic merge of trunk into multilib 2022-09-11 00:30:11 +02:00
Thomas Trepl (Moody)
3c20ad9381 Automatic merge of trunk into multilib 2022-09-10 00:30:10 +02:00
Thomas Trepl (Moody)
2498bb8167 Automatic merge of trunk into multilib 2022-09-08 00:30:10 +02:00
Thomas Trepl (Moody)
b2cbe93960 Automatic merge of trunk into multilib 2022-09-06 00:30:10 +02:00
Thomas Trepl (Moody)
f867843417 Automatic merge of trunk into multilib 2022-09-01 10:54:54 +02:00
Thomas Trepl (Moody)
b17c6b2bc7 Automatic merge of trunk into multilib 2022-09-01 00:30:10 +02:00
Thomas Trepl (Moody)
69e41eae26 Automatic merge of trunk into multilib 2022-08-29 00:30:10 +02:00
Thomas Trepl (Moody)
b92cf89b16 Automatic merge of trunk into multilib 2022-08-27 00:30:11 +02:00
Thomas Trepl (Moody)
d8c9a43f29 Automatic merge of trunk into multilib 2022-08-26 00:30:10 +02:00
Thomas Trepl (Moody)
f8a51225ff Merge branch 'multilib' of git.linuxfromscratch.org:lfs into multilib 2022-08-23 21:40:37 +02:00
Thomas Trepl (Moody)
192dda3521 Automatic merge of trunk into multilib 2022-08-23 21:34:26 +02:00
Thomas Trepl (Moody)
fd4792b275 Automatic merge of trunk into multilib 2022-08-21 23:27:38 +02:00
Thomas Trepl (Moody)
9282602849 Adopt change instructions to m32/mx32 2022-08-21 10:05:41 +02:00
Thomas Trepl (Moody)
b4516c2563 Automatic merge of trunk into multilib 2022-08-21 08:51:48 +02:00
Thomas Trepl (Moody)
a171781c75 Automatic merge of trunk into multilib 2022-08-21 05:45:10 +02:00
Thomas Trepl (Moody)
c84195d1f8 Automatic merge of trunk into multilib 2022-08-20 05:45:09 +02:00
Thomas Trepl (Moody)
8bde866e85 Fix binutils instructions 2022-08-19 18:55:20 +02:00
Thomas Trepl (Moody)
a151e0979b Automatic merge of trunk into multilib 2022-08-16 13:54:28 +02:00
Thomas Trepl (Moody)
2928a11981 Merge branch 'multilib' of git.linuxfromscratch.org:lfs into multilib 2022-08-07 11:01:30 +02:00
Thomas Trepl (Moody)
3ebe8768cc Merge upstream 2022-08-07 11:00:44 +02:00
Thomas Trepl
d95ff154ed Remove remaining merge marker 2022-08-07 08:39:07 +00:00
Thomas Trepl
f4e814c2e9 Merge changes 2022-08-07 08:35:52 +00:00
Thomas Trepl (Moody)
1c784d290c Automatic merge of trunk into multilib 2022-07-25 05:45:24 +02:00
Thomas Trepl (Moody)
9c07177360 Automatic merge of trunk into multilib 2022-07-24 05:45:23 +02:00
Thomas Trepl (Moody)
f8018d2ce5 Automatic merge of trunk into multilib 2022-07-17 05:45:24 +02:00
Thomas Trepl (Moody)
58247ddf0f Automatic merge of trunk into multilib 2022-07-02 05:45:11 +02:00
Thomas Trepl (Moody)
8b83249bf7 Automatic merge of trunk into multilib 2022-07-01 05:45:11 +02:00
Thomas Trepl (Moody)
f96a6d4272 Adopt changes in ncurses to m32,mx32 instructions 2022-06-29 22:29:02 +02:00
Thomas Trepl (Moody)
0160d68e19 Automatic merge of trunk into multilib 2022-06-29 22:20:16 +02:00
Thomas Trepl (Moody)
dcb4788f99 Automatic merge of trunk into multilib 2022-06-26 20:37:06 +02:00
Thomas Trepl (Moody)
e15b03bf53 Merge upstream 2022-06-26 20:36:09 +02:00
Thomas Trepl (Moody)
4605657f73 Automatic merge of trunk into multilib 2022-06-15 05:45:10 +02:00
Thomas Trepl (Moody)
4a3af377ef Automatic merge of trunk into multilib 2022-06-11 05:45:10 +02:00
Thomas Trepl (Moody)
734c56f002 Automatic merge of trunk into multilib 2022-06-01 05:45:09 +02:00
Thomas Trepl (Moody)
bdb4c909d5 Automatic merge of trunk into multilib 2022-05-31 05:45:09 +02:00
Thomas Trepl (Moody)
d3e7e98da4 Automatic merge of trunk into multilib 2022-05-30 05:45:10 +02:00
Thomas Trepl (Moody)
e8d4ea4b97 Automatic merge of trunk into multilib 2022-05-28 05:45:10 +02:00
Thomas Trepl (Moody)
77f8d5758f Automatic merge of trunk into multilib 2022-05-27 05:45:09 +02:00
Thomas Trepl (Moody)
53efe27294 Automatic merge of trunk into multilib 2022-05-23 05:45:10 +02:00
Thomas Trepl (Moody)
642412110b Automatic merge of trunk into multilib 2022-05-17 05:45:10 +02:00
Thomas Trepl (Moody)
3c2b81973f Fix systemd instructions 2022-05-15 21:26:30 +02:00
Thomas Trepl (Moody)
588c7a0492 Merge upstream 2022-05-11 09:22:07 +02:00
Thomas Trepl (Moody)
3a72ffa858 Adopt upstream changes 2022-05-11 08:56:48 +02:00
Thomas Trepl (Moody)
2ca9d8fb04 Automatic merge of trunk into multilib 2022-05-06 12:39:48 +02:00
Thomas Trepl (Moody)
c48cc91c55 Merge upstream 2022-05-06 12:38:26 +02:00
Thomas Trepl (Moody)
481b2e0584 Merge upstream 2022-05-02 14:52:30 +02:00
Thomas Trepl (Moody)
65ac2fdf48 Automatic merge of trunk into multilib 2022-04-22 05:45:10 +02:00
Thomas Trepl (Moody)
80d370ba99 Automatic merge of trunk into multilib 2022-04-21 05:45:09 +02:00
Thomas Trepl (Moody)
20d3801d62 Automatic merge of trunk into multilib 2022-04-20 05:45:10 +02:00
Thomas Trepl (Moody)
cd77c31151 Automatic merge of trunk into multilib 2022-04-19 05:45:10 +02:00
Thomas Trepl (Moody)
644d5e06d7 Fix m{,x}32 instructions 2022-04-18 12:58:19 +02:00
Thomas Trepl (Moody)
1937fe0c15 Automatic merge of trunk into multilib 2022-04-18 05:45:10 +02:00
Thomas Trepl (Moody)
caf32c82d6 Fix an old copy error 2022-04-17 22:22:21 +02:00
Thomas Trepl (Moody)
03cd145c43 Automatic merge of trunk into multilib 2022-04-16 05:45:10 +02:00
Thomas Trepl (Moody)
540a8bc67e Automatic merge of trunk into multilib 2022-04-15 05:45:10 +02:00
Thomas Trepl (Moody)
992a95ce05 Automatic merge of trunk into multilib 2022-04-13 05:45:10 +02:00
Thomas Trepl (Moody)
9399bf9a96 Automatic merge of trunk into multilib 2022-04-05 05:45:10 +02:00
Thomas Trepl (Moody)
9ea5b3dc06 Fix instructions 2022-04-03 20:23:06 +02:00
Thomas Trepl (Moody)
11b1e35880 Adopt /usr/local fix for other archs 2022-04-03 19:45:15 +02:00
Thomas Trepl (Moody)
070e36cd7e Automatic merge of trunk into multilib 2022-04-03 10:46:19 +02:00
Thomas Trepl (Moody)
a7e5537889 Automatic merge of trunk into multilib 2022-04-03 10:45:52 +02:00
Thomas Trepl (Moody)
1b85bf1bb6 Automatic merge of trunk into multilib 2022-03-28 05:45:09 +02:00
Thomas Trepl (Moody)
355d7610df Automatic merge of trunk into multilib 2022-03-27 05:45:10 +02:00
Thomas Trepl (Moody)
75af69e454 Automatic merge of trunk into multilib 2022-03-26 05:45:09 +01:00
Thomas Trepl (Moody)
051c1608d9 Automatic merge of trunk into multilib 2022-03-25 05:45:09 +01:00
Thomas Trepl (Moody)
acd14bc9f5 Automatic merge of trunk into multilib 2022-03-23 05:45:10 +01:00
Thomas Trepl (Moody)
60093fdb51 Automatic merge of trunk into multilib 2022-03-22 05:45:10 +01:00
Thomas Trepl (Moody)
9b0642ad34 Automatic merge of trunk into multilib 2022-03-21 05:45:10 +01:00
Thomas Trepl (Moody)
56f8a0097e Remove unused option 2022-03-20 11:29:11 +01:00
Thomas Trepl (Moody)
bae1378181 Automatic merge of trunk into multilib 2022-03-20 05:45:10 +01:00
Thomas Trepl (Moody)
c24dafb886 Adjust parameter documentation 2022-03-19 14:21:35 +01:00
Thomas Trepl (Moody)
377270bda8 Fix changes in later gcc instructions 2022-03-19 13:06:54 +01:00
Thomas Trepl (Moody)
85acfcb0c8 Adopt changes to multilib instrustions. ML CURRENTLY BROKEN 2022-03-19 08:56:37 +01:00
Thomas Trepl (Moody)
02c702c62e Automatic merge of trunk into multilib 2022-03-17 15:30:05 +01:00
Thomas Trepl (Moody)
d9bec1e96a Automatic merge of trunk into multilib 2022-03-17 15:28:37 +01:00
Thomas Trepl (Moody)
5ffa04b535 Automatic merge of trunk into multilib 2022-03-01 09:09:15 +01:00
Thomas Trepl (Moody)
53beb36860 Automatic merge of trunk into multilib 2022-02-28 05:45:10 +01:00
Thomas Trepl (Moody)
14d25ef29c Automatic merge of trunk into multilib 2022-02-26 05:45:10 +01:00
Thomas Trepl (Moody)
9c12b9366f Automatic merge of trunk into multilib 2022-02-25 05:45:10 +01:00
Thomas Trepl (Moody)
f7cac90fce Automatic merge of trunk into multilib 2022-02-24 05:45:10 +01:00
Thomas Trepl (Moody)
856169b6af Automatic merge of trunk into multilib 2022-02-23 05:45:10 +01:00
Thomas Trepl (Moody)
f0275e9623 Automatic merge of trunk into multilib 2022-02-20 05:45:15 +01:00
Thomas Trepl (Moody)
3b70f926ce Automatic merge of trunk into multilib 2022-02-19 05:45:14 +01:00
Thomas Trepl (Moody)
77ea132a9f Automatic merge of trunk into multilib 2022-02-18 05:45:10 +01:00
Thomas Trepl (Moody)
bb19832d67 Automatic merge of trunk into multilib 2022-02-17 05:45:10 +01:00
Thomas Trepl (Moody)
738a4c13cd Automatic merge of trunk into multilib 2022-02-16 05:45:10 +01:00
Thomas Trepl (Moody)
7158d799ac Automatic merge of trunk into multilib 2022-02-13 05:45:10 +01:00
Thomas Trepl (Moody)
4513d8e943 Automatic merge of trunk into multilib 2022-02-12 05:45:09 +01:00
Thomas Trepl (Moody)
bf8012e6d5 Automatic merge of trunk into multilib 2022-02-11 05:45:10 +01:00
Thomas Trepl (Moody)
64cae89ff8 Automatic merge of trunk into multilib 2022-02-10 05:45:10 +01:00
Thomas Trepl (Moody)
61f1d15932 Revert "Add glibc patch fixing the LC_MONETARY issue"
This reverts commit 2195c1e800.
2022-02-07 21:24:22 +01:00
Thomas Trepl (Moody)
2195c1e800 Add glibc patch fixing the LC_MONETARY issue 2022-02-06 21:22:26 +01:00
Thomas Trepl (Moody)
2590473cf0 Automatic merge of trunk into multilib 2022-02-06 05:45:15 +01:00
Thomas Trepl (Moody)
3e09569e0d Automatic merge of trunk into multilib 2022-02-05 05:45:10 +01:00
Thomas Trepl (Moody)
51d1584808 Automatic merge of trunk into multilib 2022-02-04 10:52:30 +01:00
Thomas Trepl (Moody)
15a5fc904a Automatic merge of trunk into multilib 2022-02-04 10:36:58 +01:00
Thomas Trepl (Moody)
8f3b8fa415 Automatic merge of trunk into multilib 2022-02-01 05:45:10 +01:00
Thomas Trepl (Moody)
c87aec23f2 Automatic merge of trunk into multilib 2022-01-30 05:45:09 +01:00
Thomas Trepl (Moody)
cc37d96360 Automatic merge of trunk into multilib 2022-01-29 05:45:09 +01:00
Thomas Trepl (Moody)
946cfd7bf1 Automatic merge of trunk into multilib 2022-01-28 05:45:10 +01:00
Thomas Trepl (Moody)
e130fa2cf3 Automatic merge of trunk into multilib 2022-01-25 05:45:10 +01:00
Thomas Trepl (Moody)
ad63979a20 Update changelog (for isl changes) 2022-01-21 18:44:44 +01:00
Thomas Trepl (Moody)
d960243410 Switch --with-isl not even required (gets pulled automatically if installed in standard location) 2022-01-21 18:44:16 +01:00
Thomas Trepl (Moody)
cfa3be5069 Automatic merge of trunk into multilib 2022-01-21 05:45:12 +01:00
Thomas Trepl (Moody)
c4595c3bd1 Fix usage of ISL in gcc 2022-01-20 23:31:05 +01:00
Thomas Trepl (Moody)
78c26601df Automatic merge of trunk into multilib 2022-01-18 05:45:11 +01:00
Thomas Trepl (Moody)
1e15437f33 Automatic merge of trunk into multilib 2022-01-16 05:45:15 +01:00
Thomas Trepl (Moody)
f94c8ba3be Automatic merge of trunk into multilib 2022-01-15 05:45:10 +01:00
Thomas Trepl (Moody)
aa95507be6 Automatic merge of trunk into multilib 2022-01-14 05:45:10 +01:00
Thomas Trepl (Moody)
8598141e17 Automatic merge of trunk into multilib 2022-01-10 05:45:10 +01:00
Thomas Trepl (Moody)
9d1c90331a Adopt instructions for work with v3.x 2022-01-08 18:19:25 +01:00
Thomas Trepl (Moody)
af974a9c05 Do not force to create pc files in ch6 for mx32/m32 2022-01-08 18:18:24 +01:00
Thomas Trepl (Moody)
43a5dd6043 Automatic merge of trunk into multilib 2022-01-05 05:45:10 +01:00
Thomas Trepl (Moody)
bb2febd46a Automatic merge of trunk into multilib 2022-01-04 05:45:10 +01:00
Thomas Trepl (Moody)
0fd2370f61 Automatic merge of trunk into multilib 2022-01-01 05:45:10 +01:00
Thomas Trepl (Moody)
af4bd5774b Automatic merge of trunk into multilib 2021-12-31 05:45:09 +01:00
Thomas Trepl (Moody)
0eb19f0f79 Automatic merge of trunk into multilib 2021-12-28 05:45:09 +01:00
Thomas Trepl (Moody)
dbcb9f4049 Automatic merge of trunk into multilib 2021-12-18 05:45:09 +01:00
Thomas Trepl (Moody)
0ca938376b Automatic merge of trunk into multilib 2021-12-15 05:45:09 +01:00
Thomas Trepl (Moody)
861d9a4b2e Automatic merge of trunk into multilib 2021-12-14 05:45:09 +01:00
Thomas Trepl (Moody)
5d6e55744f Automatic merge of trunk into multilib 2021-12-05 05:45:13 +01:00
Thomas Trepl (Moody)
7abb6a9fef Automatic merge of trunk into multilib 2021-12-03 05:45:10 +01:00
Thomas Trepl (Moody)
eecc4e73d7 Automatic merge of trunk into multilib 2021-12-01 05:45:11 +01:00
Thomas Trepl (Moody)
a08b5f01cb Remove an invalid (ignored) option; Move ncursesw6-config out of the way for lib{,x}32 2021-11-24 21:36:16 +01:00
Thomas Trepl (Moody)
b010eeca35 Automatic merge of trunk into multilib 2021-11-24 05:45:08 +01:00
Thomas Trepl (Moody)
d24dc0f95d Merge upstream changes 2021-11-17 16:03:17 +01:00
Thomas Trepl (Moody)
cd67d000ae Merge upstream changes 2021-11-15 14:57:41 +01:00
Thomas Trepl (Moody)
f3fa14326a Automatic merge of trunk into multilib 2021-11-13 05:45:09 +01:00
Thomas Trepl (Moody)
a9fea2fb19 Automatic merge of trunk into multilib 2021-11-12 05:45:09 +01:00
Thomas Trepl (Moody)
384c707b7f Add more info about kernel requirements for multilib 2021-11-09 14:43:34 +01:00
Thomas Trepl (Moody)
a150e73825 Automatic merge of trunk into multilib 2021-11-09 05:45:14 +01:00
Thomas Trepl (Moody)
b08c45151a Fix instructions for m32/mx32 2021-11-04 17:13:28 +01:00
Thomas Trepl
f08c6def04 Fix issue building findutils on a 32bit system 2021-11-03 17:36:07 +01:00
Thomas Trepl (Moody)
4a74a6fd42 Automatic merge of trunk into multilib 2021-11-03 05:45:09 +01:00
Thomas Trepl (Moody)
00696e1dd9 Automatic merge of trunk into multilib 2021-11-02 05:45:09 +01:00
Thomas Trepl (Moody)
d352b982d6 Automatic merge of trunk into multilib 2021-11-01 05:45:09 +01:00
Thomas Trepl (Moody)
114393c298 Automatic merge of trunk into multilib 2021-10-26 05:45:10 +02:00
Thomas Trepl (Moody)
0ab6aa31e4 Automatic merge of trunk into multilib 2021-10-25 05:45:09 +02:00
Thomas Trepl (Moody)
57e2684d5f Automatic merge of trunk into multilib 2021-10-18 06:05:32 +02:00
Thomas Trepl (Moody)
08a636839d Merge upstream 2021-10-15 12:21:18 +02:00
Thomas Trepl (Moody)
0b5f7d87c7 Automatic merge of trunk into multilib 2021-10-01 05:45:12 +02:00
Thomas Trepl (Moody)
02d8168679 Automatic merge of trunk into multilib 2021-09-23 05:45:12 +02:00
Thomas Trepl (Moody)
7d6604b01c Automatic merge of trunk into multilib 2021-09-22 05:45:11 +02:00
Thomas Trepl (Moody)
60870bc1de Automatic merge of trunk into multilib 2021-09-21 05:45:12 +02:00
Thomas Trepl (Moody)
716db1f765 Merge upstream 2021-09-20 09:37:34 +02:00
Thomas Trepl (Moody)
e68002242f Automatic merge of trunk into multilib 2021-09-02 12:50:10 +02:00
Thomas Trepl (Moody)
185615ad5e Fix missing CONFIG_SITE in ML-mode 2021-09-02 12:37:32 +02:00
Thomas Trepl (Moody)
89773145de Automatic merge of trunk into multilib 2021-09-02 00:54:17 +02:00
Thomas Trepl (Moody)
d2e7db424f Automatic merge of trunk into multilib 2021-08-30 05:45:11 +02:00
Thomas Trepl (Moody)
8c1731d797 Automatic merge of trunk into multilib 2021-08-27 05:45:11 +02:00
Thomas Trepl (Moody)
2bad57f3d8 Automatic merge of trunk into multilib 2021-08-26 05:45:09 +02:00
Thomas Trepl (Moody)
0fd35e0640 Fix spacing 2021-08-25 09:41:21 +02:00
Thomas Trepl (Moody)
69d280f4ba Automatic merge of trunk into multilib 2021-08-22 05:45:22 +02:00
Thomas Trepl (Moody)
fd6a5f8dd5 Automatic merge of trunk into multilib 2021-08-20 23:20:44 +02:00
Thomas Trepl (Moody)
c397cd1229 Automatic merge of trunk into multilib 2021-08-20 05:45:11 +02:00
Thomas Trepl (Moody)
e05a52a6ef Automatic merge of trunk into multilib 2021-08-19 05:45:09 +02:00
Thomas Trepl (Moody)
08c33f79bc Automatic merge of trunk into multilib 2021-08-18 05:45:10 +02:00
Thomas Trepl (Moody)
edba175c42 Automatic merge of trunk into multilib 2021-08-15 05:45:22 +02:00
Thomas Trepl (Moody)
a98222651c Automatic merge of trunk into multilib 2021-08-13 22:05:08 +02:00
Thomas Trepl (Moody)
c84c636c1b Automatic merge of trunk into multilib 2021-08-13 17:28:33 +02:00
Thomas Trepl (Moody)
3330d51805 Fix instructions (add online_usrbin to m32/mx32) 2021-08-13 14:02:00 +02:00
Thomas Trepl (Moody)
eeecd8910f Automatic merge of trunk into multilib 2021-08-13 09:26:01 +02:00
Thomas Trepl (Moody)
9b90ad1a0f Fix rendering issue 2021-08-13 06:38:29 +02:00
Thomas Trepl (Moody)
85d9695ad8 Merge trunk 2021-08-13 06:33:25 +02:00
Thomas Trepl (Moody)
802438754c Automatic merge of trunk into multilib 2021-08-10 05:45:09 +02:00
Thomas Trepl (Moody)
cd3fd92d82 Adopt changes in libffi for other archs 2021-08-09 08:14:52 +02:00
Thomas Trepl (Moody)
b51c338c8a Automatic merge of trunk into multilib 2021-08-09 05:45:09 +02:00
Thomas Trepl (Moody)
c28569be5b Automatic merge of trunk into multilib 2021-08-08 21:28:03 +02:00
Thomas Trepl (Moody)
835c1c8ac4 Add CC= to install commands at m32/mx32 2021-08-08 15:58:25 +02:00
Thomas Trepl (Moody)
b8d5542c28 Fix syntax errors caused by jhalfs xsls 2021-08-07 17:05:32 +02:00
Thomas Trepl (Moody)
81f8f6e436 Automatic merge of trunk into multilib 2021-08-07 05:45:09 +02:00
Thomas Trepl (Moody)
fc01165d64 Automatic merge of trunk into multilib 2021-08-05 05:45:09 +02:00
Thomas Trepl (Moody)
2dfe1348bd Remove useless comment 2021-08-04 16:37:51 +02:00
Thomas Trepl (Moody)
f5b747c56f Merge trunk 2021-08-04 14:09:24 +02:00
Thomas Trepl (Moody)
31ff88ba10 Automatic merge of trunk into multilib 2021-08-03 16:09:11 +02:00
Thomas Trepl (Moody)
66bfc2bb56 Automatic merge of trunk into multilib 2021-08-03 05:45:09 +02:00
Thomas Trepl (Moody)
6ff520fb98 Automatic merge of trunk into multilib 2021-08-02 05:45:10 +02:00
Thomas Trepl (Moody)
16cdca7b48 Automatic merge of trunk into multilib 2021-07-30 05:45:11 +02:00
Thomas Trepl (Moody)
ad40530f12 Automatic merge of trunk into multilib 2021-07-29 05:45:09 +02:00
Thomas Trepl (Moody)
00e8b5325a Merge upstream changes 2021-07-28 15:43:47 +02:00
Thomas Trepl (Moody)
64a306d76a Automatic merge of trunk into multilib 2021-07-27 21:29:34 +02:00
Thomas Trepl (Moody)
85cd74c2cb Merge upstream changes 2021-07-27 07:53:40 +02:00
Thomas Trepl (Moody)
3388c22918 Merge upstream changes 2021-07-26 09:13:05 +02:00
Thomas Trepl (Moody)
f18f2d6134 Automatic merge of trunk into multilib 2021-07-24 05:45:09 +02:00
Thomas Trepl (Moody)
cfb8eeac69 Automatic merge of trunk into multilib 2021-07-22 05:45:08 +02:00
Thomas Trepl (Moody)
118b207b4a Automatic merge of trunk into multilib 2021-07-21 05:48:24 +02:00
Thomas Trepl (Moody)
4d7d2c047f Automatic merge of trunk into multilib 2021-07-20 05:45:09 +02:00
Thomas Trepl (Moody)
dabd16bcf6 Automatic merge of trunk into multilib 2021-07-19 05:45:10 +02:00
Thomas Trepl (Moody)
3999c22ebf Automatic merge of trunk into multilib 2021-07-18 05:45:11 +02:00
Thomas Trepl (Moody)
0906e3caf3 Automatic merge of trunk into multilib 2021-07-16 05:45:08 +02:00
Thomas Trepl (Moody)
9600ece7df Automatic merge of trunk into multilib 2021-07-12 05:45:11 +02:00
Thomas Trepl (Moody)
22547b2e54 Automatic merge of trunk into multilib 2021-07-11 05:45:22 +02:00
Thomas Trepl (Moody)
aea9d3b7ad Automatic merge of trunk into multilib 2021-07-09 08:31:41 +02:00
Thomas Trepl (Moody)
ecf55d8e08 Automatic merge of trunk into multilib 2021-07-09 08:29:57 +02:00
Thomas Trepl (Moody)
d49a03582a Fix a copy-paste error 2021-07-08 18:02:04 +02:00
Thomas Trepl (Moody)
0939e5196f Automatic merge of trunk into multilib 2021-07-07 05:45:10 +02:00
Thomas Trepl (Moody)
2ab0d9caf5 Automatic merge of trunk into multilib 2021-07-03 05:45:09 +02:00
Thomas Trepl (Moody)
cf65195a94 Automatic merge of trunk into multilib 2021-07-02 09:18:52 +02:00
Thomas Trepl (Moody)
641ab9bee7 Automatic merge of trunk into multilib 2021-06-28 05:45:11 +02:00
Thomas Trepl (Moody)
c5750ecfca Automatic merge of trunk into multilib 2021-06-23 05:45:09 +02:00
Thomas Trepl (Moody)
146e56ad0c Automatic merge of trunk into multilib 2021-06-22 05:45:09 +02:00
Thomas Trepl (Moody)
afc922f537 Automatic merge of trunk into multilib 2021-06-21 05:45:10 +02:00
Thomas Trepl (Moody)
3a303528e6 Automatic merge of trunk into multilib 2021-06-20 05:45:23 +02:00
Thomas Trepl (Moody)
faab037d6d Automatic merge of trunk into multilib 2021-06-19 05:45:11 +02:00
Thomas Trepl (Moody)
6e9ca9918b Automatic merge of trunk into multilib 2021-06-17 05:45:12 +02:00
Thomas Trepl (Moody)
dd79d3f5ad Automatic merge of trunk into multilib 2021-06-16 05:45:12 +02:00
Thomas Trepl (Moody)
6a724046cf Automatic merge of trunk into multilib 2021-06-10 05:45:09 +02:00
Thomas Trepl (Moody)
f780602ae9 Automatic merge of trunk into multilib 2021-06-09 05:45:10 +02:00
Thomas Trepl (Moody)
e3835ace0c Automatic merge of trunk into multilib 2021-06-07 05:45:12 +02:00
Thomas Trepl (Moody)
f57735ecba Automatic merge of trunk into multilib 2021-06-04 05:45:11 +02:00
Thomas Trepl (Moody)
5d6b72b6f2 Automatic merge of trunk into multilib 2021-06-03 05:45:09 +02:00
Thomas Trepl (Moody)
5f76506d41 Automatic merge of trunk into multilib 2021-06-02 05:45:12 +02:00
Thomas Trepl (Moody)
f461a0f200 Automatic merge of trunk into multilib 2021-06-01 05:45:10 +02:00
Thomas Trepl (Moody)
2838013bc5 Merge branch 'multilib' of git.linuxfromscratch.org:lfs into multilib 2021-05-31 22:55:10 +02:00
Thomas Trepl
0f11dbdc11 Merge at Fri May 28 23:45:00 GMT 2021 2021-05-29 05:18:27 +00:00
Thomas Trepl (Moody)
25519ef261 Automatic merge of trunk into multilib 2021-05-29 05:45:10 +02:00
Thomas Trepl (Moody)
b5f4b4adae Automatic merge of trunk into multilib 2021-05-27 05:45:09 +02:00
Thomas Trepl (Moody)
d31877876d Automatic merge of trunk into multilib 2021-05-26 05:45:10 +02:00
Thomas Trepl (Moody)
f081763f39 Tweak install in iproute2 (rmv DOCDIR) 2021-05-26 01:20:15 +02:00
Thomas Trepl (Moody)
adcb9c035c Automatic merge of trunk into multilib 2021-05-25 05:45:10 +02:00
Thomas Trepl (Moody)
8fbd2fb120 Automatic merge of trunk into multilib 2021-05-21 22:43:51 +02:00
Thomas Trepl (Moody)
70aadfbaf4 Cosmetic rearrange options to appear more consistent 2021-05-18 10:02:19 +02:00
Thomas Trepl (Moody)
32f47b1fb5 Merge branch 'trunk' into multilib 2021-05-18 08:17:35 +02:00
Thomas Trepl (Moody)
f34f267f04 Merge branch 'multilib' of git.linuxfromscratch.org:lfs into multilib 2021-05-18 08:13:44 +02:00
Thomas Trepl (Moody)
76531f2977 Cleanup instructions 2021-05-18 08:10:25 +02:00
Thomas Trepl (Moody)
30fb4c0470 Automatic merge of trunk into multilib 2021-05-18 08:09:10 +02:00
Thomas Trepl
e04bf44aa9 Merge 2021-05-15 06:05:40 +00:00
Thomas Trepl (Moody)
d4b521822c Merge 2021-05-15 07:57:13 +02:00
Thomas Trepl (Moody)
2606939372 Merge trunk 2021-05-14 12:58:44 +02:00
Thomas Trepl (Moody)
0ebda11158 Remove entities for multilib pathes
Add usage of libc_cv_rtlddir
2021-05-14 12:47:43 +02:00
Thomas Trepl (Moody)
51c01bff45 Automatic merge of trunk into multilib 2021-05-13 05:45:11 +02:00
Thomas Trepl (Moody)
3de7f52194 Fix some pathes in glibc 2021-05-12 18:24:06 +02:00
Thomas Trepl (Moody)
df462a9511 Merge pre-LFS-11-0 changes 2021-05-12 07:26:46 +02:00
Thomas Trepl (Moody)
0e9fb93256 Automatic merge of trunk into multilib 2021-05-07 05:45:11 +02:00
Thomas Trepl (Moody)
bfee8ec9c9 Automatic merge of trunk into multilib 2021-05-06 05:45:09 +02:00
Thomas Trepl (Moody)
803a28b26f Automatic merge of trunk into multilib 2021-05-02 00:10:38 +02:00
Thomas Trepl (Moody)
88bdbb7015 Automatic merge of trunk into multilib 2021-04-30 14:01:24 +02:00
Thomas Trepl (Moody)
2db19cb07a Automatic merge of trunk into multilib 2021-04-27 10:07:54 +02:00
Thomas Trepl (Moody)
feed564dfe Automatic merge of trunk into multilib 2021-04-22 16:37:31 +02:00
Thomas Trepl (Moody)
c74edb30fd Merge branch 'trunk' into multilib 2021-04-15 13:49:46 +02:00
Thomas Trepl (Moody)
6cc87753ec Merge branch 'trunk' into multilib 2021-04-07 12:25:14 +02:00
Thomas Trepl (Moody)
0929ec5926 Merge branch 'trunk' into multilib 2021-04-06 23:14:24 +02:00
Xℹ Ruoyao
61385cad43
Merge branch 'trunk' into multilib
This won't do anything.  But we have to create a merge commit to tell
all changes in trunk has been already merged into multilib, as git-svn
cannot really understand SVN merge commits.
2021-03-31 18:48:37 +08:00
Thomas Trepl
ceebda5df5
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12176 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:41 +08:00
Thomas Trepl
eef83eaa05
Version 10.1
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12156 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:41 +08:00
Thomas Trepl
b4dce40f7c
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12145 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:41 +08:00
Thomas Trepl
4c8c1288b8
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12142 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:41 +08:00
Thomas Trepl
a5c280368e
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12130 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:41 +08:00
Thomas Trepl
9da9d0146a
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12118 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:41 +08:00
Thomas Trepl
edd83dcce1
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12107 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:41 +08:00
Thomas Trepl
402226e604
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12075 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:41 +08:00
Thomas Trepl
38de42d0ed
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12072 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:40 +08:00
Thomas Trepl
8acfbf673d
Remove zlib from chap6, not needed there.
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12063 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:40 +08:00
Thomas Trepl
16caca2b75
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12062 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:40 +08:00
Thomas Trepl
fb95c5c598
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12058 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:40 +08:00
Thomas Trepl
e28ad21163
Fix XMLs in changelog
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12049 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:40 +08:00
Thomas Trepl
2d66549fae
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12048 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:40 +08:00
Thomas Trepl
a2ef756a47
Add --without-ada to the 32bit instructions
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12042 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:40 +08:00
Thomas Trepl
1b1a5e7238
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12041 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:40 +08:00
Thomas Trepl
ee1eb70ab2
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12036 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:40 +08:00
Thomas Trepl
d7e0db5ccd
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12034 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:40 +08:00
Thomas Trepl
4ea78e038f
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12021 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:40 +08:00
Thomas Trepl
032dc4e8e8
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12012 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:40 +08:00
Thomas Trepl
bd1abf6660
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12005 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:40 +08:00
Thomas Trepl
25b402cd29
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12003 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:39 +08:00
Thomas Trepl
c63253fb00
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11999 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:39 +08:00
Thomas Trepl
51b58ad4fa
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11997 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:39 +08:00
Thomas Trepl
ce2f9d860e
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11991 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:39 +08:00
Thomas Trepl
07b2c96502
Add missing files
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11989 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:39 +08:00
Thomas Trepl
e454a5410d
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11988 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:39 +08:00
Thomas Trepl
7610848c3a
Wording
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11987 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:39 +08:00
Thomas Trepl
6dfcfecca3
Update to new lfs structure
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11986 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:39 +08:00
Thomas Trepl
811b5a3978
MultiLib: Merge changes 11880:HEAD
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11882 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:39 +08:00
Thomas Trepl
6451cd1e10
MultiLib: Merge changes up to 11872
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11879 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:39 +08:00
Thomas Trepl
8d4f212fe3
MultiLib: Merge changes up to 11861
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11871 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:39 +08:00
Thomas Trepl
362282af3c
MultiLib: Merge changes up to 11858
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11860 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:39 +08:00
Thomas Trepl
d3da8c9bc8
Replace a arch specific placeholder by an arch independend one
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11858 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:38 +08:00
Thomas Trepl
66a21f1a48
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11855 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:38 +08:00
Thomas Trepl
95906db003
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11847 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:38 +08:00
Thomas Trepl
81e195d0ba
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11841 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:38 +08:00
Thomas Trepl
effa6e0496
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11828 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:38 +08:00
Thomas Trepl
751157321e
Create util-linux-links for {,x}32-bit also
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11826 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:38 +08:00
Thomas Trepl
e37764e832
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11821 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:38 +08:00
Thomas Trepl
566dbac3d6
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11810 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:38 +08:00
Thomas Trepl
1ebfd6e497
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11805 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:38 +08:00
Thomas Trepl
630308d8e5
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11801 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:38 +08:00
Thomas Trepl
0dfc2f5fe6
Remove a note no longer needed and adjust wording
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11798 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:38 +08:00
Thomas Trepl
1e49915814
Add missing chmod
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11797 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:38 +08:00
Thomas Trepl
ff4f25b501
Readd lost statement
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11795 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:38 +08:00
Thomas Trepl
d1fbbd0590
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11794 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
939f5316e0
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11792 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
d4248df09c
Definitly create /etc/ld.so.conf.d when doing ML, otherwise it's optional (because of role=nodump, the command appers in book but not in profiled xml
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11784 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
c7e74d668b
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11783 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
6fc519eba0
Updates after 9.1 release
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11766 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
e2ccc32118
Merge upstream; Upgrade isl+firmware; add description to glibc
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11759 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
43822ccfaa
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11757 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
3e18fa2e89
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11752 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
725ef3bb00
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11747 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
9382de3056
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11724 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
96971352a8
Drop patching file
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11723 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
d5687696be
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11714 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
3ca4306ac6
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11712 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:36 +08:00
Thomas Trepl
81ef690f6c
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11707 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:36 +08:00
Thomas Trepl
8b0e0da8dc
Add new option '--disable-debuginfod' to 32/x32 instructions
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11705 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:36 +08:00
Thomas Trepl
ac340c2dd9
Upgrade isl-0.22; linux-firmware-20191026
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11704 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:36 +08:00
Thomas Trepl
ae39e19906
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11703 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:36 +08:00
Thomas Trepl
3019de74f3
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11700 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:36 +08:00
Thomas Trepl
c35a3abdbf
Some reordering of glibc options to better match the original instructions
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11691 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:36 +08:00
Thomas Trepl
b6b928669b
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11690 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:36 +08:00
Thomas Trepl
9c31d62ebd
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11687 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:36 +08:00
Thomas Trepl
0aaf6a318a
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11681 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:36 +08:00
Thomas Trepl
d7f58cca65
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11674 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:36 +08:00
Thomas Trepl
1daca67630
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11664 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:36 +08:00
Thomas Trepl
bc375da61d
MultiLib: Merge changes from trunk
Upgrade isl-0.12
Upgrade linux-firmware-20190519

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11653 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:36 +08:00
Thomas Trepl
15fd2f2266
Fix library names (new version)
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11645 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:35 +08:00
Thomas Trepl
be00729fbf
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11644 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:35 +08:00
Thomas Trepl
b2c61c6500
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11630 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:35 +08:00
Thomas Trepl
5066dee828
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11623 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:35 +08:00
Thomas Trepl
1803e9b375
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11618 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:35 +08:00
Thomas Trepl
9bfc37b4ed
Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11614 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:35 +08:00
Thomas Trepl
e9d172b212
Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11611 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:35 +08:00
Thomas Trepl
8a67f19184
Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11608 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:35 +08:00
Thomas Trepl
f5ae110a14
Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11606 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:35 +08:00
Thomas Trepl
cad96bf236
Merge upstream changes
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11601 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:35 +08:00
Thomas Trepl
afdadb5cc3
Merge upstream (fix in chglog)
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11592 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:35 +08:00
Thomas Trepl
c0fd735c46
Apply upstream changes
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11590 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:35 +08:00
Thomas Trepl
297d9f78f3
Apply upstream changes
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11587 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:35 +08:00
Thomas Trepl
d82ab5da44
Merge trunk; Add a note about kernel config to hostreqs.xml
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11584 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:34 +08:00
Thomas Trepl
9b4ca9ab82
Fix name of interpreter in mx32 test
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11581 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:34 +08:00
Thomas Trepl
8144b7193c
Readd 'mkdir -v /usr/lib/pkgconfig' to createdirs
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11580 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:34 +08:00
Thomas Trepl
3f4c0f419a
Apply upstream changes
Fix invalid name in 5.7 at mx32 sanity check

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11579 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:34 +08:00
Thomas Trepl
714599ff52
Apply trunk changes
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11577 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:34 +08:00
Thomas Trepl
172244e16c
Cleaner separation of multilib instructions
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11576 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:34 +08:00
Thomas Trepl
9c0c3a0966
Simplify instructions for multilib support. Fixes #4453
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11575 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:34 +08:00
Thomas Trepl
1b7c90c265
Add a note about ML kernel config. Fixes #4451.
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11572 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:34 +08:00
Thomas Trepl
fd48baafd5
Change profiling attribute to enable selection of m32 and/or mx32. Fixes #4452.
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11571 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:34 +08:00
Thomas Trepl
6702623889
Merge trunk, add multilib.xml to prologue
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11570 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:34 +08:00
Thomas Trepl
b3f1ebb313
First apply of multilib-patch of April 1st, 2019
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11566 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:31 +08:00
54 changed files with 2844 additions and 36 deletions

View File

@ -34,6 +34,19 @@ else
DUMPDIR ?= ~/lfs-sysd-commands
endif
ifndef ARCH
ARCH = default
endif
ifneq ($(ARCH), default)
ifneq ($(ARCH), ml_32)
ifneq ($(ARCH), ml_x32)
ifneq ($(ARCH), ml_all)
$(error ARCH must be either 'default' (default if unset), 'ml_32', 'ml_x32' or 'ml_all'.)
endif
endif
endif
endif
book: validate profile-html
@echo "Generating chunked XHTML files at $(BASEDIR)/ ..."
$(Q)xsltproc --nonet \
@ -129,6 +142,7 @@ validate: tmpdir version
--xinclude \
--output $(RENDERTMP)/lfs-html2.xml \
--stringparam profile.revision $(REV) \
--stringparam profile.arch $(ARCH) \
stylesheets/lfs-xsl/profile.xsl \
index.xml
@ -182,6 +196,7 @@ $(BASEDIR)/md5sums: stylesheets/wget-list.xsl chapter03/chapter03.xml \
$(Q)xsltproc --nonet --xinclude \
--stringparam profile.revision $(REV) \
--stringparam profile.arch $(ARCH) \
--output $(RENDERTMP)/md5sum.xml \
stylesheets/lfs-xsl/profile.xsl \
chapter03/chapter03.xml

View File

@ -60,7 +60,7 @@
<itemizedlist>
<listitem>
<para>The version of the book being used (in this case &version;)</para>
<para>The version of the book being used (in this case &version;<phrase arch="ml_32,ml_x32,ml_all">-multilib</phrase>)</para>
</listitem>
<listitem>
<para>The host distribution and version being used to create LFS</para>
@ -75,7 +75,7 @@
<para>The exact error message, or a clear description of the problem</para>
</listitem>
<listitem>
<para>Note whether you have deviated from the book at all </para>
<para>Note whether you have deviated from the book at all</para>
</listitem>
</itemizedlist>

View File

@ -10,7 +10,7 @@
<title>Changelog</title>
<para>This is version &version; of the Linux From Scratch book, dated
<para>This is version &version;<phrase arch="ml_32,ml_x32,ml_all">&version;-multilib</phrase> of the Linux From Scratch book, dated
&releasedate;. If this book is more than six months old, a newer and better
version is probably already available. To find out, please check one of the
mirrors via <ulink url="&lfs-root;mirrors.html"/>.</para>

View File

@ -262,5 +262,26 @@ EOF
bash version-check.sh</userinput></screen>
</sect2>
<para arch="ml_32,ml_x32,ml_all">
Building multilib support requires the kernel of the host system
to have 32-bit emulation support included.
</para>
<screen arch="ml_32,ml_x32,ml_all">Binary Emulations ---&gt;
[*] IA32 Emulation
&lt;M&gt; IA32 a.out support
[*] x32 ABI for 64-bit mode
</screen>
<para arch="ml_32,ml_x32,ml_all">The option 'IA32 a.out support' is
optional. In case your kernel does not have 'x32 ABI for 64-bit mode'
enabled but only 'IA32 Emulation', you can continue to build your
system but you have to leave out any sections showing instructions
for building x32 objects. If neither 'IA32 Emulation' nor
'x32 ABI for 64-bit mode' is enabled, you will run in errors
latest when building <application>glibc</application> in Chapter 6,
so an upgrade of your host system kernel is required.
</para>
</sect2>
</sect1>

View File

@ -378,6 +378,15 @@
</listitem>
</varlistentry>
<varlistentry>
<term>ISL (&isl-version;) - <token>&isl-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&isl-home;"/></para>
<para>Download: <ulink url="&isl-url;"/></para>
<para>MD5 sum: <literal>&isl-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Jinja2 (&jinja2-version;) - <token>&jinja2-size;</token>:</term>
<listitem>

View File

@ -84,6 +84,9 @@ useradd -s /bin/bash -g lfs -m -k /dev/null lfs</userinput></screen>
case $(uname -m) in
x86_64) chown -v lfs $LFS/lib64 ;;
esac</userinput></screen>
<screen arch="ml_32" ><userinput>chown -v lfs $LFS/lib32</userinput></screen>
<screen arch="ml_x32" ><userinput>chown -v lfs $LFS/libx32</userinput></screen>
<screen arch="ml_all" ><userinput>chown -v lfs $LFS/{lib32,libx32}</userinput></screen>
<note><para>In some host systems, the following <command>su</command> command does not complete
properly and suspends the login for the &lfs-user; user to the background.

View File

@ -30,6 +30,13 @@ done
case $(uname -m) in
x86_64) mkdir -pv $LFS/lib64 ;;
esac</userinput></screen>
<screen arch="ml_32"><userinput>mkdir -pv $LFS/usr/lib32
ln -sv usr/lib32 $LFS/lib32</userinput></screen>
<screen arch="ml_x32"><userinput>mkdir -pv $LFS/usr/libx32
ln -sv usr/libx32 $LFS/libx32</userinput></screen>
<screen arch="ml_all"><userinput>mkdir -pv $LFS/usr/lib{,x}32
ln -sv usr/lib32 $LFS/lib32
ln -sv usr/libx32 $LFS/libx32</userinput></screen>
<para>Programs in <xref linkend="chapter-temporary-tools"/> will be compiled
with a cross-compiler (more details can be found in section <xref

View File

@ -38,7 +38,7 @@ EOF</userinput></screen>
<filename>.bashrc</filename> file instead. Create the
<filename>.bashrc</filename> file now:</para>
<screen><userinput>cat &gt; ~/.bashrc &lt;&lt; "EOF"
<screen arch="default"><userinput>cat &gt; ~/.bashrc &lt;&lt; "EOF"
<literal>set +h
umask 022
LFS=/mnt/lfs
@ -49,6 +49,20 @@ if [ ! -L /bin ]; then PATH=/bin:$PATH; fi
PATH=$LFS/tools/bin:$PATH
CONFIG_SITE=$LFS/usr/share/config.site
export LFS LC_ALL LFS_TGT PATH CONFIG_SITE</literal>
EOF</userinput></screen>
<screen arch="ml_32,ml_x32,ml_all"><userinput>cat &gt; ~/.bashrc &lt;&lt; "EOF"
<literal>set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LFS_TGT=x86_64-lfs-linux-gnu
LFS_TGT32=i686-lfs-linux-gnu
LFS_TGTX32=x86_64-lfs-linux-gnux32
PATH=/usr/bin
if [ ! -L /bin ]; then PATH=/bin:$PATH; fi
PATH=$LFS/tools/bin:$PATH
CONFIG_SITE=$LFS/usr/share/config.site
export LFS LC_ALL LFS_TGT LFS_TGT32 LFS_TGTX32 PATH</literal>
EOF</userinput></screen>
<variablelist>

View File

@ -70,12 +70,19 @@ cd build</userinput></screen>
<para>Now prepare Binutils for compilation:</para>
<screen><userinput remap="configure">../configure --prefix=$LFS/tools \
<screen arch="default"><userinput remap="configure">../configure --prefix=$LFS/tools \
--with-sysroot=$LFS \
--target=$LFS_TGT \
--disable-nls \
--enable-gprofng=no \
--disable-werror</userinput></screen>
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure --prefix=$LFS/tools \
--with-sysroot=$LFS \
--target=$LFS_TGT \
--disable-nls \
--enable-gprofng=no \
--disable-werror \
--enable-multilib</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
@ -132,6 +139,13 @@ cd build</userinput></screen>
</listitem>
</varlistentry>
<varlistentry arch="ml_32,ml_x32,ml_all">
<term><parameter>--enable-multilib</parameter></term>
<listitem>
<para>Enables multilib support.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Continue with compiling the package:</para>

View File

@ -62,16 +62,24 @@ mv -v gmp-&gmp-version; gmp
tar -xf ../mpc-&mpc-version;.tar.gz
mv -v mpc-&mpc-version; mpc</userinput></screen>
<para>On x86_64 hosts, set the default directory name for
<para arch="default">On x86_64 hosts, set the default directory name for
64-bit libraries to <quote>lib</quote>:</para>
<screen><userinput remap="pre">case $(uname -m) in
<screen arch="default"><userinput remap="pre">case $(uname -m) in
x86_64)
sed -e '/m64=/s/lib64/lib/' \
-i.orig gcc/config/i386/t-linux64
;;
esac</userinput></screen>
<para arch="ml_32,ml_x32,ml_all">Change the default directory name for
libraries:</para>
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
-e '/m32=/s/m32=.*/m32=..\/lib32$(call if_multiarch,:i386-linux-gnu)/' \
-i.orig gcc/config/i386/t-linux64
</userinput></screen>
<para>The GCC documentation recommends building GCC
in a dedicated build directory:</para>
@ -80,7 +88,7 @@ cd build</userinput></screen>
<para>Prepare GCC for compilation:</para>
<screen><userinput remap="configure">../configure \
<screen arch="default"><userinput remap="configure">../configure \
--target=$LFS_TGT \
--prefix=$LFS/tools \
--with-glibc-version=&glibc-version; \
@ -100,6 +108,33 @@ cd build</userinput></screen>
--disable-libvtv \
--disable-libstdcxx \
--enable-languages=c,c++</userinput></screen>
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure"
arch="ml_32">mlist=m64,m32</userinput><userinput remap="configure"
arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure"
arch="ml_all">mlist=m64,m32,mx32</userinput>
<userinput remap="configure">../configure \
--target=$LFS_TGT \
--prefix=$LFS/tools \
--with-glibc-version=&glibc-version; \
--with-sysroot=$LFS \
--with-newlib \
--without-headers \
--enable-default-pie \
--enable-default-ssp \
--enable-initfini-array \
--disable-nls \
--disable-shared \
--enable-multilib --with-multilib-list=$mlist \
--disable-decimal-float \
--disable-threads \
--disable-libatomic \
--disable-libgomp \
--disable-libquadmath \
--disable-libssp \
--disable-libvtv \
--disable-libstdcxx \
--enable-languages=c,c++</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
@ -156,13 +191,20 @@ cd build</userinput></screen>
</listitem>
</varlistentry>
<varlistentry>
<varlistentry arch="default">
<term><parameter>--disable-multilib</parameter></term>
<listitem>
<para>On x86_64, LFS does not support a multilib configuration.
This switch is harmless for x86.</para>
</listitem>
</varlistentry>
<varlistentry arch="ml_32,ml_x32,ml_all">
<term><parameter>--enable-multilib --with-multilib-list=...</parameter></term>
<listitem>
<para>LFS canbe used to support multilib. Which they are is
specified in the multilib list.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--disable-threads,

View File

@ -47,13 +47,16 @@
for x86_64, create a compatibility symbolic link required for proper
operation of the dynamic library loader:</para>
<screen><userinput remap="pre">case $(uname -m) in
<screen arch="default"><userinput remap="pre">case $(uname -m) in
i?86) ln -sfv ld-linux.so.2 $LFS/lib/ld-lsb.so.3
;;
x86_64) ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64
ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64/ld-lsb-x86-64.so.3
;;
esac</userinput></screen>
<!-- no ld-linux.so.2 here as multilib is based on x86_64, not on i686 -->
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64
ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64/ld-lsb-x86-64.so.3</userinput></screen>
<note>
<para>
@ -85,13 +88,21 @@ cd build</userinput></screen>
<para>Next, prepare Glibc for compilation:</para>
<screen><userinput remap="configure">../configure \
<screen arch="default"><userinput remap="configure">../configure \
--prefix=/usr \
--host=$LFS_TGT \
--build=$(../scripts/config.guess) \
--enable-kernel=&min-kernel; \
--with-headers=$LFS/usr/include \
libc_cv_slibdir=/usr/lib</userinput></screen>
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure \
--prefix=/usr \
--host=$LFS_TGT \
--build=$(../scripts/config.guess) \
--enable-kernel=&min-kernel; \
--with-headers=$LFS/usr/include \
--enable-multi-arch \
libc_cv_slibdir=/usr/lib</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
@ -203,7 +214,7 @@ readelf -l a.out | grep ld-linux</userinput></screen>
<screen><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen>
<para>Note that for 32-bit machines, the interpreter name will be
<para arch="default">Note that for 32-bit machines, the interpreter name will be
<filename>/lib/ld-linux.so.2</filename>.</para>
<para>If the output is not as shown above, or there is no output at all,
@ -231,6 +242,148 @@ readelf -l a.out | grep ld-linux</userinput></screen>
-->
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all">
<title>Building Glibc - 32bit</title>
<para>Now recompile for m32. The extracted source can be
reused but needs to be cleaned before installing the m32
version of Glibc.</para>
<para>Clear the build directory and remove artefacts from
previous build:</para>
<screen><userinput remap="pre">make clean
find .. -name "*.a" -delete</userinput></screen>
<para>Configure Glibc for m32 with the following commands:</para>
<screen><userinput remap="configure">CC="$LFS_TGT-gcc -m32" \
CXX="$LFS_TGT-g++ -m32" \
../configure \
--prefix=/usr \
--host=$LFS_TGT32 \
--build=$(../scripts/config.guess) \
--enable-kernel=&min-kernel; \
--with-headers=$LFS/usr/include \
--enable-multi-arch \
--libdir=/usr/lib32 \
--libexecdir=/usr/lib32 \
libc_cv_slibdir=/usr/lib32</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -a DESTDIR/usr/lib32 $LFS/usr/
install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-32.h \
$LFS/usr/include/gnu/
ln -svf ../lib32/ld-linux.so.2 $LFS/lib/ld-linux.so.2</userinput></screen>
<caution>
<para>At this point, it is imperative to stop and ensure that the basic
functions (compiling and linking) of the new toolchain are working as
expected. To perform a sanity check, run the following commands:</para>
<screen><userinput>echo 'int main(){}' &gt; dummy.c
$LFS_TGT-gcc -m32 dummy.c
readelf -l a.out | grep '/ld-linux'</userinput></screen>
<para>If everything is working correctly, there should be no errors,
and the output of the last command will be of the form:</para>
<screen><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>
<para>If the output is not shown as above or there was no output at all,
then something is wrong. Investigate and retrace the steps to find out
where the problem is and correct it. This issue must be resolved before
continuing on.</para>
<para>Once all is well, clean up the test files:</para>
<screen><userinput>rm -v dummy.c a.out</userinput></screen>
</caution>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all">
<title>Building Glibc - x32bit</title>
<para>Now recompile for mx32. The extracted source can be
reused but needs to be cleaned before installing the mx32
version of Glibc.</para>
<para>Clear the build directory and remove artefacts from
previous build:</para>
<screen><userinput remap="pre">make clean
find .. -name "*.a" -delete</userinput></screen>
<para>Configure Glibc for mx32 with the following commands:</para>
<screen><userinput remap="configure">CC="$LFS_TGT-gcc -mx32" \
CXX="$LFS_TGT-g++ -mx32" \
../configure \
--prefix=/usr \
--host=$LFS_TGTX32 \
--build=$(../scripts/config.guess) \
--enable-kernel=&min-kernel; \
--with-headers=$LFS/usr/include \
--enable-multi-arch \
--libdir=/usr/libx32 \
--libexecdir=/usr/libx32 \
libc_cv_slibdir=/usr/libx32</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -a DESTDIR/usr/libx32 $LFS/usr/
install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-x32.h \
$LFS/usr/include/gnu/
ln -svf ../libx32/ld-linux-x32.so.2 $LFS/lib/ld-linux-x32.so.2</userinput></screen>
<caution>
<para>At this point, it is imperative to stop and ensure that the basic
functions (compiling and linking) of the new toolchain are working as
expected. To perform a sanity check, run the following commands:</para>
<screen><userinput>echo 'int main(){}' &gt; dummy.c
$LFS_TGT-gcc -mx32 dummy.c
readelf -l a.out | grep '/ld-linux-x32'</userinput></screen>
<para>If everything is working correctly, there should be no errors,
and the output of the last command will be of the form:</para>
<screen><computeroutput>[Requesting program interpreter: /libx32/ld-linux-x32.so.2]</computeroutput></screen>
<para>If the output is not shown as above or there was no output at all,
then something is wrong. Investigate and retrace the steps to find out
where the problem is and correct it. This issue must be resolved before
continuing on.</para>
<para>Once all is well, clean up the test files:</para>
<screen><userinput>rm -v dummy.c a.out</userinput></screen>
</caution>
</sect2><!-- mx32 -->
<sect2 role="content">
<title/>

View File

@ -60,7 +60,15 @@ cd build</userinput></screen>
<para>Prepare Libstdc++ for compilation:</para>
<screen><userinput remap="configure">../libstdc++-v3/configure \
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../libstdc++-v3/configure \
--host=$LFS_TGT \
--build=$(../config.guess) \
--prefix=/usr \
--enable-multilib \
--disable-nls \
--disable-libstdcxx-pch \
--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/&gcc-version;</userinput></screen>
<screen arch="default"><userinput remap="configure">../libstdc++-v3/configure \
--host=$LFS_TGT \
--build=$(../config.guess) \
--prefix=/usr \
@ -81,6 +89,13 @@ cd build</userinput></screen>
</listitem>
</varlistentry>
<varlistentry arch="ml_32,ml_x32,ml_all">
<term><parameter>--enable-multilib</parameter></term>
<listitem>
<para>Enable building multilib objects.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--disable-libstdcxx-pch</parameter></term>
<listitem>

175
chapter05/libxcrypt.xml Normal file
View File

@ -0,0 +1,175 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-libxcrypt" role="wrap">
<?dbhtml filename="libxcrypt.html"?>
<sect1info condition="script">
<productname>libxcrypt</productname>
<productnumber>&libxcrypt-version;</productnumber>
<address>&libxcrypt-url;</address>
</sect1info>
<title>Libxcrypt-&libxcrypt-version;</title>
<indexterm zone="ch-tools-libxcrypt">
<primary sortas="a-Libxcrypt">Libxcrypt</primary>
</indexterm>
<sect2 role="package">
<title/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter08/libxcrypt.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>&libxcrypt-fin-sbu;</seg>
<seg>&libxcrypt-fin-du;</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Libxcrypt</title>
<para>Prepare Libxcrypt for compilation:</para>
<screen><userinput remap="configure">./configure --target=$LFS_TGT \
--prefix=/usr \
--enable-hashes=strong,glibc \
--enable-obsolete-api=no \
--disable-static \
--disable-failure-tokens</userinput></screen>
<variablelist>
<title>The meaning of the new configure options:</title>
<varlistentry>
<term><parameter>--enable-hashes=strong,glibc</parameter></term>
<listitem>
<para>Build strong hash algorithms recommended for security use
cases, and the hash algorithms provided by traditional Glibc
<systemitem class='library'>libcrypt</systemitem> for
compatibility.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--enable-obsolete-api=no</parameter></term>
<listitem>
<para>Disable obsolete API functions. They are not needed for
a modern Linux system built from source.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--disable-failure-tokens</parameter></term>
<listitem>
<para>Disable failure token feature. It's needed for
compatibility with the traditional hash libraries of some
platforms, but a Linux system based on Glibc does not need
it.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>To test the results, issue:</para>
<screen><userinput remap="test">make check</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen>
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Libxcrypt - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare File for compilation:</para>
<screen><userinput remap="configure">CC="gcc -m32" \
./configure --target=$LFS_TGT32 \
--prefix=/usr \
--host=i686-pc-linux-gnu \
--libdir=/usr/lib32 \
--enable-hashes=strong,glibc \
--enable-obsolete-api=glibc \
--disable-static \
--disable-failure-tokens</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">cp -av .libs/libcrypt.so* $LFS/usr/lib32/ &amp;&amp;
make DESTDIR=$LFS install-pkgconfigDATA &amp;&amp;
ln -svf libxcrypt.pc $LFS/usr/lib32/pkgconfig/libcrypt.pc</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Libxcrypt - x32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare File for compilation:</para>
<screen><userinput remap="configure">CC="gcc -mx32" \
./configure --target=$LFS_TGT32 \
--prefix=/usr \
--host=x86_64-pc-linux-gnux32 \
--libdir=/usr/libx32 \
--enable-hashes=strong,glibc \
--enable-obsolete-api=glibc \
--disable-static \
--disable-failure-tokens</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">cp -av .libs/libcrypt.so* $LFS/usr/libx32/ &amp;&amp;
make DESTDIR=$LFS install-pkgconfigDATA &amp;&amp;
ln -svf libxcrypt.pc $LFS/usr/libx32/pkgconfig/libcrypt.pc</userinput></screen>
</sect2><!-- mx32 -->
<sect2 role="content">
<title/>
<para>Details on this package are located in
<xref linkend="contents-libxcrypt" role="."/></para>
</sect2>
</sect1>

View File

@ -58,7 +58,7 @@ cd build</userinput></screen>
<para>Prepare Binutils for compilation:</para>
<screen><userinput remap="configure">../configure \
<screen arch="default"><userinput remap="configure">../configure \
--prefix=/usr \
--build=$(../config.guess) \
--host=$LFS_TGT \
@ -67,6 +67,16 @@ cd build</userinput></screen>
--enable-gprofng=no \
--disable-werror \
--enable-64-bit-bfd</userinput></screen>
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure \
--prefix=/usr \
--build=$(../config.guess) \
--host=$LFS_TGT \
--disable-nls \
--enable-shared \
--enable-gprofng=no \
--disable-werror \
--enable-64-bit-bfd \
--enable-multilib</userinput></screen>
<variablelist>
<title>The meaning of the new configure options:</title>
@ -88,6 +98,13 @@ cd build</userinput></screen>
</listitem>
</varlistentry>
<varlistentry arch="ml_32,ml_x32,ml_all">
<term><parameter>--enable-multilib</parameter></term>
<listitem>
<para>Enables multilib support in bintutils.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>

View File

@ -57,15 +57,23 @@ mv -v gmp-&gmp-version; gmp
tar -xf ../mpc-&mpc-version;.tar.gz
mv -v mpc-&mpc-version; mpc</userinput></screen>
<para>If building on x86_64, change the default directory name for 64-bit
<para arch="default">If building on x86_64, change the default directory name for 64-bit
libraries to <quote>lib</quote>:</para>
<screen><userinput remap="pre">case $(uname -m) in
<screen arch="default"><userinput remap="pre">case $(uname -m) in
x86_64)
sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64
;;
esac</userinput></screen>
<para arch="ml_32,ml_x32,ml_all">Change the default directory name for the
libraries:</para>
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
-e '/m32=/s/m32=.*/m32=..\/lib32$(call if_multiarch,:i386-linux-gnu)/' \
-i.orig gcc/config/i386/t-linux64</userinput></screen>
<para>Override the building rule of libgcc and libstdc++ headers, to
allow building these libraries with POSIX threads support:</para>
@ -82,7 +90,7 @@ cd build</userinput></screen>
<para>Now prepare GCC for compilation:</para>
<screen><userinput remap="configure">../configure \
<screen arch="default"><userinput remap="configure">../configure \
--build=$(../config.guess) \
--host=$LFS_TGT \
--target=$LFS_TGT \
@ -100,6 +108,28 @@ cd build</userinput></screen>
--disable-libssp \
--disable-libvtv \
--enable-languages=c,c++</userinput></screen>
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure"
arch="ml_32">mlist=m64,m32</userinput><userinput remap="configure"
arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure"
arch="ml_all">mlist=m64,m32,mx32</userinput>
<userinput remap="configure">../configure \
--build=$(../config.guess) \
--host=$LFS_TGT \
--target=$LFS_TGT \
LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \
--prefix=/usr \
--with-build-sysroot=$LFS \
--enable-default-pie \
--enable-default-ssp \
--disable-nls \
--enable-multilib --with-multilib-list=$mlist \
--disable-libatomic \
--disable-libgomp \
--disable-libquadmath \
--disable-libsanitizer \
--disable-libssp \
--disable-libvtv \
--enable-languages=c,c++</userinput></screen>
<variablelist>
<title>The meaning of the new configure options:</title><!-- WIP -->

View File

@ -189,6 +189,86 @@ echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so</userinput></screen>
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all">
<title>Building Ncurses - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Ncurses for compilation:</para>
<screen><userinput remap="configure">CC="$LFS_TGT-gcc -m32" \
CXX="$LFS_TGT-g++ -m32" \
./configure --prefix=/usr \
--host=$LFS_TGT32 \
--build=$(./config.guess) \
--libdir=/usr/lib32 \
--mandir=/usr/share/man \
--with-shared \
--without-normal \
--with-cxx-shared \
--without-debug \
--without-ada \
--disable-stripping \
--enable-widec</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR TIC_PATH=$(pwd)/build/progs/tic install
ln -s libncursesw.so DESTDIR/usr/lib32/libcursesw.so
cp -Rv DESTDIR/usr/lib32/* $LFS/usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all">
<title>Building Ncurses - x32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Ncurses for compilation:</para>
<screen><userinput remap="configure">CC="$LFS_TGT-gcc -mx32" \
CXX="$LFS_TGT-g++ -mx32" \
./configure --prefix=/usr \
--host=$LFS_TGTX32 \
--build=$(./config.guess) \
--libdir=/usr/libx32 \
--mandir=/usr/share/man \
--with-shared \
--without-normal \
--with-cxx-shared \
--without-debug \
--without-ada \
--disable-stripping \
--enable-widec</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR TIC_PATH=$(pwd)/build/progs/tic install
ln -s libncursesw.so DESTDIR/usr/libx32/libcursesw.so
cp -Rv DESTDIR/usr/libx32/* $LFS/usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 role="content">
<title/>

View File

@ -38,4 +38,9 @@ case $(uname -m) in
x86_64) chown -R root:root $LFS/lib64 ;;
esac</userinput></screen>
<para arch="ml_32,ml_x32,ml_all">Some more directories exists for
multilib support. Change their ownership, too:</para>
<screen arch="ml_32,ml_x32,ml_all"><userinput arch="ml_32,ml_all">chown -R root:root $LFS/lib32</userinput>
<userinput arch="ml_x32,ml_all">chown -R root:root $LFS/libx32</userinput></screen>
</sect1>

View File

@ -23,7 +23,10 @@
libltdl, and it's known that some .la files can cause BLFS package
failures. Remove those files now:</para>
<screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput></screen>
<screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput><userinput arch="ml_32">
find /usr/lib32 -name \*.la -delete</userinput><userinput arch="ml_x32">
find /usr/libx32 -name \*.la -delete</userinput><userinput arch="ml_all">
find /usr/lib{,x}32 -name \*.la -delete</userinput></screen>
<para>
The current system size is now about 3 GB, however

View File

@ -41,6 +41,9 @@ ln -sfv /run/lock /var/lock
install -dv -m 0750 /root
install -dv -m 1777 /tmp /var/tmp</userinput></screen>
<para arch="ml_32,ml_x32,ml_all">Required directories for multilib
support has already been created while previous installation steps.</para>
<para>Directories are, by default, created with permission mode 755, but
this is not desirable everywhere. In the commands above, two
changes are made&mdash;one to the home directory of user <systemitem

View File

@ -126,6 +126,88 @@
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Util-linux - 32-bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Util-linux for compilation:</para>
<screen><userinput remap="configure">CC="gcc -m32" \
./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
--libdir=/usr/lib32 \
--host=i686-pc-linux-gnu \
--docdir=/usr/share/doc/util-linux-&util-linux-version; \
--disable-chfn-chsh \
--disable-login \
--disable-nologin \
--disable-su \
--disable-setpriv \
--disable-runuser \
--disable-pylibmount \
--disable-static \
--without-python \
runstatedir=/run</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Util-linux - x32-bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Util-linux for compilation:</para>
<screen><userinput remap="configure">CC="gcc -mx32" \
./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
--libdir=/usr/libx32 \
--host=x86_64-pc-linux-gnux32 \
--docdir=/usr/share/doc/util-linux-&util-linux-version; \
--disable-chfn-chsh \
--disable-login \
--disable-nologin \
--disable-su \
--disable-setpriv \
--disable-runuser \
--disable-pylibmount \
--disable-static \
--without-python \
runstatedir=/run</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 role="content">
<title/>

View File

@ -64,6 +64,70 @@
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Acl - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Xz for compilation:</para>
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
--prefix=/usr \
--disable-static \
--libdir=/usr/lib32 \
--libexecdir=/usr/lib32 \
--host=i686-pc-linux-gnu</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Acl - x32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Xz for compilation:</para>
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
--prefix=/usr \
--disable-static \
--libdir=/usr/libx32 \
--libexecdir=/usr/libx32 \
--host=x86_64-pc-linux-gnux32</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-acl" role="content">
<title>Contents of Acl</title>

View File

@ -64,6 +64,70 @@
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Attr - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Attr for compilation:</para>
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
--prefix=/usr \
--disable-static \
--sysconfdir=/etc \
--libdir=/usr/lib32 \
--host=i686-pc-linux-gnu</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Attr - x32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Attr for compilation:</para>
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
--prefix=/usr \
--disable-static \
--sysconfdir=/etc \
--libdir=/usr/libx32 \
--host=x86_64-pc-linux-gnux32</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-attr" role="content">
<title>Contents of Attr</title>

View File

@ -49,7 +49,7 @@ cd build</userinput></screen>
<para>Prepare Binutils for compilation:</para>
<screen><userinput remap="configure">../configure --prefix=/usr \
<screen arch="default"><userinput remap="configure">../configure --prefix=/usr \
--sysconfdir=/etc \
--enable-gold \
--enable-ld=default \
@ -58,6 +58,17 @@ cd build</userinput></screen>
--disable-werror \
--enable-64-bit-bfd \
--with-system-zlib</userinput></screen>
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure --prefix=/usr \
--sysconfdir=/etc \
--enable-gold \
--enable-ld=default \
--enable-plugins \
--enable-shared \
--disable-werror \
--enable-64-bit-bfd \
--with-system-zlib \
--enable-multilib</userinput></screen>
<variablelist>
<title>The meaning of the configure parameters:</title>
@ -92,6 +103,13 @@ cd build</userinput></screen>
</listitem>
</varlistentry>
<varlistentry arch="ml_32,ml_x32,ml_all">
<term><parameter>--enable-multilib</parameter></term>
<listitem>
<para>Enables multilib support in bintutils.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--with-system-zlib</parameter></term>
<listitem>

View File

@ -103,6 +103,60 @@ done</userinput></screen>
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Bzip2 - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make clean</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">sed -e "s/^CC=.*/CC=gcc -m32/" -i Makefile{,-libbz2_so}
make -f Makefile-libbz2_so
make libbz2.a</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">install -Dm755 libbz2.so.1.0.8 /usr/lib32/libbz2.so.1.0.8
ln -sf libbz2.so.1.0.8 /usr/lib32/libbz2.so
ln -sf libbz2.so.1.0.8 /usr/lib32/libbz2.so.1
ln -sf libbz2.so.1.0.8 /usr/lib32/libbz2.so.1.0
install -Dm644 libbz2.a /usr/lib32/libbz2.a</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Bzip2 - x32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make clean</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">sed -e "s/^CC=.*/CC=gcc -mx32/" -i Makefile{,-libbz2_so}
make -f Makefile-libbz2_so
make libbz2.a</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">install -Dm755 libbz2.so.1.0.8 /usr/libx32/libbz2.so.1.0.8
ln -sf libbz2.so.1.0.8 /usr/libx32/libbz2.so
ln -sf libbz2.so.1.0.8 /usr/libx32/libbz2.so.1
ln -sf libbz2.so.1.0.8 /usr/libx32/libbz2.so.1.0
install -Dm644 libbz2.a /usr/libx32/libbz2.a</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-bzip2" role="content">
<title>Contents of Bzip2</title>

View File

@ -33,6 +33,7 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gmp.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpfr.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpc.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="isl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="attr.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="acl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libcap.xml"/>

View File

@ -21,7 +21,9 @@
by libltdl, and it's known that some .la files can break BLFS package
builds. Remove those files now:</para>
<screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>
<screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput><userinput arch="ml_32,ml_all">
find /usr/lib32 -name \*.la -delete</userinput><userinput arch="ml_x32,ml_all">
find /usr/libx32 -name \*.la -delete</userinput></screen>
<para>For more information about libtool archive files, see the <ulink
url="&blfs-book;introduction/la-files.html">BLFS section "About Libtool

View File

@ -65,6 +65,72 @@
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Expat - 32bit</title>
<para>Clean previous build but keep precompiled doc because it
cannot be rebuilt in this stage of the system:</para>
<screen><userinput remap="pre">sed -e "/^am__append_1/ s/doc//" -i Makefile
make clean</userinput></screen>
<para>Prepare Expat for compilation:</para>
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
--prefix=/usr \
--disable-static \
--libdir=/usr/lib32 \
--host=i686-pc-linux-gnu</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Expat - x32bit</title>
<para>Clean previous build but keep precompiled doc because it
cannot be rebuilt in this stage of the system:</para>
<screen><userinput remap="pre">sed -e "/^am__append_1/ s/doc//" -i Makefile
make clean</userinput></screen>
<para>Prepare Expat for compilation:</para>
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
--prefix=/usr \
--disable-static \
--libdir=/usr/libx32 \
--host=x86_64-pc-linux-gnux32</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-expat" role="content">
<title>Contents of Expat</title>

View File

@ -59,6 +59,65 @@
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of File - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare File for compilation:</para>
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
--prefix=/usr \
--libdir=/usr/lib32 \
--host=i686-pc-linux-gnu</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of File - x32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare File for compilation:</para>
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
--prefix=/usr \
--libdir=/usr/libx32 \
--host=x86_64-pc-linux-gnux32</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-file" role="content">
<title>Contents of File</title>

View File

@ -57,13 +57,20 @@
<para>If building on x86_64, change the default directory name for 64-bit
libraries to <quote>lib</quote>:</para>
<screen><userinput remap="pre">case $(uname -m) in
<screen arch="default"><userinput remap="pre">case $(uname -m) in
x86_64)
sed -e '/m64=/s/lib64/lib/' \
-i.orig gcc/config/i386/t-linux64
;;
esac</userinput></screen>
<para arch="ml_32,ml_x32,ml_all">Change the default directory name for 64-bit
libraries to <quote>lib</quote>:</para>
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
-e '/m32=/s/m32=.*/m32=..\/lib32$(call if_multiarch,:i386-linux-gnu)/' \
-i.orig gcc/config/i386/t-linux64</userinput></screen>
<para>The GCC documentation recommends building GCC in a dedicated build directory:</para>
<screen><userinput remap="pre">mkdir -v build
@ -71,7 +78,7 @@ cd build</userinput></screen>
<para>Prepare GCC for compilation:</para>
<screen><userinput remap="configure">../configure --prefix=/usr \
<screen arch="default"><userinput remap="configure">../configure --prefix=/usr \
LD=ld \
--enable-languages=c,c++ \
--enable-default-pie \
@ -80,6 +87,20 @@ cd build</userinput></screen>
--disable-bootstrap \
--disable-fixincludes \
--with-system-zlib</userinput></screen>
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure"
arch="ml_32" >mlist=m64,m32</userinput><userinput remap="configure"
arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure"
arch="ml_all">mlist=m64,m32,mx32</userinput>
<userinput remap="configure">../configure --prefix=/usr \
LD=ld \
--enable-languages=c,c++ \
--enable-default-pie \
--enable-default-ssp \
--enable-multilib \
--with-multilib-list=$mlist \
--disable-bootstrap \
--disable-fixincludes \
--with-system-zlib</userinput></screen>
<para>GCC supports seven different computer languages, but the
prerequisites for most of them have not yet been installed. See the
@ -303,10 +324,11 @@ SEARCH_DIR("/usr/local/lib")
SEARCH_DIR("/lib")
SEARCH_DIR("/usr/lib");</computeroutput></screen>
<para>A 32-bit system may use a few other directories. For example, here
<para arch="default">A 32-bit system may use a few other directories. For example, here
is the output from an i686 machine:</para>
<screen><computeroutput>SEARCH_DIR("/usr/i686-pc-linux-gnu/lib32")
<!-- not using entities here as the dir names has nothing to do with multilib -->
<screen arch="default"><computeroutput>SEARCH_DIR("/usr/i686-pc-linux-gnu/lib32")
SEARCH_DIR("/usr/local/lib32")
SEARCH_DIR("/lib32")
SEARCH_DIR("/usr/lib32")

View File

@ -69,12 +69,19 @@ cd build</userinput></screen>
<para>Prepare Glibc for compilation:</para>
<screen><userinput remap="configure">../configure --prefix=/usr \
<screen arch="default"><userinput remap="configure">../configure --prefix=/usr \
--disable-werror \
--enable-kernel=&min-kernel; \
--enable-stack-protector=strong \
--with-headers=/usr/include \
libc_cv_slibdir=/usr/lib</userinput></screen>
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure --prefix=/usr \
--disable-werror \
--enable-kernel=&min-kernel; \
--enable-stack-protector=strong \
--with-headers=/usr/include \
--enable-multi-arch \
libc_cv_slibdir=/usr/lib</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
@ -468,6 +475,156 @@ mkdir -pv /etc/ld.so.conf.d</userinput></screen>
</sect3>
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all">
<title>Building Glibc - 32bit</title>
<para>Now recompile for m32. The extracted source can be
reused but needs to be cleaned before installing the m32
version of Glibc.</para>
<para>Clear the build directory and remove artefacts from
previous build:</para>
<screen><userinput remap="pre">rm -rf ./*
find .. -name "*.a" -delete</userinput></screen>
<para>Configure Glibc for m32 with the following commands:</para>
<screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" \
../configure \
--prefix=/usr \
--host=i686-pc-linux-gnu \
--build=$(../scripts/config.guess) \
--enable-kernel=&min-kernel; \
--with-headers=/usr/include \
--enable-multi-arch \
--libdir=/usr/lib32 \
--libexecdir=/usr/lib32 \
libc_cv_slibdir=/usr/lib32</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -a DESTDIR/usr/lib32/* /usr/lib32/
install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-32.h \
/usr/include/gnu/</userinput></screen>
<!-- no longer required as they are created in chap5
ln -svf ../lib32/ld-linux.so.2 /lib/ld-linux.so.2
-->
<para>Add the library name to the dynamic loader config:</para>
<screen role="install"><userinput>echo "/usr/lib32" &gt;&gt; /etc/ld.so.conf</userinput></screen>
<caution>
<para>At this point, it is imperative to stop and ensure that the basic
functions (compiling and linking) of the new toolchain are working as
expected. To perform a sanity check, run the following commands:</para>
<screen><userinput>echo 'int main(){}' &gt; dummy.c
gcc -m32 dummy.c
readelf -l a.out | grep '/ld-linux'</userinput></screen>
<para>If everything is working correctly, there should be no errors,
and the output of the last command will be of the form:</para>
<screen><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>
<para>If the output is not shown as above or there was no output at all,
then something is wrong. Investigate and retrace the steps to find out
where the problem is and correct it. This issue must be resolved before
continuing on.</para>
<para>Once all is well, clean up the test files:</para>
<screen><userinput>rm -v dummy.c a.out</userinput></screen>
</caution>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all">
<title>Building Glibc - x32bit</title>
<para>Now recompile for mx32. The extracted source can be
reused but needs to be cleaned before installing the mx32
version of Glibc.</para>
<para>Clear the build directory and remove artefacts from
previous build:</para>
<screen><userinput remap="pre">rm -rf ./*
find .. -name "*.a" -delete</userinput></screen>
<para>Configure Glibc for mx32 with the following commands:</para>
<screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" \
../configure \
--prefix=/usr \
--host=x86_64-pc-linux-gnux32 \
--build=$(../scripts/config.guess) \
--enable-kernel=&min-kernel; \
--with-headers=/usr/include \
--enable-multi-arch \
--libdir=/usr/libx32 \
--libexecdir=/usr/libx32 \
libc_cv_slibdir=/usr/libx32</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -a DESTDIR/usr/libx32/* /usr/libx32/
install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-x32.h \
/usr/include/gnu/</userinput></screen>
<!-- no longer required as they are created in chap5
ln -svf ../libx32/ld-linux-x32.so.2 /lib/ld-linux-x32.so.2
-->
<para>Add the library name to the dynamic loader config:</para>
<screen role="install"><userinput>echo "/usr/libx32" &gt;&gt; /etc/ld.so.conf</userinput></screen>
<caution>
<para>At this point, it is imperative to stop and ensure that the basic
functions (compiling and linking) of the new toolchain are working as
expected. To perform a sanity check, run the following commands:</para>
<screen><userinput>echo 'int main(){}' &gt; dummy.c
gcc -mx32 dummy.c
readelf -l a.out | grep '/ld-linux-x32'</userinput></screen>
<para>If everything is working correctly, there should be no errors,
and the output of the last command will be of the form:</para>
<screen><computeroutput>[Requesting program interpreter: /libx32/ld-linux-x32.so.2]</computeroutput></screen>
<para>If the output is not shown as above or there was no output at all,
then something is wrong. Investigate and retrace the steps to find out
where the problem is and correct it. This issue must be resolved before
continuing on.</para>
<para>Once all is well, clean up the test files:</para>
<screen><userinput>rm -v dummy.c a.out</userinput></screen>
</caution>
</sect2><!-- mx32 -->
<sect2 id="contents-glibc" role="content">
<title>Contents of Glibc</title>

View File

@ -124,6 +124,138 @@ make install-html</userinput></screen>
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of GMP - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Generic libraries can be created by running
the following:</para>
<screen role="nodump"><userinput remap="pre">cp -v configfsf.guess config.guess
cp -v configfsf.sub config.sub</userinput></screen>
<para>Prepare GMP for compilation:</para>
<screen><userinput remap="configure">ABI="32" \
CFLAGS="-m32 -O2 -pedantic -fomit-frame-pointer -mtune=generic -march=i686" \
CXXFLAGS="$CFLAGS" \
PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
./configure \
--host=i686-pc-linux-gnu \
--prefix=/usr \
--disable-static \
--enable-cxx \
--libdir=/usr/lib32 \
--includedir=/usr/include/m32/gmp</userinput></screen>
<variablelist>
<title>The meaning of the new configure options:</title>
<varlistentry>
<term><parameter>--includedir=/usr/include/m32/gmp</parameter></term>
<listitem>
<para>Some definitions in gmp.h differs for each arch but
has same name. Therefore, the headers must be separated from
each other.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>
<screen><userinput remap="make">sed -i 's/$(exec_prefix)\/include/$\(includedir\)/' Makefile
make</userinput></screen>
<important>
<para>The test suite for GMP in this section is considered critical.
Do not skip it under any circumstances.</para>
</important>
<para>Test the results:</para>
<screen><userinput remap="test">make check 2>&amp;1 | tee gmp-check-log</userinput></screen>
<para>Ensure that all 197 tests in the test suite passed.
Check the results by issuing the following command:</para>
<screen><userinput remap="test">awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
cp -Rv DESTDIR/usr/include/m32/* /usr/include/m32/
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of GMP - x32-bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Generic libraries can be created by running
the following:</para>
<screen role="nodump"><userinput remap="pre">cp -v configfsf.guess config.guess
cp -v configfsf.sub config.sub</userinput></screen>
<para>Prepare GMP for compilation:</para>
<screen><userinput remap="configure">ABI="x32" \
CFLAGS="-mx32 -O2 -pedantic -fomit-frame-pointer -mtune=generic -march=x86-64" \
CXXFLAGS="$CFLAGS" \
PKG_CONFIG_PATH="/usr/libx32/pkgconfig" \
./configure \
--host=x86_64-pc-linux-gnux32 \
--prefix=/usr \
--disable-static \
--enable-cxx \
--libdir=/usr/libx32 \
--includedir=/usr/include/mx32/gmp</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">sed -i 's/$(exec_prefix)\/include/$\(includedir\)/' Makefile
make</userinput></screen>
<important>
<para>The test suite for GMP in this section is considered critical.
Do not skip it under any circumstances.</para>
</important>
<para>Test the results:</para>
<screen><userinput remap="test">make check 2>&amp;1 | tee gmp-check-log</userinput></screen>
<para>Ensure that all 197 tests in the test suite passed.
Check the results by issuing the following command:</para>
<screen><userinput remap="test">awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
cp -Rv DESTDIR/usr/include/mx32/* /usr/include/mx32/
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-gmp" role="content">
<title>Contents of GMP</title>

113
chapter08/isl.xml Normal file
View File

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-isl" role="wrap">
<?dbhtml filename="isl.html"?>
<sect1info condition="script">
<productname>isl</productname>
<productnumber>&isl-version;</productnumber>
<address>&isl-url;</address>
</sect1info>
<title>ISL-&isl-version;</title>
<indexterm zone="ch-system-isl">
<primary sortas="a-ISL">ISL</primary>
</indexterm>
<sect2 role="package">
<title/>
<para>ISL is a thread-safe C library for manipulating sets and relations
of integer points bounded by affine constraints.</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>&isl-fin-sbu;</seg>
<seg>&isl-fin-du;</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of ISL</title>
<para>Prepare ISL for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/isl-&isl-version;</userinput></screen>
<variablelist>
<title>The meaning of the new configure options:</title>
<varlistentry>
<term><parameter>--docdir=/usr/share/doc/isl-&isl-version;</parameter></term>
<listitem>
<para>This variable specifies the correct place for the
documentation.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package and its documentation:</para>
<screen><userinput remap="install">make install
install -vd /usr/share/doc/isl-&isl-version;
install -m644 doc/{CodingStyle,manual.pdf,SubmittingPatches,user.pod} \
/usr/share/doc/isl-&isl-version;</userinput></screen>
<para>Finally, move a misplaced file:</para>
<screen><userinput remap="install">mkdir -pv /usr/share/gdb/auto-load/usr/lib
mv -v /usr/lib/libisl*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen>
</sect2>
<sect2 id="contents-isl" role="content">
<title>Contents of ISL</title>
<segmentedlist>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed directory</segtitle>
<seglistitem>
<seg>libisl.so</seg>
<seg>/usr/share/doc/isl-&isl-version;</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="libisl">
<term><filename class="libraryfile">libisl</filename></term>
<listitem>
<para>Contains integer set manipulation functions</para>
<indexterm zone="ch-system-isl libisl">
<primary sortas="c-libisl">libisl</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>

View File

@ -98,6 +98,82 @@ ln -sfv kmod /usr/bin/lsmod</userinput></screen>
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Kmod - 32bit</title>
<para>Clean previous build but keep man pages as they cannot
be recreated since xsltproc isn't installed yet:</para>
<screen><userinput remap="pre">sed -e "s/^CLEANFILES =.*/CLEANFILES =/" -i man/Makefile
make clean</userinput></screen>
<para>Prepare Kmod for compilation:</para>
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
--host=i686-pc-linux-gnu \
--prefix=/usr \
--libdir=/usr/lib32 \
--sysconfdir=/etc \
--with-openssl \
--with-xz \
--with-zstd \
--with-zlib \
--with-rootlibdir=/usr/lib32</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Kmod - x32bit</title>
<para>Clean previous build but keep man pages as they cannot
be recreated since xsltproc isn't installed yet:</para>
<screen><userinput remap="pre">sed -e "s/^CLEANFILES =.*/CLEANFILES =/" -i man/Makefile
make clean</userinput></screen>
<para>Prepare Kmod for compilation:</para>
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
--host=x86_64-pc-linux-gnux32 \
--prefix=/usr \
--libdir=/usr/libx32 \
--sysconfdir=/etc \
--with-openssl \
--with-xz \
--with-zstd \
--with-zlib \
--with-rootlibdir=/usr/libx32</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-kmod" role="content">
<title>Contents of Kmod</title>

View File

@ -75,6 +75,56 @@
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Libcap - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make CC="gcc -m32 -march=i686"</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make CC="gcc -m32 -march=i686" lib=lib32 prefix=$PWD/DESTDIR/usr -C libcap install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
sed -e "s|^libdir=.*|libdir=/usr/lib32|" -i /usr/lib32/pkgconfig/lib{cap,psx}.pc
chmod -v 755 /usr/lib32/libcap.so.&libcap-version;
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Libcap - x32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make CC="gcc -mx32 -march=x86-64"</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make CC="gcc -mx32 -march=x86-64" lib=libx32 prefix=$PWD/DESTDIR/usr -C libcap install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
sed -e "s|^libdir=.*|libdir=/usr/libx32|" -i /usr/libx32/pkgconfig/lib{cap,psx}.pc
chmod -v 755 /usr/libx32/libcap.so.&libcap-version;
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-libcap" role="content">
<title>Contents of Libcap</title>

View File

@ -66,6 +66,72 @@ rm /usr/lib/libelf.a</userinput></screen>
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Libelf - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Libtool for compilation:</para>
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
--host=i686-pc-linux-gnu \
--prefix=/usr \
--libdir=/usr/lib32 \
--disable-debuginfod \
--enable-libdebuginfod=dummy</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR -C libelf install
install -vDm644 config/libelf.pc DESTDIR/usr/lib32/pkgconfig/libelf.pc
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Libelf - x32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Libtool for compilation:</para>
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
--host=x86_64-pc-linux-gnux32 \
--prefix=/usr \
--libdir=/usr/libx32 \
--disable-debuginfod \
--enable-libdebuginfod=dummy</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR -C libelf install
install -vDm644 config/libelf.pc DESTDIR/usr/libx32/pkgconfig/libelf.pc
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-elfutils" role="content">
<title>Contents of Libelf</title>

View File

@ -96,6 +96,78 @@
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Libffi - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Libffi for compilation:</para>
<screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" ./configure \
--host=i686-pc-linux-gnu \
--prefix=/usr \
--libdir=/usr/lib32 \
--disable-static \
--with-gcc-arch=i686</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>To test the results, issue:</para>
<screen><userinput remap="test">make check</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Libffi - x32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Libffi for compilation:</para>
<screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" ./configure \
--host=x86_64-unknown-linux-gnux32 \
--prefix=/usr \
--libdir=/usr/libx32 \
--disable-static \
--with-gcc-arch=x86_64</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>To test the results, issue:</para>
<screen><userinput remap="test">make check</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-libffi" role="content">
<title>Contents of Libffi</title>
@ -126,4 +198,3 @@
</sect2>
</sect1>

View File

@ -78,6 +78,65 @@
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Libtool - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Libtool for compilation:</para>
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
--host=i686-pc-linux-gnu \
--prefix=/usr \
--libdir=/usr/lib32</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Libtool - x32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Libtool for compilation:</para>
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
--host=x86_64-pc-linux-gnux32 \
--prefix=/usr \
--libdir=/usr/libx32</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-libtool" role="content">
<title>Contents of Libtool</title>

View File

@ -115,6 +115,72 @@ cp -av .libs/libcrypt.so.1* /usr/lib</userinput></screen>
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Libxcrypt - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare File for compilation:</para>
<screen><userinput remap="configure">CC="gcc -m32" \
./configure --prefix=/usr \
--host=i686-pc-linux-gnu \
--libdir=/usr/lib32 \
--enable-hashes=strong,glibc \
--enable-obsolete-api=glibc \
--disable-static \
--disable-failure-tokens</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">cp -av .libs/libcrypt.so* /usr/lib32/ &amp;&amp;
make install-pkgconfigDATA &amp;&amp;
ln -svf libxcrypt.pc /usr/lib32/pkgconfig/libcrypt.pc</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Libxcrypt - x32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare File for compilation:</para>
<screen><userinput remap="configure">CC="gcc -mx32" \
./configure --prefix=/usr \
--host=x86_64-pc-linux-gnux32 \
--libdir=/usr/libx32 \
--enable-hashes=strong,glibc \
--enable-obsolete-api=glibc \
--disable-static \
--disable-failure-tokens</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">cp -av .libs/libcrypt.so* /usr/libx32/ &amp;&amp;
make install-pkgconfigDATA &amp;&amp;
ln -svf libxcrypt.pc /usr/libx32/pkgconfig/libcrypt.pc</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-libxcrypt" role="content">
<title>Contents of Libxcrypt</title>

View File

@ -171,10 +171,11 @@ ln -sfv libncurses.so /usr/lib/libcurses.so</userinput></screen>
following commands:</para>
<screen role="nodump"><userinput>make distclean
./configure --prefix=/usr \
--with-shared \
--without-normal \
--without-debug \
./configure --prefix=/usr \
--with-shared \
--without-normal \
--with-cxx-shared \
--without-debug \
--without-cxx-binding \
--with-abi-version=5
make sources libs
@ -183,6 +184,97 @@ cp -av lib/lib*.so.5* /usr/lib</userinput></screen>
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all">
<title>Building Ncurses - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Ncurses for compilation:</para>
<screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" \
./configure --prefix=/usr \
--host=i686-pc-linux-gnu \
--libdir=/usr/lib32 \
--mandir=/usr/share/man \
--with-shared \
--without-debug \
--without-normal \
--with-cxx-shared \
--enable-pc-files \
--enable-widec \
--with-pkg-config-libdir=/usr/lib32/pkgconfig</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
mkdir -p DESTDIR/usr/lib32/pkgconfig
for lib in ncurses form panel menu ; do
rm -vf DESTDIR/usr/lib32/lib${lib}.so
echo "INPUT(-l${lib}w)" > DESTDIR/usr/lib32/lib${lib}.so
ln -svf ${lib}w.pc DESTDIR/usr/lib32/pkgconfig/$lib.pc
done
rm -vf DESTDIR/usr/lib32/libcursesw.so
echo "INPUT(-lncursesw)" > DESTDIR/usr/lib32/libcursesw.so
ln -sfv libncurses.so DESTDIR/usr/lib32/libcurses.so
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all">
<title>Building Ncurses - x32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Ncurses for compilation:</para>
<screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" \
./configure --prefix=/usr \
--host=x86_64-pc-linux-gnux32 \
--libdir=/usr/libx32 \
--mandir=/usr/share/man \
--with-shared \
--without-debug \
--without-normal \
--enable-pc-files \
--enable-widec \
--with-pkg-config-libdir=/usr/libx32/pkgconfig</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
mkdir -p DESTDIR/usr/libx32/pkgconfig
for lib in ncurses form panel menu ; do
rm -vf DESTDIR/usr/libx32/lib${lib}.so
echo "INPUT(-l${lib}w)" > DESTDIR/usr/libx32/lib${lib}.so
ln -svf ${lib}w.pc DESTDIR/usr/libx32/pkgconfig/$lib.pc
done
rm -vf DESTDIR/usr/libx32/libcursesw.so
echo "INPUT(-lncursesw)" > DESTDIR/usr/libx32/libcursesw.so
ln -sfv libncurses.so DESTDIR/usr/libx32/libcurses.so
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-ncurses" role="content">
<title>Contents of Ncurses</title>

View File

@ -126,6 +126,70 @@ make MANSUFFIX=ssl install</userinput></screen>
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of OpenSSL - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare OpenSSL for compilation:</para>
<screen><userinput remap="configure">./config --prefix=/usr \
--openssldir=/etc/ssl \
--libdir=lib32 \
shared \
zlib-dynamic \
linux-x86</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of OpenSSL - x32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare OpenSSL for compilation:</para>
<screen><userinput remap="configure">./config --prefix=/usr \
--openssldir=/etc/ssl \
--libdir=libx32 \
shared \
zlib-dynamic \
linux-x32</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-openssl" role="content">
<title>Contents of OpenSSL</title>

View File

@ -71,7 +71,43 @@
<screen><userinput remap="install">ln -sv pkgconf /usr/bin/pkg-config
ln -sv pkgconf.1 /usr/share/man/man1/pkg-config.1</userinput></screen>
<!--
<para arch="ml_32,ml_x32,ml_all">
For better support of the multilib platform create some
additional files by executing the following commands:
</para>
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="install">ln -sv pkgconf /usr/bin/i686-pc-linux-gnu-pkg-config
ln -sv pkgconf /usr/bin/x86_64-pc-linux-gnux32-pkg-config
ln -sv pkgconf /usr/bin/x86_64-pc-linux-gnu-pkg-config
mkdir -pv /usr/share/pkgconfig/personality.d
cat &gt; /usr/share/pkgconfig/personality.d/i686-pc-linux-gnu.personality &lt;&lt;EOF
Triplet: i686-pc-linux-gnu
SysrootDir: /
DefaultSearchPaths: /usr/lib32/pkgconfig:/usr/share/pkgconfig
SystemIncludePaths: /usr/include
SystemLibraryPaths: /usr/lib32
EOF
cat &gt; /usr/share/pkgconfig/personality.d/x86_64-pc-linux-gnux32.personality &lt;&lt;EOF
Triplet: x86_64-pc-linux-gnux32
SysrootDir: /
DefaultSearchPaths: /usr/libx32/pkgconfig:/usr/share/pkgconfig
SystemIncludePaths: /usr/include
SystemLibraryPaths: /usr/libx32
EOF
cat &gt; /usr/share/pkgconfig/personality.d/x86_64-pc-linux-gnu.personality &lt;&lt;EOF
Triplet: x86_64-pc-linux-gnu
SysrootDir: /
DefaultSearchPaths: /usr/lib/pkgconfig:/usr/share/pkgconfig
SystemIncludePaths: /usr/include
SystemLibraryPaths: /usr/lib
EOF
</userinput></screen>
-->
</sect2>
<sect2 id="contents-pkgconf" role="content">

View File

@ -104,6 +104,70 @@ sed -i '/{OLDSUFF}/c:' support/shlib-install</userinput></screen>
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Readline - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Readline for compilation:</para>
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
--host=i686-pc-linux-gnu \
--prefix=/usr \
--libdir=/usr/lib32 \
--disable-static \
--with-curses</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make SHLIB_LIBS="-lncursesw"</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make SHLIB_LIBS="-lncursesw" DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Readline - x32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Readline for compilation:</para>
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
--host=x86_64-pc-linux-gnux32 \
--prefix=/usr \
--libdir=/usr/libx32 \
--disable-static \
--with-curses</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make SHLIB_LIBS="-lncursesw"</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make SHLIB_LIBS="-lncursesw" DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-readline" role="content">
<title>Contents of Readline</title>

View File

@ -76,7 +76,6 @@
libatomic.so.&libatomic-version;"
cd /usr/lib
for LIB in $save_usrlib; do
objcopy --only-keep-debug $LIB $LIB.dbg
cp $LIB /tmp/$LIB
@ -84,7 +83,27 @@ for LIB in $save_usrlib; do
objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB
install -vm755 /tmp/$LIB /usr/lib
rm /tmp/$LIB
done
done</userinput>
<userinput arch="ml_32,ml_all">
cd /usr/lib32
for LIB in $save_usrlib; do
objcopy --only-keep-debug $LIB $LIB.dbg
cp $LIB /tmp/$LIB
strip --strip-unneeded /tmp/$LIB
objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB
install -vm755 /tmp/$LIB /usr/lib32
rm /tmp/$LIB
done</userinput>
<userinput arch="ml_x32,ml_all">
cd /usr/libx32
for LIB in $save_usrlib; do
objcopy --only-keep-debug $LIB $LIB.dbg
cp $LIB /tmp/$LIB
strip --strip-unneeded /tmp/$LIB
objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB
install -vm755 /tmp/$LIB /usr/libx32
rm /tmp/$LIB
done</userinput><userinput>
online_usrbin="bash find strip"
online_usrlib="libbfd-&binutils-version;.so
@ -108,7 +127,19 @@ for LIB in $online_usrlib; do
strip --strip-unneeded /tmp/$LIB
install -vm755 /tmp/$LIB /usr/lib
rm /tmp/$LIB
done
done</userinput><userinput arch="ml_32,ml_all">
for LIB in $online_usrlib; do
cp /usr/lib32/$LIB /tmp/$LIB
strip --strip-unneeded /tmp/$LIB
install -vm755 /tmp/$LIB /usr/lib32
rm /tmp/$LIB
done</userinput><userinput arch="ml_x32,ml_all">
for LIB in $online_usrlib; do
cp /usr/libx32/$LIB /tmp/$LIB
strip --strip-unneeded /tmp/$LIB
install -vm755 /tmp/$LIB /usr/libx32
rm /tmp/$LIB
done</userinput><userinput>
for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \
$(find /usr/lib -type f -name \*.a) \
@ -119,7 +150,25 @@ for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \
* ) strip --strip-unneeded $i
;;
esac
done
done</userinput><userinput arch="ml_32,ml_all">
for i in $(find /usr/lib32 -type f -name \*.so* ! -name \*dbg) \
$(find /usr/lib32 -type f -name \*.a); do
case "$online_usrbin $online_usrlib $save_usrlib" in
*$(basename $i)* )
;;
* ) strip --strip-unneeded $i
;;
esac
done</userinput><userinput arch="ml_x32,ml_all">
for i in $(find /usr/libx32 -type f -name \*.so* ! -name \*dbg) \
$(find /usr/libx32 -type f -name \*.a); do
case "$online_usrbin $online_usrlib $save_usrlib" in
*$(basename $i)* )
;;
* ) strip --strip-unneeded $i
;;
esac
done</userinput><userinput>
unset BIN LIB save_usrlib online_usrbin online_usrlib
</userinput></screen>

View File

@ -222,6 +222,129 @@ meson setup \
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of systemd - 32-bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">rm -rf *</userinput></screen>
<para>Create a symlink to work around missing xsltproc:</para>
<!-- screen><userinput remap="pre">ln -sf /tools/bin/true /usr/bin/xsltproc</userinput></screen -->
<screen><userinput remap="pre">ln -sf /bin/true /usr/bin/xsltproc</userinput></screen>
<!-- with cross-LFS we have util-linux in place:
<para>Because we have not yet installed the final version of Util-Linux,
create links to the libraries in the approprite location:</para>
<screen><userinput remap="pre">for file in /tools/lib32/lib{blkid,mount,uuid}*; do
ln -sf $file /usr/lib32/
done</userinput></screen>
-->
<para>Prepare systemd for compilation:</para>
<screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
CC="gcc -m32 -march=i686" \
CXX="g++ -m32 -march=i686" \
LANG=en_US.UTF-8 \
meson --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--libdir=/usr/lib32 \
-Drootlibdir=/usr/lib32 \
-Dblkid=true \
-Ddefault-dnssec=no \
-Dfirstboot=false \
-Dinstall-tests=false \
-Dldconfig=false \
-Dsysusers=false \
-Db_lto=false \
-Drpmmacrosdir=no \
-Dhomed=false \
-Duserdb=false \
-Dman=false \
-Dmode=release \
..</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">LANG=en_US.UTF-8 ninja</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">LANG=en_US.UTF-8 DESTDIR=$PWD/DESTDIR ninja install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR
rm -f /usr/bin/xsltproc</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of systemd - x32-bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">rm -rf *</userinput></screen>
<para>Create a symlink to work around missing xsltproc:</para>
<screen><userinput remap="pre">ln -sf /bin/true /usr/bin/xsltproc</userinput></screen>
<!--
<para>Fix an issue on x32:</para>
<screen><userinput remap="pre">sed '/log_debug/s@PRI_TIMEX@PRIi64@' -i src/timesync/timesyncd-manager.c
sed '/long drift_freq;/s@long @int64_t @' -i src/timesync/timesyncd-manager.h</userinput></screen>
-->
<para>Prepare systemd for compilation:</para>
<screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/libx32/pkgconfig" \
CC="gcc -mx32" \
CXX="g++ -mx32" \
CFLAGS+=" -Wno-error=shift-overflow" \
CXXFLAGS+=" -Wno-error=shift-overflow" \
LANG=en_US.UTF-8 \
meson --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--libdir=/usr/libx32 \
-Drootlibdir=/usr/libx32 \
-Dblkid=true \
-Ddefault-dnssec=no \
-Dfirstboot=false \
-Dinstall-tests=false \
-Dldconfig=false \
-Dsysusers=false \
-Db_lto=false \
-Drpmmacrosdir=no \
-Dhomed=false \
-Duserdb=false \
-Dman=false \
-Dmode=release \
..</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">LANG=en_US.UTF-8 ninja</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">LANG=en_US.UTF-8 DESTDIR=$PWD/DESTDIR ninja install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR
rm -f /usr/bin/xsltproc</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-systemd" role="content">
<title>Contents of systemd</title>

View File

@ -160,6 +160,85 @@ rm /usr/share/man/man8/systemd-*.8</userinput></screen>
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Udev - 32bit</title>
<para>Clean previous build (while still in the build directory):</para>
<screen><userinput remap="pre">rm -rf *</userinput></screen>
<para>Prepare File for compilation:</para>
<screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
CC="gcc -m32 -march=i686" \
CXX="g++ -m32 -march=i686" \
LANG=en_US.UTF-8 \
meson setup \
--prefix=/usr \
--buildtype=release \
-Dmode=release \
-Ddev-kvm-mode=0660 \
-Dlink-udev-shared=false \
..</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">ninja \
$(grep -o -E "^build (src/libudev|src/udev)[^:]*" \
build.ninja | awk '{ print $2 }') \
$(realpath libudev.so --relative-to .)</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">mkdir -pv /usr/lib32/pkgconfig &amp;&amp;
cp -av libudev.so{,*[0-9]} /usr/lib32/ &amp;&amp;
sed -e "s;/usr/lib;&amp;32;g" src/libudev/libudev.pc > /usr/lib32/pkgconfig/libudev.pc</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Udev - x32bit</title>
<para>Clean previous build (while still in the build directory):</para>
<screen><userinput remap="pre">rm -rf *</userinput></screen>
<para>Prepare File for compilation:</para>
<screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/libx32/pkgconfig" \
CC="gcc -mx32" \
CXX="g++ -mx32" \
CFLAGS+=" -Wno-error=shift-overflow" \
CXXFLAGS+=" -Wno-error=shift-overflow" \
LANG=en_US.UTF-8 \
meson setup \
--prefix=/usr \
--buildtype=release \
-Dmode=release \
-Ddev-kvm-mode=0660 \
-Dlink-udev-shared=false \
..</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">ninja \
$(grep -o -E "^build (src/libudev|src/udev)[^:]*" \
build.ninja | awk '{ print $2 }') \
$(realpath libudev.so --relative-to .)</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">mkdir -pv /usr/libx32/pkgconfig &amp;&amp;
cp -av libudev.so{,*[0-9]} /usr/libx32/ &amp;&amp;
sed -e "s;/usr/lib;&amp;x32;g" src/libudev/libudev.pc > /usr/libx32/pkgconfig/libudev.pc</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="conf-udev" role="configuration">
<title>Configuring Udev</title>

View File

@ -125,6 +125,138 @@ su tester -c "make -k check"</userinput></screen>
-->
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Util-linux - 32-bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Move a tool out of the way which is optionally used by
configure but will report invalid pathes for multilib builds.</para>
<screen><userinput remap="configure">mv /usr/bin/ncursesw6-config{,.tmp}</userinput></screen>
<para>Prepare Util-linux for compilation:</para>
<screen revision="sysv"><userinput remap="configure">CC="gcc -m32" \
./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
--host=i686-pc-linux-gnu \
--libdir=/usr/lib32 \
--docdir=/usr/share/doc/util-linux-&util-linux-version; \
--disable-chfn-chsh \
--disable-login \
--disable-nologin \
--disable-su \
--disable-setpriv \
--disable-runuser \
--disable-pylibmount \
--disable-static \
--without-python \
--without-systemd \
--without-systemdsystemunitdir</userinput></screen>
<screen revision="systemd"><userinput remap="configure">CC="gcc -m32" \
./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
--host=i686-pc-linux-gnu \
--libdir=/usr/lib32 \
--docdir=/usr/share/doc/util-linux-&util-linux-version; \
--disable-chfn-chsh \
--disable-login \
--disable-nologin \
--disable-su \
--disable-setpriv \
--disable-runuser \
--disable-pylibmount \
--disable-static \
--without-python</userinput></screen>
<para>Restore the tool previously moved away:</para>
<screen><userinput remap="configure">mv /usr/bin/ncursesw6-config{.tmp,}</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Util-linux - x32-bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Move a tool out of the way which is optionally used by
configure but will report invalid pathes for multilib builds.</para>
<screen><userinput remap="configure">mv /usr/bin/ncursesw6-config{,.tmp}</userinput></screen>
<para>Prepare Util-linux for compilation:</para>
<screen revision="sysv"><userinput remap="configure">CC="gcc -mx32" \
./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
--host=x86_64-pc-linux-gnux32 \
--libdir=/usr/libx32 \
--docdir=/usr/share/doc/util-linux-&util-linux-version; \
--disable-chfn-chsh \
--disable-login \
--disable-nologin \
--disable-su \
--disable-setpriv \
--disable-runuser \
--disable-pylibmount \
--disable-static \
--without-python \
--without-systemd \
--without-systemdsystemunitdir</userinput></screen>
<screen revision="systemd"><userinput remap="configure">CC="gcc -mx32" \
./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
--host=x86_64-pc-linux-gnux32 \
--libdir=/usr/libx32 \
--docdir=/usr/share/doc/util-linux-&util-linux-version; \
--disable-chfn-chsh \
--disable-login \
--disable-nologin \
--disable-su \
--disable-setpriv \
--disable-runuser \
--disable-pylibmount \
--disable-static \
--without-python</userinput></screen>
<para>Restore the tool previously moved away:</para>
<screen><userinput remap="configure">mv /usr/bin/ncursesw6-config{.tmp,}</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-utillinux" role="content">
<title>Contents of Util-linux</title>

View File

@ -68,6 +68,68 @@
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Xz - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Xz for compilation:</para>
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
--host=i686-pc-linux-gnu \
--prefix=/usr \
--libdir=/usr/lib32 \
--disable-static</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Xz - x32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Xz for compilation:</para>
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
--host=x86_64-pc-linux-gnux32 \
--prefix=/usr \
--libdir=/usr/libx32 \
--disable-static</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-xz" role="content">
<title>Contents of Xz</title>

View File

@ -63,6 +63,62 @@
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Zlib - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Zlib for compilation:</para>
<screen><userinput remap="configure">CFLAGS+=" -m32" CXXFLAGS+=" -m32" \
./configure --prefix=/usr \
--libdir=/usr/lib32</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Zlib - x32bit</title>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare Zlib for compilation:</para>
<screen><userinput remap="configure">CFLAGS+=" -mx32" CXXFLAGS+=" -mx32" \
./configure --prefix=/usr \
--libdir=/usr/libx32</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-zlib" role="content">
<title>Contents of Zlib</title>

View File

@ -65,6 +65,54 @@
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Zstd - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make clean</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">CC="gcc -m32" make prefix=/usr</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make prefix=/usr DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib/* /usr/lib32/
sed -e "/^libdir/s/lib$/lib32/" -i /usr/lib32/pkgconfig/libzstd.pc
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Zstd - x32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make clean</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">CC="gcc -mx32" make prefix=/usr</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make prefix=/usr DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib/* /usr/libx32/
sed -e "/^libdir/s/lib$/libx32/" -i /usr/libx32/pkgconfig/libzstd.pc
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-zstd" role="content">
<title>Contents of Zstd</title>

View File

@ -185,6 +185,38 @@
UEFI bootloader from the host distro</emphasis>.</para>
</note>
<note arch="ml_32,ml_x32,ml_all">
<para>
The kernel on a multilib system needs to be able to
identify and start binaries compiled for different architectures
than the default.
</para>
<para arch="ml_32,ml_all">
If support for any 32bit ABI was built, make sure that the option
"IA32 Emulation" is selected. The option 'IA32 a.out support' is
optional.
</para>
<para arch="ml_x32,ml_all">
If support for the x32bit ABI was built, make sure that the option
"x32 ABI for 64-bit mode" is selected.
</para>
<screen arch="ml_32">Binary Emulations ---&gt;
[*] IA32 Emulation [CONFIG_IA32_EMULATION]
&lt;M&gt; IA32 a.out support [CONFIG_IA32_AOUT]
</screen>
<screen arch="ml_x32">Binary Emulations ---&gt;
[*] x32 ABI for 64-bit mode [CONFIG_X86_X32]
</screen>
<screen arch="ml_all">Binary Emulations ---&gt;
[*] IA32 Emulation [CONFIG_IA32_EMULATION]
&lt;M&gt; IA32 a.out support [CONFIG_IA32_AOUT]
[*] x32 ABI for 64-bit mode [CONFIG_X86_X32]
</screen>
</note>
<variablelist>
<title>The rationale for the above configuration items:</title>

View File

@ -351,6 +351,15 @@
<!ENTITY iproute2-fin-du "17 MB">
<!ENTITY iproute2-fin-sbu "0.1 SBU">
<!ENTITY isl-version "0.24">
<!ENTITY isl-size "2.1 MB">
<!-- ENTITY isl-url "http://isl.gforge.inria.fr/isl-&isl-version;.tar.xz" -->
<!ENTITY isl-url "https://gcc.gnu.org/pub/gcc/infrastructure/isl-&isl-version;.tar.bz2">
<!ENTITY isl-md5 "dd2f7b78e118c25bd96134a52aae7f4d">
<!ENTITY isl-home "http://isl.gforge.inria.fr/">
<!ENTITY isl-fin-du "20 MB">
<!ENTITY isl-fin-sbu "0.1 SBU">
<!ENTITY jinja2-version "3.1.2">
<!ENTITY jinja2-size "262 KB">
<!ENTITY jinja2-url "&pypi-src;/J/Jinja2/Jinja2-&jinja2-version;.tar.gz">

View File

@ -7,7 +7,7 @@
<bookinfo>
<title>Linux From Scratch</title>
<subtitle>Version &version;</subtitle>
<subtitle>Version &version;<phrase arch="ml_32,ml_x32,ml_all">-multilib</phrase></subtitle>
<subtitle>Published &releasedate;</subtitle>
<authorgroup>
@ -29,6 +29,11 @@
<firstname>Editor: DJ</firstname>
<surname>Lucas</surname>
</author>
<author arch="ml_32,ml_x32,ml_all">
<firstname>Editor: Thomas</firstname>
<surname>Trepl</surname>
</author>
</authorgroup>
<copyright id="copyright">

128
prologue/multilib.xml Normal file
View File

@ -0,0 +1,128 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 arch="ml_32,ml_x32,ml_all" id="pre-multilib">
<?dbhtml filename="multilib.html"?>
<title>About the Multilib Edition</title>
<sect2><title>What is Multilib</title>
<para>Today, most systems in the x86 world have a word size of 64
bit. The word size is a number of bits which can be used at once
in the most efficient way. Previous architectures of x86 processors
had a word size of 32 bit which means they have a different
understanding of what is the best alignment of data in memory as
well as they have a different mechanism to address a different size
of memory. Even the instruction set of the 64 bit processors is
quite simmilar to the instructions of 32 bit processors, binaries
(objects compiled to machine code) cannot directly be executed on
64 bit systems.</para>
<para>Multilib is a mechanism to provide support for the 32 bit
binaries so that they can be executed of modern 64 bit CPUs.</para>
</sect2>
<sect2><title>Why doing Multilib?</title>
<para>From an educational point of view, LFS in its 'native' form is
probably the best way to see how a Linux system is built from source.
There is no need to confuse with different architectures. But when
there is a need to run 32 binaries and you don't want to build the
whole system in 32 bit (which would be waste of ressources
nowadays) then LFS-multilib is an option. Examples for such a
need could be
<itemizedlist>
<listitem><para>Closed-source software without source only
available for 32 bit. That may be the case for printer driver
or any other kind of hardware drivers, the company provides
the binaries. If you have such a driver, LFS-multilib
may help you getting the stuff running</para>
</listitem>
<listitem><para>If you want to go far beyond LFS and setup a
virtualization platform like <application>VirtualBox</application>,
you will need multilib support</para>
</listitem>
<listitem><para>or even just because you can</para>
</listitem>
</itemizedlist>
</para>
<para>The multilib edition of LFS goes a small step beyond and a
small step back to what has been said in the previous section
when talking about target architectures. On one hand, the multilib
edition is focused and <emphasis>limited</emphasis> to x86_64
architectures only, on the other hand, it <emphasis>expands</emphasis>
the instructions to utilize both possible architectures, namely
32-bit as well as 64-bit.</para>
<para>It also goes a bit beyond the basic educational
approach of LFS which is to show you how to build a Linux system.
To achieve this, no support for additional architectures than
the default one for your system is required. If you haven't
previously built by the standard LFS book, you are encouraged to
do so before using this edition.</para>
</sect2>
<sect2><title>Building a Multilib System</title>
<para>Building a multilib system is not that much different from
building a system by using the 'native' LFS book. Beside some
tweaks here and there the most prominent difference is that
multilib requires compiling some applications up to three times:
one for the primary 64-bit architecture,
one for the 32-bit architecture (m32),
and once again for the 32-bit architecture with is 32-bit memory
access and 64 bit instruction set (mx32).</para>
<para>Continue only if you and your system meets the following
requirements:
<itemizedlist>
<listitem>
<para>you have a x86_64 compatible machine</para>
<note><para>
If you have access to the kernel config for your system,
you will need to have
<parameter>CONFIG_IA32_EMULATION=y</parameter>
set in order to build for <parameter>m32</parameter> and
<parameter>CONFIG_X86_X32=y</parameter> set in order to
build for <parameter>mx32</parameter>.
</para>
<para>
If you do not have access to the kernel config for your system,
you may be able to test for compatability by running the
following commands:
</para>
<screen><userinput>echo 'int main(){}' &gt; dummy.c
gcc -m32 dummy.c
./a.out
gcc -mx32 dummy.c
./a.out</userinput></screen>
<para>
If either of the <command>./a.out</command> commands results in an
"Exec format error" message, then you do not have a system kernel
capable of building for that architecture within LFS, and so you
should probably look to build an LFS system without Multilib, but
with the required kernel capabilities, and use that to build a
Multilib system.
</para></note>
</listitem>
<listitem><para>you already have some experience with LFS</para></listitem>
<listitem><para>you have a need for 32-bit support</para></listitem>
</itemizedlist>
</para>
<para>If you passed all three requirements, go ahead and build LFS
in multilib mode.</para>
</sect2>
</sect1>

View File

@ -15,6 +15,7 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="audience.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="architecture.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="prerequisites.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="multilib.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="standards.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="why.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="typography.xml"/>