Compare commits

...

502 Commits

Author SHA1 Message Date
Jakub Jelinek 891cef7d9b 10.0.1-0.8 2020-02-16 17:23:40 +01:00
Jakub Jelinek 9bce8e2449 10.0.1-0.8 2020-02-16 13:44:17 +01:00
Jakub Jelinek 55f9b2f336 10.0.1-0.7 2020-01-30 22:04:12 +01:00
Fedora Release Engineering f8b6352429 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 19:39:07 +00:00
Jakub Jelinek 5e141990fb 10.0.1-0.6 2020-01-26 19:19:00 +01:00
Jakub Jelinek 912e74c756 Bump libgo.so version from 15 to 16. 2020-01-23 22:56:53 +01:00
Jakub Jelinek b84725ac52 10.0.1-0.5 2020-01-23 21:05:35 +01:00
Jakub Jelinek 7de85a2603 10.0.1-0.4 2020-01-21 14:37:47 +01:00
Jakub Jelinek 576d41c1c6 10.0.1-0.4 2020-01-21 14:25:31 +01:00
Jakub Jelinek 562d27c22f 10.0.1-0.4 2020-01-21 14:19:34 +01:00
Jakub Jelinek 57a884df51 Fix nvptx-none build. 2020-01-18 19:07:51 +01:00
Jakub Jelinek 04dfce99db Update to GCC 10 prerelease snapshot. 2020-01-18 18:35:20 +01:00
Jakub Jelinek b05570344e 9.2.1-2 2019-11-20 11:37:12 +01:00
Jakub Jelinek 52eb664223 9.2.1-2 2019-11-20 11:35:10 +01:00
Florian Weimer 0d8c061e19 Disable multilib on s390x 2019-10-10 08:42:52 +02:00
Jerry James 56772a9401 Drop multilib support for s390x since glibc32 already did. 2019-10-09 20:26:44 -06:00
Jerry James 4110c03341 Build against mpfr4 and libmpc linked with mpfr4. 2019-10-09 19:48:38 -06:00
Jerry James 4c8c128cd0 Build against mpfr3 and libmpc-mpfr3 so an mpfr 4.x version can be built. 2019-10-08 15:17:12 -06:00
Miro Hrončok f684732e50 Rebuilt for Python 3.8.0rc1 (#1748018) 2019-10-03 13:53:43 +02:00
Jakub Jelinek 4562ca924e 9.2.1-1 2019-08-27 17:46:07 +02:00
Fedora Release Engineering 90028182f3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 01:33:52 +00:00
Jakub Jelinek 6919aa138f 9.1.1-2 2019-06-05 15:54:50 +02:00
Jakub Jelinek 672c273c6d 9.1.1-1 2019-05-03 14:30:20 +02:00
Jakub Jelinek 94498d7104 9.1.1-1 2019-05-03 14:30:03 +02:00
Jakub Jelinek 28742415b7 9.1.1-1 2019-05-03 14:24:04 +02:00
Jakub Jelinek f2dc6d80c8 9.0.1-0.16 2019-04-30 16:52:43 +02:00
Jakub Jelinek b2a5d6a477 9.0.1-0.15 2019-04-26 20:23:00 +02:00
Jakub Jelinek fd99b9378d 9.0.1-0.15 2019-04-26 20:22:41 +02:00
Jakub Jelinek a3fcce8f5b 9.0.1-0.14 2019-04-18 13:23:34 +02:00
Jakub Jelinek 84af04ddb6 9.0.1-0.13 2019-04-15 20:12:21 +02:00
Jakub Jelinek b6b1340286 9.0.1-0.13 2019-04-15 12:43:11 +02:00
Jakub Jelinek 84ce3f0d05 9.0.1-0.12 2019-03-28 18:34:10 +01:00
Jakub Jelinek 5c04074052 9.0.1-0.11 2019-03-20 13:45:09 +01:00
Jakub Jelinek 4d0e748417 Resolves: #1688766 2019-03-14 13:17:36 +01:00
Jakub Jelinek 1d6c11d8df 9.0.1-0.10 2019-03-12 10:32:22 +01:00
Jakub Jelinek 843493ecf7 9.0.1-0.10 2019-03-12 10:17:52 +01:00
Jakub Jelinek bad9bc25a4 9.0.1-0.9 2019-03-09 11:52:56 +01:00
Jakub Jelinek f790525bec 9.0.1-0.9 2019-02-27 18:36:39 +01:00
Jakub Jelinek fc147e70c0 9.0.1-0.8 2019-02-27 15:46:10 +01:00
Jakub Jelinek 8ccdd26200 9.0.1-0.8 2019-02-27 15:29:11 +01:00
Jakub Jelinek d1c6bd89f3 fix up revision in %changelog 2019-02-25 09:45:10 +01:00
Jakub Jelinek e0c920a406 9.0.1-0.6 2019-02-21 22:28:06 +01:00
Jakub Jelinek d228ee264c 9.0.1-0.6 2019-02-19 19:10:55 +01:00
Jakub Jelinek e6073613ef 9.0.1-0.5 2019-02-15 22:30:07 +01:00
Jakub Jelinek f147a68289 9.0.1-0.5 2019-02-15 20:00:34 +01:00
Jakub Jelinek 7ee3a099fa 9.0.1-0.4 2019-02-09 12:03:21 +01:00
Jakub Jelinek fe09f8496b 9.0.1-0.3 2019-02-03 11:59:20 +01:00
Jakub Jelinek 16bcddd9d4 9.0.1-0.3 2019-02-03 11:56:05 +01:00
Fedora Release Engineering 7545ecb969 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-01-31 20:38:49 +00:00
Jakub Jelinek a6c3c8f082 9.0.1-0.2 2019-01-29 23:15:56 +01:00
Igor Gnatenko d895623061 Remove obsolete scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-29 06:28:14 +01:00
Igor Gnatenko a71fb3364e Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:02 +01:00
Igor Gnatenko db0aca6b64
Remove obsolete scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-27 18:57:31 +01:00
Jakub Jelinek 215844b31b Merge branch 'master' of ssh://pkgs.fedoraproject.org/rpms/gcc 2019-01-23 19:22:52 +01:00
Jakub Jelinek 80dc8803df 9.0.1-0.1 2019-01-23 19:22:27 +01:00
Igor Gnatenko 3759f6f554
Remove obsolete ldconfig scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-22 18:39:01 +01:00
Jakub Jelinek adee8bcb39 Fix #1668204 2019-01-22 10:01:43 +01:00
Jakub Jelinek cee0dddd34 9.0.0-0.4 2019-01-21 23:53:26 +01:00
Jakub Jelinek da335fc250 Fix up version numbers in %changelog. 2019-01-21 13:14:14 +01:00
Jakub Jelinek bcdeb85901 9.0.0-0.3 2019-01-20 12:51:42 +01:00
Jakub Jelinek 1321d9a8de 9.0.0-0.3 2019-01-19 18:31:30 +01:00
Jakub Jelinek 3694befabb 9.0.1-0.3 2019-01-19 16:14:16 +01:00
Jakub Jelinek 2a22f8c83a 8.2.1-7 2019-01-09 17:08:36 +01:00
Jakub Jelinek 866b034132 8.2.1-7 2019-01-09 17:06:46 +01:00
Jakub Jelinek 17d43f4d58 8.2.1-6 2018-12-15 14:26:54 +01:00
Jakub Jelinek b627ff6a1c 8.2.1-5 2018-11-05 15:50:12 +01:00
Jakub Jelinek 98b4937fcb 8.2.1-4 2018-10-11 20:42:44 +02:00
Jakub Jelinek 858f1e25fb 8.2.1-3 2018-09-05 09:49:20 +02:00
Jakub Jelinek e66bcabdd3 8.2.1-2 2018-08-01 20:45:40 +02:00
Jakub Jelinek a2239731d4 8.2.1-2 2018-08-01 20:32:03 +02:00
Jakub Jelinek c05efdcd33 Tweak some conditionals. 2018-07-27 20:25:35 +02:00
Jakub Jelinek 6e4a12be24 Fix misplaced %global. 2018-07-27 20:24:10 +02:00
Jakub Jelinek 7df147abdd 8.2.1-1 2018-07-26 19:40:17 +02:00
Jakub Jelinek 2edf51cd28 8.2.1-1 2018-07-26 19:38:51 +02:00
Fedora Release Engineering 3deee803bf - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 01:10:36 +00:00
Jakub Jelinek 8602ede777 8.1.1-5 2018-07-12 14:03:20 +02:00
Miro Hrončok 8fb0e5b0d3 Rebuilt for Python 3.7 2018-07-02 18:22:27 +02:00
Jakub Jelinek 7ad4cfb1f2 8.1.1-4 2018-06-29 10:56:07 +02:00
Jakub Jelinek c01972f342 8.1.1-4 2018-06-29 10:54:49 +02:00
Jakub Jelinek b1fe12b88a 8.1.1-4 2018-06-29 10:53:44 +02:00
Miro Hrončok 0aaf98d346 Rebuilt for Python 3.7 2018-06-27 20:39:49 +02:00
Jakub Jelinek c0d3a20ab3 8.1.1-3 2018-06-26 19:48:08 +02:00
Jakub Jelinek 4b90559c50 8.1.1-2 2018-06-20 23:01:47 +02:00
Miro Hrončok e0b3768e1a Rebuilt for Python 3.7 2018-06-19 10:43:28 +02:00
Jakub Jelinek 391f8204b0 8.1.1-1 2018-05-02 16:19:01 +02:00
Jakub Jelinek b7ec01b44a 8.0.1-0.23 2018-04-25 16:15:39 +02:00
Jakub Jelinek db4105af40 8.0.1-0.22 2018-04-24 23:36:25 +02:00
Jakub Jelinek eb398c7fb1 8.0.1-0.22 2018-04-24 23:07:57 +02:00
Jakub Jelinek 0d6e9e6a5b 8.0.1-0.22 2018-04-24 23:04:58 +02:00
Marek Polacek 3ae68fd84a Fix if conditionals. 2018-04-24 09:48:18 -04:00
Jakub Jelinek 9647f3f8db 8.0.1-0.21 2018-04-10 17:49:19 +02:00
Jakub Jelinek 0e0506dd37 8.0.1-0.20 2018-03-24 09:41:18 +01:00
Jakub Jelinek 1bfe0e3c3b 8.0.1-0.19 2018-03-17 14:56:00 +01:00
Jakub Jelinek 83dbb2847c 8.0.1-0.18 2018-03-12 22:53:29 +01:00
Jakub Jelinek 86d615d880 8.0.1-0.18 2018-03-12 22:52:23 +01:00
Jakub Jelinek b182d5ff6b #1554279 2018-03-12 11:59:54 +01:00
Jakub Jelinek 2a24f771d1 8.0.1-0.17 2018-03-10 23:30:40 +01:00
Jakub Jelinek f445959efa 8.0.1-0.16 2018-02-22 12:09:35 +01:00
Jakub Jelinek 16819750d2 8.0.1-0.15 2018-02-21 00:51:11 +01:00
Jakub Jelinek d301a3c7b8 8.0.1-0.14 2018-02-18 22:01:57 +01:00
Igor Gnatenko ff5dc29cd1
Remove %clean section
None of currently supported distributions need that.
Last one was EL5 which is EOL for a while.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-14 07:13:29 +01:00
Igor Gnatenko 7d69d114a8 Remove BuildRoot definition
None of currently supported distributions need that.
It was needed last for EL5 which is EOL now

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-13 23:25:00 +01:00
Jakub Jelinek 497de73bd7 8.0.1-0.13 2018-02-10 19:44:47 +01:00
Jakub Jelinek c0ae016cb4 8.0.1-0.13 2018-02-10 19:41:37 +01:00
Jakub Jelinek 7c58fda150 8.0.1-0.12 2018-02-07 22:54:32 +01:00
Jakub Jelinek 313e678076 8.0.1-0.12 2018-02-07 21:03:18 +01:00
Jakub Jelinek 08f661c823 8.0.1-0.12 2018-02-07 16:26:20 +01:00
Jakub Jelinek d40df5fcf2 8.0.1-0.12 2018-02-07 16:25:53 +01:00
Jakub Jelinek e6bd153753 8.0.1-0.12 2018-02-07 16:24:43 +01:00
Fedora Release Engineering cc9b5fa3ba - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 10:40:56 +00:00
Florian Weimer 47b8ada335 Use generic tuning for armhfp 2018-02-06 19:10:00 +01:00
Richard W.M. Jones ca8c0f7dc6 Disable multilib on riscv64. 2018-02-05 09:06:04 +00:00
Jeff Law fa22fac534 - fix -fstack-clash-protection codegen issue on 32 bit x86
(#1540221, PR target/84128)
2018-02-01 09:37:28 -07:00
Jakub Jelinek 216b951886 8.0.1-0.8 2018-01-31 22:17:54 +01:00
Jakub Jelinek 7a1512fd56 8.0.1-0.7 2018-01-31 00:00:44 +01:00
Jakub Jelinek 3139eaf997 8.0.1-0.7 2018-01-30 23:43:42 +01:00
Jakub Jelinek da33ffbe57 8.0.1-0.6 2018-01-28 19:10:26 +01:00
Jakub Jelinek b147991d7c 7.3.1-1 2018-01-25 11:46:33 +01:00
Jakub Jelinek e400728936 7.3.1-1 2018-01-25 11:44:48 +01:00
Jeff Law 6af92eba78 - Fix -fstack-clash-protection codegen issue on 32 bit x86 (#1536555) 2018-01-24 15:13:15 -07:00
Jakub Jelinek e90615843b 7.2.1-7 2018-01-17 03:48:07 +01:00
Jakub Jelinek a6ea9c4518 7.2.1-7 2018-01-17 00:43:17 +01:00
Jakub Jelinek 402f1e9204 7.2.1-6 2018-01-04 18:21:06 +01:00
Jakub Jelinek f36e50eab5 7.2.1-5 2018-01-01 14:45:04 +01:00
Jakub Jelinek 8f4badaa38 7.2.1-5 2018-01-01 14:21:12 +01:00
Jakub Jelinek d69736566d 7.2.1-5 2018-01-01 13:57:11 +01:00
Marek Polacek 544398b502 Disable annobin for now. Adjust sanitizer_linux.cc patch. 2017-11-30 19:49:49 +01:00
Jeff Law 2cf19e11cb - Fix problem with large outgoing args and -fstack-clash-protection
on aarch64 (#1518823)
2017-11-29 11:59:09 -07:00
Jeff Law e987aff0a2 - Backport -fstack-clash-protection from development trunk (#1512529) 2017-11-28 09:02:22 -07:00
Jakub Jelinek 553b93f777 7.2.1-2 2017-09-15 12:38:59 +02:00
Marek Polacek 82e3c0071b 7.2.1-1 2017-08-30 18:29:48 +02:00
Marek Polacek 6e856a1b72 7.2.1-1 2017-08-30 17:26:07 +02:00
Jakub Jelinek ff60308ab9 7.2.1-1 2017-08-30 17:06:21 +02:00
Jakub Jelinek 9b6d8e7c01 Drop .1 suffix from Release 2017-08-03 17:18:49 +02:00
Jakub Jelinek 23f4b29ddd 7.1.1-7 2017-08-02 21:19:02 +02:00
Jakub Jelinek 42139e4c56 7.1.1-7 2017-08-02 21:10:58 +02:00
Fedora Release Engineering 28eca72fa2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 09:08:47 +00:00
Jakub Jelinek dc54e4f153 7.1.1-6 2017-07-19 14:59:33 +02:00
Jakub Jelinek e3161c6575 7.1.1-6 2017-07-19 11:32:30 +02:00
Jakub Jelinek 5e51bccff0 7.1.1-6 2017-07-18 11:00:59 +02:00
Jakub Jelinek ac2a849717 7.1.1-6 2017-07-18 10:43:56 +02:00
Jakub Jelinek f5843a4192 7.1.1-5 2017-07-11 18:06:19 +02:00
Jakub Jelinek 7d28ff24f9 7.1.1-5 2017-07-11 17:53:24 +02:00
Jakub Jelinek e8e4643647 7.1.1-4 2017-07-09 22:04:18 +02:00
Jakub Jelinek e7ba2ccc61 7.1.1-4 2017-07-09 14:26:16 +02:00
Jakub Jelinek dcf86feb99 7.1.1-3 2017-06-22 09:55:37 +02:00
Jakub Jelinek 7a880b1a75 7.1.1-2 2017-05-26 15:21:59 +02:00
Jakub Jelinek fe7fce2ad1 7.1.1-1 2017-05-03 11:05:12 +02:00
Jakub Jelinek 45a2f253fb 7.1.1-1 2017-05-03 09:32:52 +02:00
Jakub Jelinek 015c95afae 7.0.1-0.16 2017-04-25 21:58:41 +02:00
Jakub Jelinek 0ec4e456b8 7.0.1-0.15 2017-04-21 12:10:21 +02:00
Jakub Jelinek ecfa641ec4 7.0.1-0.14 2017-04-10 18:17:43 +02:00
Jakub Jelinek 3e19e07261 7.0.1-0.14 2017-04-10 15:57:36 +02:00
Jakub Jelinek 61f26fa336 7.0.1-0.14 2017-04-10 15:49:09 +02:00
Jakub Jelinek 5e173247a4 7.0.1-0.13 2017-03-27 12:57:54 +02:00
Jakub Jelinek 066310e826 7.0.1-0.12 2017-03-09 18:01:36 +01:00
Jakub Jelinek 6c2cfcacd9 7.0.1-0.12 2017-03-09 17:50:08 +01:00
Jakub Jelinek 88ff65fe51 7.0.1-0.11 2017-03-08 19:02:18 +01:00
Jakub Jelinek 4708d93f41 7.0.1-0.10 2017-02-25 13:14:06 +01:00
Jakub Jelinek cc580afc17 7.0.1-0.10 2017-02-25 12:47:04 +01:00
Jakub Jelinek 9c103286cf 7.0.1-0.10 2017-02-25 11:32:56 +01:00
Jakub Jelinek f9528196b2 7.0.1-0.9 2017-02-19 16:56:22 +01:00
Jakub Jelinek 1c8b31bfd3 7.0.1-0.9 2017-02-19 13:23:23 +01:00
Jakub Jelinek a15b5bd3a0 7.0.1-0.8 2017-02-11 10:56:13 +01:00
Jakub Jelinek d4df112f70 7.0.1-0.7 2017-02-09 19:01:50 +01:00
Jakub Jelinek 03d47e4b9f 7.0.1-0.7 2017-02-09 18:58:55 +01:00
Jakub Jelinek 9e5fffaae3 7.0.1-0.7 2017-02-09 18:55:36 +01:00
Jakub Jelinek 398cd1e186 7.0.1-0.6 2017-02-04 10:16:39 +01:00
Jakub Jelinek 4d72b19d1c 7.0.1-0.6 2017-02-04 09:49:14 +01:00
Jakub Jelinek 3d5e14ec38 7.0.1-0.5 2017-02-01 14:06:37 +01:00
Jakub Jelinek 6ed6e5a4c3 7.0.1-0.4 2017-01-31 12:35:13 +01:00
Jakub Jelinek 98a12cbd71 7.0.1-0.4 2017-01-31 10:26:33 +01:00
Jakub Jelinek 4c8d27c4d6 7.0.1-0.3 2017-01-28 09:18:26 +01:00
Jakub Jelinek 557c86d25c 7.0.1-0.3 2017-01-28 08:26:07 +01:00
Jakub Jelinek 16c6a8852b 7.0.1-0.2 2017-01-26 22:14:34 +01:00
Jakub Jelinek 4839e4255b 7.0.1-0.2 2017-01-26 15:33:42 +01:00
Jakub Jelinek a3b64e0868 6.3.1-2 2017-01-18 09:44:52 +01:00
Jakub Jelinek 010b19f294 6.3.1-2 2016-12-21 17:12:41 +01:00
Jakub Jelinek a96763b324 6.3.1-1 2016-12-21 14:23:35 +01:00
Jakub Jelinek dcf3c8d360 6.2.1-2 2016-09-16 11:57:11 +02:00
Jakub Jelinek 8e4a3f2d33 6.2.1-1 2016-09-01 14:43:18 +02:00
Jakub Jelinek 50fa9e4ee3 6.2.1-1 2016-09-01 14:20:47 +02:00
Jakub Jelinek 31e7eb359b 6.1.1-6 2016-08-17 18:13:11 +02:00
Jakub Jelinek 4f5892b0e1 6.1.1-6 2016-08-17 17:24:31 +02:00
Jakub Jelinek 39e0659a62 6.1.1-5 2016-08-10 16:42:47 +02:00
Jakub Jelinek 0ccb8bbebc 6.1.1-5 2016-08-10 14:40:09 +02:00
Jakub Jelinek f77ea1a1aa 6.1.1-4 2016-07-21 16:05:55 +02:00
Jakub Jelinek aece5e1599 6.1.1-4 2016-07-21 15:52:14 +02:00
Jakub Jelinek fd1cb09e79 6.1.1-3 2016-06-21 10:06:24 +02:00
Jakub Jelinek b66b3a4e1c 6.1.1-2 2016-05-10 19:10:45 +02:00
Jakub Jelinek bef1492459 6.1.1-1 2016-04-27 15:59:34 +02:00
Jakub Jelinek ed49338072 6.0.0-0.20 2016-04-06 18:56:22 +02:00
Jakub Jelinek 47e7711955 6.0.0-0.19 2016-03-31 15:48:14 +02:00
Jakub Jelinek 34ff97e734 6.0.0-0.18 2016-03-23 11:55:16 +01:00
Peter Robinson 8297b8b107 Enable gnat on ppc64le now it's been boostrapped
Process was scratch koji build gcc6 with gnat enabled against el7 gnat
enabled, isl disabled. Rebuild again against ggc6 with gnat as mock
chroot, import into koji.
2016-03-18 09:41:49 +00:00
Jakub Jelinek aed55db9d5 6.0.0-0.16 2016-03-11 21:57:17 +01:00
Jakub Jelinek 005db08c91 6.0.0-0.15 2016-03-05 08:16:45 +01:00
Jakub Jelinek f027054e0f 6.0.0-0.14 2016-03-02 08:19:20 +01:00
Jakub Jelinek 773cefac2c 6.0.0-0.13 2016-02-27 08:24:13 +01:00
Jakub Jelinek 8a240523f5 6.0.0-0.12 2016-02-19 22:34:10 +01:00
Jakub Jelinek d9e1ca5983 Temporary hack to enable Ada on s390x 2016-02-19 17:16:30 +01:00
Jakub Jelinek 89e370f159 6.0.0-0.11 2016-02-12 12:15:16 +01:00
Jakub Jelinek ec74b26ecd Workaround profiledbootstrap failure on ppc64 be 2016-02-06 21:44:23 +01:00
Jakub Jelinek cde96063b7 6.0.0-0.10 2016-02-05 22:52:01 +01:00
Jakub Jelinek f7b06a7726 6.0.0-0.10 2016-02-05 20:34:45 +01:00
Jakub Jelinek 395869404d Merge branch 'master' of ssh://pkgs.fedoraproject.org/gcc 2016-02-05 20:34:03 +01:00
Jakub Jelinek 97475d9eac 6.0.0-0.10 2016-02-05 20:32:59 +01:00
Dennis Gilmore 348f6fd9c9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-03 21:04:17 +00:00
Jakub Jelinek 2d005021d3 6.0.0-0.9 2016-02-01 23:03:55 +01:00
Jakub Jelinek 885401bf7e 6.0.0-0.9 2016-02-01 22:14:28 +01:00
Jakub Jelinek 4be70d1ef3 6.0.0-0.8 2016-02-01 15:10:54 +01:00
Jakub Jelinek 314efdbb41 Work around broken rpm 2016-01-30 02:23:10 +01:00
Jakub Jelinek bd1b81e9ec 6.0.0-0.7.fc24 2016-01-29 21:59:00 +01:00
Jakub Jelinek d85626def8 6.0.0-0.6 2016-01-28 22:23:11 +01:00
Jakub Jelinek cc2a83d686 6.0.0-0.5 2016-01-27 13:37:40 +01:00
Dan Horák 9ac4480c60 fix fedora macro usage 2016-01-10 21:51:44 +01:00
Orion Poplawski 9cda1c00f1 Drop %defattr() 2016-01-05 19:03:45 -07:00
Orion Poplawski 42a3075cdf Make gcc-gfortran own %{_fmoddir} (#1113564) 2016-01-05 19:02:17 -07:00
Jakub Jelinek a04a33c99f 5.3.1-2 2015-12-08 16:43:47 +01:00
Jakub Jelinek 04e43e85d1 5.3.1-1 2015-12-07 11:55:28 +01:00
Jakub Jelinek 3af662e237 5.2.1-5 2015-11-06 08:24:25 +01:00
Jakub Jelinek 7469a333bd Adapt libisl dlopen patch for newer ISL support. 2015-11-04 15:03:15 +01:00
Jakub Jelinek c2a1e7ae5d 5.2.1-4 2015-11-04 14:43:15 +01:00
Jakub Jelinek 9e75c715be 5.2.1-3 2015-10-01 14:59:59 +02:00
Jakub Jelinek cd907e635a 5.2.1-3 2015-10-01 11:28:28 +02:00
Jakub Jelinek 265c57ff22 Fix up disabling of the hardening 2015-09-30 08:44:12 +02:00
Jakub Jelinek 9fb8c87d6b 5.2.1-3 2015-09-29 12:53:09 +02:00
Jakub Jelinek df1d6ea021 5.2.1-2 2015-09-02 18:30:42 +02:00
Jakub Jelinek 6534eed5ef 5.2.1-1 2015-07-16 19:21:08 +02:00
Jakub Jelinek c148037b80 5.1.1-5 2015-07-07 10:29:46 +02:00
Jaromir Capik 274d6185bd STAGE1-*: Moving config args to recipes & fixing FTBFS
This commit moves the *GCC_CONFIGARGS from the stage1 script
to the *gcc* recipes so that the args can be tweaked by the
gcc maintainers in the future. This adds a bit of redundancy,
but still worthy.
This commit also disables gcc bootstrap in stage1 and splits
the build dir for gcc-host, gcc-libgcc and gcc so that it is
clean prior starting each build. It resolves strange config
issues that appear just under some combinations of build and
target arch.
2015-06-24 13:15:28 +02:00
Jakub Jelinek 99f1530af5 5.1.1-4 2015-06-18 10:15:33 +02:00
Dennis Gilmore 9d66f2aa7e - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-17 07:03:37 +00:00
Jaromir Capik 1a6fe020a9 Adding STAGE1 bootstrap recipes 2015-06-16 13:21:33 +02:00
Jakub Jelinek f0234e9c6f 5.1.1-3 2015-06-12 09:40:37 +02:00
Jakub Jelinek 0bb9c97686 5.1.1-2 2015-06-06 10:38:03 +02:00
Jakub Jelinek b5d17a9ac5 5.1.1-1 2015-04-22 18:13:07 +02:00
Jakub Jelinek f3095e1332 5.0.1-0.2 2015-04-17 19:31:34 +02:00
Jakub Jelinek 7a229a5888 5.0.1-0.2 2015-04-17 19:24:08 +02:00
Jakub Jelinek 133d0a0f64 5.0.1-0.1 2015-04-13 11:49:13 +02:00
Jakub Jelinek 652db2243e 5.0.0-0.22 2015-04-07 18:03:22 +02:00
Jakub Jelinek 19ca4dcbaa 5.0.0-0.21 2015-03-19 16:07:24 +01:00
Jakub Jelinek 91c7bec969 5.0.0-0.20 2015-03-16 18:42:57 +01:00
Jakub Jelinek 7fcf30a7ea 5.0.0-0.19 2015-03-13 19:15:06 +01:00
Jakub Jelinek 0bc6460875 5.0.0-0.18 2015-02-27 17:07:43 +01:00
Jakub Jelinek addcbcb750 5.0.0-0.17 2015-02-26 20:54:16 +01:00
Jakub Jelinek d752cf184d 5.0.0-0.17 2015-02-26 20:54:05 +01:00
Jakub Jelinek 8ea1c62843 5.0.0-0.17 2015-02-26 20:53:27 +01:00
Jakub Jelinek e6685fa969 5.0.0-0.17 2015-02-26 20:53:08 +01:00
Jakub Jelinek 8b4ef1c4cf 5.0.0-0.17 2015-02-26 20:45:50 +01:00
Jakub Jelinek 5b794eb004 5.0.0-0.16 2015-02-24 10:12:36 +01:00
Till Maas 3f4ac1c552 Rebuilt for Fedora 23 Change
https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
2015-02-21 22:28:48 +01:00
Jakub Jelinek e22880b36d 5.0.0-0.15 2015-02-17 12:36:38 +01:00
Jakub Jelinek 305029d3ec 5.0.0-0.15 2015-02-17 12:13:32 +01:00
Jakub Jelinek a2ef59f731 5.0.0-0.15 2015-02-17 12:12:28 +01:00
Jakub Jelinek 19b59d9a23 5.0.0-0.14 2015-02-16 10:56:21 +01:00
Jakub Jelinek 6d4716823e 5.0.0-0.14 2015-02-16 10:55:27 +01:00
Jakub Jelinek d76b340928 5.0.0-0.13 2015-02-14 09:31:48 +01:00
Jakub Jelinek 8654925ece 5.0.0-0.13 2015-02-14 09:30:57 +01:00
Jakub Jelinek 0215eb2e85 5.0.0-0.12 2015-02-12 19:53:00 +01:00
Jakub Jelinek cf944628eb 5.0.0-0.11 2015-02-10 19:26:49 +01:00
Jakub Jelinek c728afb1bb 5.0.0-0.10 2015-02-09 15:11:34 +01:00
Jakub Jelinek 83ca86ca70 5.0.0-0.10 2015-02-09 15:11:13 +01:00
Jakub Jelinek 314add3fda 5.0.0-0.9 2015-02-08 17:45:17 +01:00
Jakub Jelinek 765b1cc36a 5.0.0-0.9 2015-02-08 17:42:08 +01:00
Jakub Jelinek ff74606e8e 5.0.0-0.8 2015-02-06 14:10:27 +01:00
Jakub Jelinek 274be4f351 5.0.0-0.7 2015-02-05 11:26:15 +01:00
Jakub Jelinek a6d3dcaca6 5.0.0-0.7 2015-02-05 11:16:27 +01:00
Jakub Jelinek 2f08a3f6d8 5.0.0-0.7 2015-02-05 11:15:05 +01:00
Jakub Jelinek ff411575cc 5.0.0-0.6 2015-01-30 20:16:01 +01:00
Jakub Jelinek b8d50582fb 5.0.0-0.6 2015-01-30 19:35:36 +01:00
Jakub Jelinek 7f99993652 5.0.0-0.5 2015-01-24 10:03:24 +01:00
Jakub Jelinek 06398e8981 4.9.2-5 2015-01-08 19:01:59 +01:00
Jakub Jelinek b75648d9b2 4.9.2-4 2015-01-07 18:18:42 +01:00
Jakub Jelinek 79c442fecf 4.9.2-3 2014-12-17 12:11:31 +01:00
Jakub Jelinek 4ac68e8f20 4.9.2-2 2014-12-12 15:19:55 +01:00
Jakub Jelinek e3e00ff5dd 4.9.2-2 2014-12-12 15:05:23 +01:00
Jakub Jelinek b30271576a 4.9.2-2 2014-12-12 14:42:21 +01:00
Jakub Jelinek 79ac3cdb38 4.9.2-1 2014-11-01 09:52:33 +01:00
Jakub Jelinek f5f8bc6087 4.9.2-1 2014-11-01 09:17:01 +01:00
Jakub Jelinek 3438bcad98 4.9.1-13 2014-10-24 11:12:02 +02:00
Jakub Jelinek 4fa57fa088 4.9.1-12 2014-10-17 18:54:51 +02:00
Jakub Jelinek a593d741ef 4.9.1-11 2014-09-30 19:14:37 +02:00
Jakub Jelinek 8036281669 4.9.1-10 2014-09-22 13:02:00 +02:00
Jakub Jelinek 24eca83ae3 4.9.1-9 2014-09-12 12:12:54 +02:00
Jakub Jelinek 69d0fcbc90 4.9.1-9 2014-09-12 11:08:32 +02:00
Jakub Jelinek 0806d93e69 4.9.1-8 2014-08-15 12:42:25 +02:00
Jakub Jelinek d048d4b08d 4.9.1-7 2014-08-14 01:57:18 +02:00
Jakub Jelinek af3b5a8175 4.9.1-6 2014-08-13 11:30:49 +02:00
Jakub Jelinek 69c89853de 4.9.1-5 2014-08-07 09:46:46 +02:00
Jakub Jelinek cc74938640 4.9.1-3 2014-08-01 11:39:33 +02:00
Dan Horák 5a434b44d3 - update from trunk with fix for #1117799 2014-07-24 22:00:22 +02:00
Jakub Jelinek 4503e5ecde 4.9.1-2 2014-07-17 11:18:54 +02:00
Jakub Jelinek c204df3143 4.9.1-1 2014-07-16 18:02:45 +02:00
Jakub Jelinek b63748e323 4.9.1-1 2014-07-16 17:41:50 +02:00
Tom Callaway a365d3e4eb fix license handling 2014-07-12 11:07:26 -04:00
Jakub Jelinek 17446a0ad9 4.9.0-14 2014-07-02 19:57:02 +02:00
Jakub Jelinek 78557d4f6e 4.9.0-14 2014-07-02 19:24:13 +02:00
Jakub Jelinek 3e2f90cd29 4.9.0-13 2014-06-25 13:25:59 +02:00
Jakub Jelinek 4c9c56bc02 4.9.0-12 2014-06-19 16:03:34 +02:00
Kyle McMartin 7e9585f371 Avoid applying patch 16 twice. 2014-06-18 18:36:51 -04:00
Richard Henderson 4ec33619df Import fix for target/pr61545 from the 4.9 branch. 2014-06-18 17:57:17 -04:00
Jakub Jelinek 8c3f968e67 4.9.0-10 2014-06-17 20:42:26 +02:00
Jakub Jelinek 593c3952f8 4.9.0-9 2014-06-12 23:32:43 +02:00
Jakub Jelinek 4d58f0308a 4.9.0-9 2014-06-12 23:31:18 +02:00
Dennis Gilmore b446c2e737 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-07 08:29:05 -05:00
Jakub Jelinek 5a75d1ef76 4.9.0-8 2014-06-05 17:35:21 +02:00
Jakub Jelinek fd8fd40120 4.9.0-7 2014-06-04 20:44:45 +02:00
Jakub Jelinek 033def827b 4.9.0-6 2014-05-29 21:26:29 +02:00
Jakub Jelinek 99dddb3746 4.9.0-6 2014-05-29 21:04:21 +02:00
Jakub Jelinek 6d24375c60 4.9.0-5 2014-05-18 19:18:35 +02:00
Jakub Jelinek d43d3d6446 4.9.0-5 2014-05-18 18:55:32 +02:00
Jakub Jelinek d495ed6f81 4.9.0-4 2014-05-14 09:38:48 +02:00
Jakub Jelinek 83a8e4c260 4.9.0-4 2014-05-14 09:36:18 +02:00
Jakub Jelinek 58525d3c9e 4.9.0-3 2014-05-06 10:23:35 +02:00
Jakub Jelinek 991ab254f2 4.9.0-2 2014-05-05 10:14:18 +02:00
Jakub Jelinek 594ac2c7d7 4.9.0-2 2014-05-05 10:08:28 +02:00
Jakub Jelinek bd92d74066 4.9.0-2 2014-05-05 10:08:10 +02:00
Jakub Jelinek 14fee31c28 4.9.0-2 2014-05-05 09:54:42 +02:00
Jakub Jelinek 8e4bdb38f2 4.9.0-1 2014-04-22 23:04:52 +02:00
Jakub Jelinek 848872f40b 4.9.0-1 2014-04-22 21:43:37 +02:00
Jakub Jelinek c3342eaf1c 4.9.0-1 2014-04-22 21:43:25 +02:00
Jakub Jelinek a079048eee 4.9.0-1 2014-04-22 21:36:41 +02:00
Jakub Jelinek 2a555c3cf9 4.9.0-0.10 2014-04-11 19:16:27 +02:00
Jakub Jelinek 7d55b59b7e 4.9.0-0.9 2014-04-09 09:14:23 +02:00
Jakub Jelinek 8d0243eb05 4.9.0-0.9 2014-04-09 08:46:36 +02:00
Jakub Jelinek 39b12a1a1b 4.8.2-15 2014-02-20 21:22:24 +01:00
Jakub Jelinek 39f49505ef Clean up last change 2014-02-20 15:06:38 +01:00
Kyle McMartin 57702a0fa8 aarch64: fix cc1plus segfault using pch (#1058991), PR pch/60010 2014-02-01 02:48:55 -05:00
Jakub Jelinek cf2421524e 4.8.2-13 2014-01-22 00:23:57 +01:00
Jakub Jelinek 308f1508a6 4.8.2-11 2014-01-15 10:56:53 +01:00
Jakub Jelinek 1bc0509b8f 4.8.2-7 2013-12-12 19:22:29 +01:00
Jakub Jelinek 78dc96aa1e 4.8.2-6 2013-12-11 20:14:32 +01:00
Jakub Jelinek 6809951262 4.8.2-5 2013-12-10 09:28:23 +01:00
Jakub Jelinek 8be72f05f6 4.8.2-5 2013-12-10 08:04:59 +01:00
Jakub Jelinek 1984ee75ad 4.8.2-5 2013-12-09 19:10:08 +01:00
Jakub Jelinek 107d671c75 4.8.2-4 2013-11-11 09:32:01 +01:00
Jakub Jelinek 5652b86227 4.8.2-1 2013-10-17 09:52:32 +02:00
Jakub Jelinek 01c6d18afa 4.8.1-10 2013-09-20 13:18:45 +02:00
Jakub Jelinek e175f3e4b7 4.8.1-9 2013-09-15 21:24:04 +02:00
Jakub Jelinek cf558d9039 4.8.1-8 2013-09-09 19:36:26 +02:00
Jakub Jelinek cb3be801e6 4.8.1-7 2013-08-29 17:01:17 +02:00
Jakub Jelinek 6f858633ed 4.8.1-7 2013-08-29 16:34:42 +02:00
Jakub Jelinek d747bb409f 4.8.1-7 2013-08-29 16:33:10 +02:00
Jakub Jelinek f1ba2f493a 4.8.1-6 2013-08-14 20:17:54 +02:00
Dennis Gilmore 7c9911eee8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild 2013-08-03 07:32:26 -05:00
Jakub Jelinek e7ac0256f6 4.8.1-5 2013-07-17 18:20:16 +02:00
Jakub Jelinek 3abd19c007 4.8.1-4 2013-07-16 00:31:20 +02:00
Jakub Jelinek f9bd6769eb 4.8.1-3 2013-06-28 15:37:40 +02:00
Jakub Jelinek c27a7db22e 4.8.1-3 2013-06-28 15:28:31 +02:00
Jakub Jelinek 0e0fc2804a 4.8.1-2 2013-06-12 10:59:07 +02:00
Jakub Jelinek a19406ffe8 4.8.1-1 2013-06-03 20:28:38 +02:00
Jakub Jelinek 9584892771 4.8.0-8 2013-05-26 21:39:57 +02:00
Jakub Jelinek 9af2ab495c 4.8.0-7 2013-05-24 20:25:50 +02:00
Jakub Jelinek 5c60aab4d1 4.8.0-6 2013-05-17 18:11:08 +02:00
Jakub Jelinek 4bcc1e4fe2 4.8.0-5 2013-05-10 17:36:24 +02:00
Jakub Jelinek 8938366a48 4.8.0-4 2013-05-07 13:12:58 +02:00
Jakub Jelinek 3b9c960514 4.8.0-3 2013-04-19 17:31:47 +02:00
Jakub Jelinek c0371f2be9 4.8.0-2 2013-04-12 15:24:58 +02:00
Jakub Jelinek 694ef36d21 4.8.0-1 2013-03-22 18:26:48 +01:00
Jakub Jelinek 729b75087d 4.8.0-0.18 2013-03-20 17:03:17 +01:00
Jakub Jelinek 220b984b00 4.8.0-0.17 2013-03-16 18:51:57 +01:00
Jakub Jelinek 89bd8eeaf5 4.8.0-0.16 2013-03-07 19:13:44 +01:00
Jakub Jelinek 2bea4b26c1 4.8.0-0.15 2013-03-04 13:47:31 +01:00
Jakub Jelinek 8799d226ba 4.8.0-0.14 2013-02-20 19:12:32 +01:00
Jakub Jelinek 48c4d3a12f 4.8.0-0.14 2013-02-20 17:50:11 +01:00
Jakub Jelinek 7789476ecb 4.8.0-0.14 2013-02-20 17:13:24 +01:00
Jakub Jelinek 7c03367081 4.8.0-0.14 2013-02-20 17:12:51 +01:00
Rex Dieter 4ab034f8ca rebuild (libmpc) 2013-02-19 11:56:29 -06:00
Jakub Jelinek 225104138d 4.8.0-0.13 2013-02-15 20:17:57 +01:00
Jakub Jelinek d23aa8964c 4.8.0-0.12 2013-02-13 23:56:48 +01:00
Jakub Jelinek 218acd09ac 4.8.0-0.12 2013-02-13 23:32:18 +01:00
Jakub Jelinek b471196219 4.8.0-0.11 2013-02-11 22:40:42 +01:00
Jakub Jelinek 081310d587 4.8.0-0.10 2013-02-08 20:35:05 +01:00
Jakub Jelinek c9aef059c5 4.8.0-0.10 2013-02-08 19:18:31 +01:00
Jakub Jelinek af08a8b294 gcc-4.8.0-0.9 2013-02-06 21:35:10 +01:00
Jakub Jelinek 99eb194caf 4.8.0-0.8 2013-01-31 21:21:37 +01:00
Jakub Jelinek b9d5903bc3 4.8.0-0.7 2013-01-29 09:05:50 +01:00
Jakub Jelinek 5b97d78690 4.8.0-0.6 2013-01-24 10:22:45 +01:00
Jakub Jelinek 6980affb9b 4.8.0-0.5 2013-01-22 09:26:09 +01:00
Jakub Jelinek f16dbfc81a 4.8.0-0.4 2013-01-21 23:25:34 +01:00
Jakub Jelinek 23db191d05 4.8.0-0.4 2013-01-21 19:53:27 +01:00
Jakub Jelinek 1f0b14bc67 4.8.0-0.4 2013-01-21 18:05:27 +01:00
Jakub Jelinek 95108be4ed 4.8.0-0.4 2013-01-21 18:04:47 +01:00
Jakub Jelinek e835ae255a 4.8.0-0.3 2013-01-06 12:13:05 +01:00
Tom Callaway 30ee91c661 ignore ppl version 2012-12-03 17:15:50 -05:00
Tom Callaway 88d23c2975 rebuild for new ppl & cloog 2012-11-30 15:21:50 -05:00
Jakub Jelinek 171e01f806 4.7.2-8 2012-11-09 12:58:44 +01:00
Jakub Jelinek 8479884c4b 4.7.2-7 2012-11-05 20:48:49 +01:00
Jakub Jelinek 079c4158d0 4.7.2-7 2012-11-05 17:46:35 +01:00
Jakub Jelinek 747298b149 4.7.2-7 2012-11-05 17:21:03 +01:00
Jon Ciesla f3ca3c472d Merge branch 'master' of ssh://pkgs.fedoraproject.org/gcc
Conflicts:
	gcc.spec
2012-10-15 15:03:47 -05:00
Jon Ciesla dd781f028c Provides: bundled(libiberty) 2012-10-15 15:01:14 -05:00
Jakub Jelinek b62b28279a 4.7.2-5 2012-10-15 10:48:10 +02:00
Jakub Jelinek 1db9652d3f 4.7.2-4 2012-10-09 14:00:55 +02:00
Jakub Jelinek c7f844b164 4.7.2-3 2012-10-01 11:20:26 +02:00
Jakub Jelinek a1b7d697b8 4.7.2-2 2012-09-21 14:52:56 +02:00
Jakub Jelinek 703be9734e 4.7.2-2 2012-09-21 14:33:13 +02:00
Jakub Jelinek 5d9509e3f6 4.7.2-1 2012-09-20 18:55:09 +02:00
Jakub Jelinek b5e6324f17 4.7.1-8 2012-09-13 22:58:21 +02:00
Jakub Jelinek ed30c6bf51 4.7.1-8 2012-09-13 22:56:13 +02:00
Jakub Jelinek 8181de5ce0 4.7.1-8 2012-09-13 22:35:11 +02:00
Jakub Jelinek 1d285b5a5f 4.7.1-7 2012-08-13 20:30:09 +02:00
Jakub Jelinek b9d0acf940 4.7.1-7 2012-08-13 19:53:49 +02:00
Jakub Jelinek e02177a0fa 4.7.1-6 2012-08-10 15:26:14 +02:00
Jakub Jelinek 5ef5ca7845 4.7.1-5 2012-07-20 19:01:30 +02:00
Jakub Jelinek a54b05b75c 4.7.1-4 2012-07-18 10:50:12 +02:00
Jakub Jelinek 43ee372cff 4.7.1-3 2012-07-16 12:54:55 +02:00
Jakub Jelinek ee79e7e0ab 4.7.1-2 2012-07-13 11:36:11 +02:00
Jakub Jelinek 8eaabf978c 4.7.1-1 2012-06-29 14:26:07 +02:00
Jakub Jelinek b1be385d8b 4.7.1-1 2012-06-29 10:44:22 +02:00
Jakub Jelinek 83584bab04 4.7.0-7 2012-06-04 20:43:00 +02:00
Jakub Jelinek d2bfdbf5fa 4.7.0-7 2012-06-04 20:33:15 +02:00
Jakub Jelinek 23fc385ac6 4.7.0-6 2012-05-25 20:29:45 +02:00
Jakub Jelinek 63df62bec5 4.7.0-6 2012-05-25 18:17:59 +02:00
Jakub Jelinek 09d4d57e3f 4.7.0-5 2012-05-07 16:10:48 +02:00
Jakub Jelinek 6fbf2051a5 4.7.0-4 2012-05-04 09:14:46 +02:00
Jakub Jelinek 3eca00bcb5 4.7.0-3 2012-05-02 14:07:45 +02:00
Jakub Jelinek 58da100211 4.7.0-2 2012-04-16 13:00:59 +02:00
Jakub Jelinek 76070518ae 4.7.0-1 2012-03-22 12:15:35 +01:00
Jakub Jelinek ceba2f7e86 4.7.0-0.20 2012-03-15 20:47:29 +01:00
Jakub Jelinek 8b74069114 4.7.0-0.19 2012-03-08 12:20:03 +01:00
Jakub Jelinek 055a7a490c 4.7.0-0.18 2012-02-29 10:52:44 +01:00
Jakub Jelinek 02343d2d87 4.7.0-0.17 2012-02-27 22:54:40 +01:00
Jakub Jelinek c886fb5bab 4.7.0-0.16 2012-02-24 10:31:38 +01:00
Jakub Jelinek 52ed89edc9 4.7.0-0.15 2012-02-23 19:05:22 +01:00
Jakub Jelinek 2382f77e4f 4.7.0-0.14 2012-02-22 00:23:44 +01:00
Jakub Jelinek 48fb608e1f 4.7.0-0.13 2012-02-16 13:32:49 +01:00
Jakub Jelinek 9cf7da719f 4.7.0-0.13 2012-02-16 13:19:06 +01:00
Jakub Jelinek af901f0d9b 4.7.0-0.12 2012-02-08 18:53:49 +01:00
Jakub Jelinek f2ce251d7b 4.7.0-0.11 2012-02-07 00:32:19 +01:00
Jakub Jelinek 21d9bf9a9a 4.7.0-0.11 2012-02-07 00:21:35 +01:00
Jakub Jelinek e3e70e5e70 4.7.0-0.10 2012-01-26 14:17:11 +01:00
Jakub Jelinek c0579b832a 4.7.0-0.9 2012-01-23 23:24:38 +01:00
Jakub Jelinek 15d1c7249f 4.7.0-0.8.fc17 2012-01-19 20:38:00 +01:00
Jakub Jelinek 8529466512 4.7.0-0.7 2012-01-17 18:29:23 +01:00
Jakub Jelinek cb86c036cc 4.7.0-0.6 2012-01-12 18:58:05 +01:00
Dan Horák 7673532492 fix build without libitm 2012-01-07 11:33:38 +01:00
Jakub Jelinek 9414f6f26c 4.7.0-0.5 2012-01-06 21:08:18 +01:00
Jakub Jelinek d962a92335 4.7.0-0.4 2012-01-05 22:02:40 +01:00
Jakub Jelinek e1c663c977 4.7.0-0.3 2012-01-04 21:51:04 +01:00
Jakub Jelinek a539bf4094 4.7.0-0.2 2012-01-03 15:31:26 +01:00
Jakub Jelinek 5c29a25740 4.7.0-0.2 2012-01-03 15:17:22 +01:00
Rex Dieter de609bb65f rebuild (gmp) 2011-10-31 10:51:39 -05:00
Jakub Jelinek 7750bc9d3c 4.6.2-1 2011-10-27 14:48:18 +02:00
Jakub Jelinek c2adc6fa4b 4.6.2-1 2011-10-27 10:53:55 +02:00
Dennis Gilmore 8647f27101 - Rebuilt for glibc bug#747377 2011-10-26 18:47:25 -05:00
Marcela Mašláňová 9e87f7a00a rebuild with new gmp without compat lib 2011-10-20 18:05:27 +02:00
Marcela Mašláňová eae73016d7 rebuild with new gmp 2011-10-10 15:33:42 +02:00
Jakub Jelinek 758837f646 4.6.1-3 2011-07-15 13:00:47 +02:00
Jakub Jelinek 9679e72bfc 4.6.1-2 2011-07-08 10:23:46 +02:00
Jakub Jelinek 03e379eaf6 gcc-4.6.1-1 2011-06-27 22:08:32 +02:00
Jakub Jelinek 9c16225727 4.6.0-10 2011-06-03 14:46:33 +02:00
Jakub Jelinek 55c286cdef 4.6.0-9 2011-05-30 18:20:41 +02:00
Jakub Jelinek d176bf367a 4.6.0-8 2011-05-25 11:10:21 +02:00
Jakub Jelinek 3774a68ac6 Merge branch 'master' of ssh://pkgs.fedoraproject.org/gcc
Conflicts:
	gcc.spec
2011-05-25 11:05:40 +02:00
Jakub Jelinek a3e3a13e14 4.6.0-8 2011-05-25 10:55:04 +02:00
Dennis Gilmore c365d99172 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild 2011-02-08 17:16:38 -06:00
Jakub Jelinek 6b781854a6 4.6.0-0.6 2011-02-05 09:43:14 +01:00
Jakub Jelinek 055fab3c16 4.6.0-0.5 2011-01-28 12:29:35 +01:00
Jakub Jelinek 794381f06a 4.6.0-0.5 2011-01-28 11:34:30 +01:00
Jakub Jelinek f7f5fb5d3e 4.6.0-0.5 2011-01-28 11:21:01 +01:00
Jakub Jelinek 2512207346 ppc build fixes. 2011-01-24 12:53:44 +01:00
Jakub Jelinek eaa63a4598 ppc build fixes. 2011-01-24 12:53:05 +01:00
Jakub Jelinek f9a19c1c37 Fix a pasto. 2011-01-23 11:21:19 +01:00
Jakub Jelinek 37b9e831cd 4.6.0-0.3 2011-01-22 15:11:59 +01:00
Jakub Jelinek 1c4059f5c4 4.6.0-0.2 2011-01-22 13:03:46 +01:00
Jakub Jelinek f3bd36c606 4.6.0-0.2 2011-01-22 12:21:01 +01:00
Jakub Jelinek 759d90703d 4.6.0-0.2 2011-01-22 11:26:14 +01:00
Jakub Jelinek 20b1a2c231 4.5.1-6 2010-11-30 16:44:53 +01:00
Jakub Jelinek bb9f8664bb 4.5.1-5 2010-11-12 23:25:09 +01:00
Dennis Gilmore 25220f3a3f Merge branch 'f14'
Conflicts:
	gcc.spec
2010-08-31 09:26:05 -05:00
Dennis Gilmore 8694567421 enable cloog on sparc arches 2010-08-31 09:24:28 -05:00
Jakub Jelinek 3e097055d1 4.5.1-1 2010-08-12 19:22:34 +02:00
David Malcolm bf880f673d recompiling .py files against Python 2.7 (rhbz#623302) 2010-08-11 17:31:19 -04:00
David Malcolm 60a4c4d537 recompiling .py files against Python 2.7 (rhbz#623302) 2010-08-11 17:31:06 -04:00
Jakub Jelinek 2d7b03d247 4.5.0-4 2010-07-30 17:32:29 +02:00
Jakub Jelinek e409bbf1b0 4.5.0-4 2010-07-30 17:10:43 +02:00
Fedora Release Engineering 034cab8256 dist-git conversion 2010-07-28 15:08:35 +00:00
Jakub Jelinek 4b316cf2e5 4.5.0-3 2010-07-16 10:49:04 +00:00
Jakub Jelinek 4459e8aea1 4.5.0-3 2010-07-16 10:37:45 +00:00
Jakub Jelinek b5a20a1d7e 4.5.0-3 2010-07-16 10:29:01 +00:00
Jakub Jelinek 1074058107 4.5.0-2 2010-07-09 11:25:38 +00:00
Jakub Jelinek 121bd6bf21 4.5.0-2 2010-07-09 08:48:53 +00:00
Jakub Jelinek 8717b1d411 4.5.0-1 2010-07-07 17:35:21 +00:00
Jakub Jelinek 4572f2db82 4.4.4-10 2010-06-30 07:32:30 +00:00
Jakub Jelinek 36720823b7 4.4.4-9 2010-06-24 20:18:32 +00:00
Jakub Jelinek 52e0713736 4.4.4-8 2010-06-11 08:22:29 +00:00
Jakub Jelinek fd1b3bc669 4.4.4-7 2010-06-08 10:01:16 +00:00
Tom Callaway 20c88e5918 static subpackages 2010-06-02 19:21:12 +00:00
Jakub Jelinek 2bd4446896 4.4.4-5.fc14 2010-05-25 22:50:28 +00:00
Jakub Jelinek 26c09a98ec 4.4.4-4 2010-05-18 21:17:39 +00:00
Jakub Jelinek 13e93d2a5d 4.4.4-3 2010-05-14 21:52:04 +00:00
Jakub Jelinek 2122c33f00 4.4.4-2 2010-05-03 20:26:52 +00:00
Jakub Jelinek c55cbd53a6 4.4.4-1 2010-04-30 20:07:57 +00:00
Jakub Jelinek 23c1e2d22a 4.4.3-19 2010-04-27 19:29:26 +00:00
Jakub Jelinek e332e73999 4.4.3-18 2010-04-22 09:26:43 +00:00
Jakub Jelinek 82f78973b0 4.4.3-16 2010-04-09 09:08:57 +00:00
Jakub Jelinek 483ed19fc1 4.4.3-15 2010-04-07 14:24:06 +00:00
Jakub Jelinek dc2c0a96e5 4.4.3-15 2010-04-07 13:11:46 +00:00
Jakub Jelinek d6469194bd 4.4.3-14 2010-04-01 15:05:31 +00:00
Jakub Jelinek 0a5caf80d3 4.4.3-13 2010-03-27 14:51:27 +00:00
47 changed files with 3524 additions and 4597 deletions

View File

@ -1,2 +0,0 @@
fastjar-0.97.tar.gz
gcc-4.4.3-20100211.tar.bz2

8
.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
/gcc-10.0.1-20200118.tar.xz
/newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz
/nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz
/gcc-10.0.1-20200121.tar.xz
/gcc-10.0.1-20200123.tar.xz
/gcc-10.0.1-20200126.tar.xz
/gcc-10.0.1-20200130.tar.xz
/gcc-10.0.1-20200216.tar.xz

View File

@ -1,21 +0,0 @@
# Makefile for source rpm: gcc
# $Id: Makefile,v 1.2 2007/10/15 18:46:35 notting Exp $
NAME := gcc
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attempt a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

View File

@ -1,56 +0,0 @@
gcjwebplugin is a Firefox plugin for running Java applets. It is now
included in the libgcj sub-package, though it is not enabled by
default.
GNU Classpath and libgcj's security implementation is under active
development, but it is not ready to be declared secure. Specifically,
it cannot run untrusted applets safely.
When gcjwebplugin is enabled, it prompts you with a dialog before
loading an applet. The dialog tells you that a certain URL would like
to load an applet, and asks if you trust the applet. Be aware though
that this dialog is mostly informative and doesn't provide much
protection:
- http and DNS can be spoofed meaning that the URL named in the
warning dialog cannot be trusted
- someone could create a browser denial-of-service attack by creating a
page with hundreds of applet tags, causing gcjwebplugin to create
warning dialog after warning dialog. The browser would have to be
closed to eliminate the latest dialog
- the whitelist is provided as a convenience, but it is unsafe because a
domain may change hands from a trusted owner to an untrusted owner.
If that domain is in the whitelist then the warning dialog will not
appear when loading the new malicious applet.
CURRENTLY GCJWEBPLUGIN RUNS WITH NO SECURITY MANAGER. THIS MEANS THAT
APPLETS CAN DO ANYTHING A JAVA APPLICATION THAT YOU DOWNLOAD AND RUN
COULD DO. BE *VERY* CAREFUL WHICH APPLETS YOU RUN. DO NOT USE
GCJWEBPLUGIN ON YOUR SYSTEM IF YOUR SYSTEM STORES IMPORTANT DATA.
THIS DATA CAN BE DESTROYED OR STOLEN.
The same warning applies to gappletviewer, which also runs with no
security manager (in fact, gcjwebplugin spawns gappletviewer to do the
applet loading). When run on the command line, gappletviewer issues a
warning on startup and asks you if you want to continue.
Even considering the risks involved, you may still want to try
gcjwebplugin. GNU Classpath's AWT and Swing implementations are now
sufficiently mature that they're able to run many applets deployed on
the web. If you're interested in trying gcjwebplugin, you can do so
by creating a symbolic link in ~/.mozilla/plugins like so:
ln -s /usr/lib/gcj-@VERSION@/libgcjwebplugin.so ~/.mozilla/plugins/
Type about:plugins in Firefox's URL bar to confirm that the plugin has
been loaded. To see gcjwebplugin debugging output, run:
firefox -g
then at the GDB prompt, type
run
Please report bugs in Red Hat Bugzilla: http://bugzilla.redhat.com

35
STAGE1-gcc Normal file
View File

@ -0,0 +1,35 @@
srpm gcc
mcd $BUILDDIR/gcc
# These are for gcc cross-tools (politics sometime result in slightly
# different arch names)
GCC_CONFIGARGS="--prefix=$PREFIX
--libdir=$PREFIX/lib${SUFFIX}
--target=$TARGET
${GCC_CONFIG_EXTRA}
--enable-languages=c,c++
--with-sysroot=$ROOTFS
--with-build-sysroot=$ROOTFS
--cache-file=config.cache
--disable-bootstrap
--enable-threads=posix
--enable-64-bit-bfd
--disable-lto
$WITHPPL
"
# prefill gcc cache
echo 'lt_cv_shlibpath_overrides_runpath=no' > config.cache
echo 'gcc_cv_libc_provides_ssp=yes' >> config.cache
if [ ! "$BUILDER_ARCH" = "$TARGET_ARCH" ]; then
WITH_HEADERS="--with-headers=$ROOTFS/usr/include"
fi
$SRC/gcc-*/configure $GCC_CONFIGARGS $WITH_HEADERS
notparallel
make $J
make $J install
mcd $ROOTFS/lib${SUFFIX}/gcc
rsync -av $PREFIX/lib${SUFFIX}/gcc/ $ROOTFS/lib${SUFFIX}/gcc/
rsync -av $PREFIX/$TARGET/lib/ $ROOTFS/lib${SUFFIX}/

48
STAGE1-gcc-host Normal file
View File

@ -0,0 +1,48 @@
srpm gcc
mcd $BUILDDIR/gcc-host
# These are for gcc cross-tools (politics sometime result in slightly
# different arch names)
GCC_CONFIGARGS="--prefix=$PREFIX
--libdir=$PREFIX/lib${SUFFIX}
--target=$TARGET
${GCC_CONFIG_EXTRA}
--enable-languages=c,c++
--with-sysroot=$ROOTFS
--with-build-sysroot=$ROOTFS
--cache-file=config.cache
--disable-bootstrap
--enable-threads=posix
--enable-64-bit-bfd
--disable-lto
$WITHPPL
"
# prefill gcc cache
echo 'lt_cv_shlibpath_overrides_runpath=no' > config.cache
echo 'gcc_cv_libc_provides_ssp=yes' >> config.cache
if [ ! "$BUILDER_ARCH" = "$TARGET_ARCH" ]; then
WITH_HEADERS="--with-headers=$ROOTFS/usr/include"
fi
$SRC/gcc-*/configure $GCC_CONFIGARGS $WITH_HEADERS
notparallel
# Pass gcc_cv_libc_provides_ssp down, because the config.cache
# version is not passed down to the gcc subdir.
make $J all-host gcc_cv_libc_provides_ssp=yes
make $J install-host gcc_cv_libc_provides_ssp=yes
if false; then
mkdirp $ROOTFS/usr/lib${SUFFIX}
for o in crt Scrt1 crti crtbegin crtbeginS crtend crtendS crtn
do
$TARGET-gcc -nostdlib -nostartfiles -c -x c /dev/null -c -o $ROOTFS/usr/lib${SUFFIX}/$o.o
done
for so in gcc gcc_s c
do
$TARGET-gcc -nostdlib -nostartfiles -shared -x c /dev/null -o $ROOTFS/usr/lib${SUFFIX}/lib$so.so
done
fi

34
STAGE1-gcc-libgcc Normal file
View File

@ -0,0 +1,34 @@
srpm gcc
mcd $BUILDDIR/gcc-libgcc
# These are for gcc cross-tools (politics sometime result in slightly
# different arch names)
GCC_CONFIGARGS="--prefix=$PREFIX
--libdir=$PREFIX/lib${SUFFIX}
--target=$TARGET
${GCC_CONFIG_EXTRA}
--enable-languages=c,c++
--with-sysroot=$ROOTFS
--with-build-sysroot=$ROOTFS
--cache-file=config.cache
--disable-bootstrap
--enable-threads=posix
--enable-64-bit-bfd
--disable-lto
$WITHPPL
"
# prefill gcc cache
echo 'lt_cv_shlibpath_overrides_runpath=no' > config.cache
echo 'gcc_cv_libc_provides_ssp=yes' >> config.cache
if [ ! "$BUILDER_ARCH" = "$TARGET_ARCH" ]; then
WITH_HEADERS="--with-headers=$ROOTFS/usr/include"
fi
$SRC/gcc-*/configure $GCC_CONFIGARGS $WITH_HEADERS
notparallel
# Pass gcc_cv_libc_provides_ssp down, because the config.cache
# version is not passed down to the gcc subdir.
make $J all-target-libgcc all-target-libssp gcc_cv_libc_provides_ssp=yes
make $J install-target-libgcc install-target-libssp gcc_cv_libc_provides_ssp=yes

28
STAGE1-t-gcc Normal file
View File

@ -0,0 +1,28 @@
srpm gcc
mcd $BUILDDIR/t-gcc
GCC_TCONFIGARGS="--prefix=/usr
--libdir=/usr/lib${SUFFIX}
--with-sysroot=/
--with-build-sysroot=$ROOTFS
--build=$BUILD
--host=$TARGET
--target=$TARGET
--disable-bootstrap
--enable-werror=no
--enable-cxx
${GCC_CONFIG_EXTRA}
--enable-languages=c,c++
--enable-threads=posix
--enable-linker-build-id
"
$SRC/gcc-*/configure $GCC_TCONFIGARGS
notparallel
make $J
make $J install DESTDIR=${ROOTFS}
test -e ${ROOTFS}/usr/bin/cc && rm ${ROOTFS}/usr/bin/cc
ln -s gcc ${ROOTFS}/usr/bin/cc
mkdir -p ${ROOTFS}/usr/share/gdb/auto-load/usr/lib${SUFFIX}
mv -f ${ROOTFS}/usr/lib${SUFFIX}/libstdc++*gdb.py* \
${ROOTFS}/usr/share/gdb/auto-load/usr/lib${SUFFIX}

View File

@ -1,16 +0,0 @@
2009-12-21 Chris Ball <cjb@laptop.org>
* jartool.c (add_file_to_jar): Test write return value against -1
instead of 1.
--- fastjar-0.97/jartool.c.jj 2008-10-15 12:35:37.000000000 -0400
+++ fastjar-0.97/jartool.c 2009-12-22 06:48:09.309530000 -0500
@@ -1257,7 +1257,7 @@ int add_file_to_jar(int jfd, int ffd, co
exit_on_error("write");
/* write the file name to the zip file */
- if (1 == write(jfd, fname, file_name_length))
+ if (-1 == write(jfd, fname, file_name_length))
exit_on_error("write");
if(verbose){

View File

@ -1,29 +0,0 @@
2009-01-14 Jakub Jelinek <jakub@redhat.com>
* jartool.c (make_manifest): Initialize current_time before
calling unix2dostime on it.
--- fastjar-0.97/jartool.c.jj 2008-10-15 18:35:37.000000000 +0200
+++ fastjar-0.97/jartool.c 2009-01-14 15:40:50.000000000 +0100
@@ -820,6 +820,10 @@ int make_manifest(int jfd, const char *m
int mod_time; /* file modification time */
struct zipentry *ze;
+ current_time = time(NULL);
+ if(current_time == (time_t)-1)
+ exit_on_error("time");
+
mod_time = unix2dostime(&current_time);
/* If we are creating a new manifest, create a META-INF directory entry */
@@ -828,10 +832,6 @@ int make_manifest(int jfd, const char *m
memset((file_header + 12), '\0', 16); /*clear mod time, crc, size fields*/
- current_time = time(NULL);
- if(current_time == (time_t)-1)
- exit_on_error("time");
-
PACK_UB2(file_header, LOC_EXTRA, 0);
PACK_UB2(file_header, LOC_COMP, 0);
PACK_UB2(file_header, LOC_FNLEN, nlen);

3982
gcc.spec

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,27 @@
2017-02-25 Jakub Jelinek <jakub@redhat.com>
* configure.ac: When adding -Wno-format, also add -Wno-format-security.
* configure: Regenerated.
--- gcc/configure.ac.jj 2017-02-13 12:20:53.000000000 +0100
+++ gcc/configure.ac 2017-02-25 12:42:32.859175403 +0100
@@ -480,7 +480,7 @@ AC_ARG_ENABLE(build-format-warnings,
AS_HELP_STRING([--disable-build-format-warnings],[don't use -Wformat while building GCC]),
[],[enable_build_format_warnings=yes])
AS_IF([test $enable_build_format_warnings = no],
- [wf_opt=-Wno-format],[wf_opt=])
+ [wf_opt="-Wno-format -Wno-format-security"],[wf_opt=])
ACX_PROG_CXX_WARNING_OPTS(
m4_quote(m4_do([-W -Wall -Wno-narrowing -Wwrite-strings ],
[-Wcast-qual -Wno-error=format-diag $wf_opt])),
--- gcc/configure.jj 2017-02-13 12:20:52.000000000 +0100
+++ gcc/configure 2017-02-25 12:42:50.041946391 +0100
@@ -6647,7 +6647,7 @@ else
fi
if test $enable_build_format_warnings = no; then :
- wf_opt=-Wno-format
+ wf_opt="-Wno-format -Wno-format-security"
else
wf_opt=
fi

View File

@ -0,0 +1,20 @@
2019-01-17 Jakub Jelinek <jakub@redhat.com>
* d-spec.cc (lang_specific_driver): Make -shared-libphobos
the default rather than -static-libphobos.
--- gcc/d/d-spec.cc.jj 2019-01-01 12:37:49.502444257 +0100
+++ gcc/d/d-spec.cc 2019-01-17 17:09:45.364949246 +0100
@@ -405,9 +405,9 @@ lang_specific_driver (cl_decoded_option
/* Add `-lgphobos' if we haven't already done so. */
if (phobos_library != PHOBOS_NOLINK && need_phobos)
{
- /* Default to static linking. */
- if (phobos_library != PHOBOS_DYNAMIC)
- phobos_library = PHOBOS_STATIC;
+ /* Default to shared linking. */
+ if (phobos_library != PHOBOS_STATIC)
+ phobos_library = PHOBOS_DYNAMIC;
#ifdef HAVE_LD_STATIC_DYNAMIC
if (phobos_library == PHOBOS_DYNAMIC && static_link)

View File

@ -0,0 +1,122 @@
2019-01-17 Jakub Jelinek <jakub@redhat.com>
* gcc.c (offload_targets_default): New variable.
(process_command): Set it if -foffload is defaulted.
(driver::maybe_putenv_OFFLOAD_TARGETS): Add OFFLOAD_TARGET_DEFAULT=1
into environment if -foffload has been defaulted.
* lto-wrapper.c (OFFLOAD_TARGET_DEFAULT_ENV): Define.
(compile_offload_image): If OFFLOAD_TARGET_DEFAULT
is in the environment, don't fail if corresponding mkoffload
can't be found.
(compile_images_for_offload_targets): Likewise. Free and clear
offload_names if no valid offload is found.
libgomp/
* target.c (gomp_load_plugin_for_device): If a plugin can't be
dlopened, assume it has no devices silently.
--- gcc/gcc.c.jj 2017-01-17 10:28:40.000000000 +0100
+++ gcc/gcc.c 2017-01-20 16:26:29.649962902 +0100
@@ -290,6 +290,10 @@ static const char *spec_host_machine = D
static char *offload_targets = NULL;
+/* Set to true if -foffload has not been used and offload_targets
+ is set to the configured in default. */
+static bool offload_targets_default;
+
/* Nonzero if cross-compiling.
When -b is used, the value comes from the `specs' file. */
@@ -4457,7 +4461,10 @@ process_command (unsigned int decoded_op
/* If the user didn't specify any, default to all configured offload
targets. */
if (ENABLE_OFFLOADING && offload_targets == NULL)
- handle_foffload_option (OFFLOAD_TARGETS);
+ {
+ handle_foffload_option (OFFLOAD_TARGETS);
+ offload_targets_default = true;
+ }
if (output_file
&& strcmp (output_file, "-") != 0
@@ -7693,6 +7700,8 @@ driver::maybe_putenv_OFFLOAD_TARGETS ()
obstack_grow (&collect_obstack, offload_targets,
strlen (offload_targets) + 1);
xputenv (XOBFINISH (&collect_obstack, char *));
+ if (offload_targets_default)
+ xputenv ("OFFLOAD_TARGET_DEFAULT=1");
}
free (offload_targets);
--- gcc/lto-wrapper.c.jj 2017-01-01 12:45:34.000000000 +0100
+++ gcc/lto-wrapper.c 2017-01-20 16:34:18.294016997 +0100
@@ -52,6 +52,7 @@ along with GCC; see the file COPYING3.
/* Environment variable, used for passing the names of offload targets from GCC
driver to lto-wrapper. */
#define OFFLOAD_TARGET_NAMES_ENV "OFFLOAD_TARGET_NAMES"
+#define OFFLOAD_TARGET_DEFAULT_ENV "OFFLOAD_TARGET_DEFAULT"
enum lto_mode_d {
LTO_MODE_NONE, /* Not doing LTO. */
@@ -822,6 +823,12 @@ compile_offload_image (const char *targe
break;
}
+ if (!compiler && getenv (OFFLOAD_TARGET_DEFAULT_ENV))
+ {
+ free_array_of_ptrs ((void **) paths, n_paths);
+ return NULL;
+ }
+
if (!compiler)
fatal_error (input_location,
"could not find %s in %s (consider using %<-B%>)",
@@ -885,6 +892,7 @@ compile_images_for_offload_targets (unsi
unsigned num_targets = parse_env_var (target_names, &names, NULL);
int next_name_entry = 0;
+ bool hsa_seen = false;
const char *compiler_path = getenv ("COMPILER_PATH");
if (!compiler_path)
goto out;
@@ -897,18 +905,26 @@ compile_images_for_offload_targets (unsi
/* HSA does not use LTO-like streaming and a different compiler, skip
it. */
if (strcmp (names[i], "hsa") == 0)
- continue;
+ {
+ hsa_seen = true;
+ continue;
+ }
offload_names[next_name_entry]
= compile_offload_image (names[i], compiler_path, in_argc, in_argv,
compiler_opts, compiler_opt_count,
linker_opts, linker_opt_count);
if (!offload_names[next_name_entry])
- fatal_error (input_location,
- "problem with building target image for %s", names[i]);
+ continue;
next_name_entry++;
}
+ if (next_name_entry == 0 && !hsa_seen)
+ {
+ free (offload_names);
+ offload_names = NULL;
+ }
+
out:
free_array_of_ptrs ((void **) names, num_targets);
}
--- libgomp/target.c.jj 2017-01-01 12:45:52.000000000 +0100
+++ libgomp/target.c 2017-01-20 20:12:13.756710875 +0100
@@ -2356,7 +2356,7 @@ gomp_load_plugin_for_device (struct gomp
void *plugin_handle = dlopen (plugin_name, RTLD_LAZY);
if (!plugin_handle)
- goto dl_fail;
+ return 0;
/* Check if all required functions are available in the plugin and store
their handlers. None of the symbols can legitimately be NULL,

126
gcc10-hack.patch Normal file
View File

@ -0,0 +1,126 @@
--- libada/Makefile.in.jj 2019-01-09 13:01:18.015608205 +0100
+++ libada/Makefile.in 2019-01-11 18:16:23.441726931 +0100
@@ -71,18 +71,40 @@ version := $(shell @get_gcc_base_ver@ $(
libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR)
ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR))
+DEFAULTMULTIFLAGS :=
+ifeq ($(MULTISUBDIR),)
+targ:=$(subst -, ,$(target))
+arch:=$(word 1,$(targ))
+ifeq ($(words $(targ)),2)
+osys:=$(word 2,$(targ))
+else
+osys:=$(word 3,$(targ))
+endif
+ifeq ($(strip $(filter-out i%86 x86_64 powerpc% ppc% s390% sparc% linux%, $(arch) $(osys))),)
+ifeq ($(shell $(CC) $(CFLAGS) -print-multi-os-directory),../lib64)
+DEFAULTMULTIFLAGS := -m64
+else
+ifeq ($(strip $(filter-out s390%, $(arch))),)
+DEFAULTMULTIFLAGS := -m31
+else
+DEFAULTMULTIFLAGS := -m32
+endif
+endif
+endif
+endif
+
# exeext should not be used because it's the *host* exeext. We're building
# a *target* library, aren't we?!? Likewise for CC. Still, provide bogus
# definitions just in case something slips through the safety net provided
# by recursive make invocations in gcc/ada/Makefile.in
LIBADA_FLAGS_TO_PASS = \
"MAKEOVERRIDES=" \
- "LDFLAGS=$(LDFLAGS)" \
+ "LDFLAGS=$(LDFLAGS) $(DEFAULTMULTIFLAGS)" \
"LN_S=$(LN_S)" \
"SHELL=$(SHELL)" \
- "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \
- "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \
- "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \
+ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \
+ "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \
+ "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \
"PICFLAG_FOR_TARGET=$(PICFLAG)" \
"THREAD_KIND=$(THREAD_KIND)" \
"TRACE=$(TRACE)" \
@@ -93,7 +115,7 @@ LIBADA_FLAGS_TO_PASS = \
"exeext=.exeext.should.not.be.used " \
'CC=the.host.compiler.should.not.be.needed' \
"GCC_FOR_TARGET=$(CC)" \
- "CFLAGS=$(CFLAGS)"
+ "CFLAGS=$(CFLAGS) $(DEFAULTMULTIFLAGS)"
.PHONY: libada gnatlib gnatlib-shared gnatlib-sjlj gnatlib-zcx osconstool
--- config-ml.in.jj 2019-01-09 12:50:16.646501448 +0100
+++ config-ml.in 2019-01-11 18:16:23.442726914 +0100
@@ -511,6 +511,8 @@ multi-do:
ADAFLAGS="$(ADAFLAGS) $${flags}" \
prefix="$(prefix)" \
exec_prefix="$(exec_prefix)" \
+ mandir="$(mandir)" \
+ infodir="$(infodir)" \
GOCFLAGS="$(GOCFLAGS) $${flags}" \
GDCFLAGS="$(GDCFLAGS) $${flags}" \
CXXFLAGS="$(CXXFLAGS) $${flags}" \
--- libcpp/macro.c.jj 2019-01-09 13:01:21.420552123 +0100
+++ libcpp/macro.c 2019-01-11 18:18:17.736876285 +0100
@@ -3256,8 +3256,6 @@ static cpp_macro *
create_iso_definition (cpp_reader *pfile)
{
bool following_paste_op = false;
- const char *paste_op_error_msg =
- N_("'##' cannot appear at either end of a macro expansion");
unsigned int num_extra_tokens = 0;
unsigned nparms = 0;
cpp_hashnode **params = NULL;
@@ -3382,7 +3380,9 @@ create_iso_definition (cpp_reader *pfile
function-like macros, but not at the end. */
if (following_paste_op)
{
- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);
+ cpp_error (pfile, CPP_DL_ERROR,
+ "'##' cannot appear at either end of a macro "
+ "expansion");
goto out;
}
if (!vaopt_tracker.completed ())
@@ -3397,7 +3397,9 @@ create_iso_definition (cpp_reader *pfile
function-like macros, but not at the beginning. */
if (macro->count == 1)
{
- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);
+ cpp_error (pfile, CPP_DL_ERROR,
+ "'##' cannot appear at either end of a macro "
+ "expansion");
goto out;
}
--- libcpp/expr.c.jj 2019-01-09 13:01:22.415535734 +0100
+++ libcpp/expr.c 2019-01-11 18:16:23.444726882 +0100
@@ -788,16 +788,17 @@ cpp_classify_number (cpp_reader *pfile,
if ((result & CPP_N_WIDTH) == CPP_N_LARGE
&& CPP_OPTION (pfile, cpp_warn_long_long))
{
- const char *message = CPP_OPTION (pfile, cplusplus)
- ? N_("use of C++11 long long integer constant")
- : N_("use of C99 long long integer constant");
-
if (CPP_OPTION (pfile, c99))
cpp_warning_with_line (pfile, CPP_W_LONG_LONG, virtual_location,
- 0, message);
+ 0, CPP_OPTION (pfile, cplusplus)
+ ? N_("use of C++11 long long integer constant")
+ : N_("use of C99 long long integer constant"));
else
cpp_pedwarning_with_line (pfile, CPP_W_LONG_LONG,
- virtual_location, 0, message);
+ virtual_location, 0,
+ CPP_OPTION (pfile, cplusplus)
+ ? N_("use of C++11 long long integer constant")
+ : N_("use of C99 long long integer constant"));
}
result |= CPP_N_INTEGER;

11
gcc10-i386-libgomp.patch Normal file
View File

@ -0,0 +1,11 @@
--- libgomp/configure.tgt.jj 2008-01-10 20:53:48.000000000 +0100
+++ libgomp/configure.tgt 2008-03-27 12:44:51.000000000 +0100
@@ -67,7 +67,7 @@ if test $enable_linux_futex = yes; then
;;
*)
if test -z "$with_arch"; then
- XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
fi
esac
;;

715
gcc10-isl-dl.patch Normal file
View File

@ -0,0 +1,715 @@
--- gcc/Makefile.in.jj 2015-06-06 10:00:25.000000000 +0200
+++ gcc/Makefile.in 2015-11-04 14:56:02.643536437 +0100
@@ -1063,7 +1063,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
# and the system's installed libraries.
LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBBACKTRACE) \
$(LIBIBERTY) $(LIBDECNUMBER) $(HOST_LIBS)
-BACKENDLIBS = $(ISLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
+BACKENDLIBS = $(if $(ISLLIBS),-ldl) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
$(ZLIB) $(ZSTD_LIB)
# Any system libraries needed just for GNAT.
SYSLIBS = @GNAT_LIBEXC@
@@ -2302,6 +2302,15 @@ $(out_object_file): $(out_file)
$(common_out_object_file): $(common_out_file)
$(COMPILE) $<
$(POSTCOMPILE)
+
+graphite%.o : \
+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
+graphite.o : \
+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
+graphite%.o : \
+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
+graphite.o : \
+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
#
# Generate header and source files from the machine description,
# and compile them.
--- gcc/graphite.h.jj 2016-01-27 12:44:06.000000000 +0100
+++ gcc/graphite.h 2016-01-27 13:26:38.309876856 +0100
@@ -39,6 +39,590 @@ along with GCC; see the file COPYING3.
#include <isl/schedule_node.h>
#include <isl/id.h>
#include <isl/space.h>
+#include <isl/version.h>
+#include <dlfcn.h>
+
+#define DYNSYMS \
+ DYNSYM (isl_aff_add_coefficient_si); \
+ DYNSYM (isl_aff_free); \
+ DYNSYM (isl_aff_get_space); \
+ DYNSYM (isl_aff_set_coefficient_si); \
+ DYNSYM (isl_aff_set_constant_si); \
+ DYNSYM (isl_aff_zero_on_domain); \
+ DYNSYM (isl_band_free); \
+ DYNSYM (isl_band_get_children); \
+ DYNSYM (isl_band_get_partial_schedule); \
+ DYNSYM (isl_band_has_children); \
+ DYNSYM (isl_band_list_free); \
+ DYNSYM (isl_band_list_get_band); \
+ DYNSYM (isl_band_list_get_ctx); \
+ DYNSYM (isl_band_list_n_band); \
+ DYNSYM (isl_band_n_member); \
+ DYNSYM (isl_basic_map_add_constraint); \
+ DYNSYM (isl_basic_map_project_out); \
+ DYNSYM (isl_basic_map_universe); \
+ DYNSYM (isl_constraint_set_coefficient_si); \
+ DYNSYM (isl_constraint_set_constant_si); \
+ DYNSYM (isl_ctx_alloc); \
+ DYNSYM (isl_ctx_free); \
+ DYNSYM (isl_equality_alloc); \
+ DYNSYM (isl_id_alloc); \
+ DYNSYM (isl_id_copy); \
+ DYNSYM (isl_id_free); \
+ DYNSYM (isl_inequality_alloc); \
+ DYNSYM (isl_local_space_copy); \
+ DYNSYM (isl_local_space_free); \
+ DYNSYM (isl_local_space_from_space); \
+ DYNSYM (isl_local_space_range); \
+ DYNSYM (isl_map_add_constraint); \
+ DYNSYM (isl_map_add_dims); \
+ DYNSYM (isl_map_align_params); \
+ DYNSYM (isl_map_apply_range); \
+ DYNSYM (isl_map_copy); \
+ DYNSYM (isl_map_dim); \
+ DYNSYM (isl_map_dump); \
+ DYNSYM (isl_map_equate); \
+ DYNSYM (isl_map_fix_si); \
+ DYNSYM (isl_map_flat_product); \
+ DYNSYM (isl_map_flat_range_product); \
+ DYNSYM (isl_map_free); \
+ DYNSYM (isl_map_from_basic_map); \
+ DYNSYM (isl_map_from_pw_aff); \
+ DYNSYM (isl_map_from_union_map); \
+ DYNSYM (isl_map_get_ctx); \
+ DYNSYM (isl_map_get_space); \
+ DYNSYM (isl_map_get_tuple_id); \
+ DYNSYM (isl_map_insert_dims); \
+ DYNSYM (isl_map_intersect); \
+ DYNSYM (isl_map_intersect_domain); \
+ DYNSYM (isl_map_intersect_range); \
+ DYNSYM (isl_map_is_empty); \
+ DYNSYM (isl_map_lex_ge); \
+ DYNSYM (isl_map_lex_le); \
+ DYNSYM (isl_map_n_out); \
+ DYNSYM (isl_map_range); \
+ DYNSYM (isl_map_set_tuple_id); \
+ DYNSYM (isl_map_universe); \
+ DYNSYM (isl_options_set_on_error); \
+ DYNSYM (isl_options_set_schedule_serialize_sccs); \
+ DYNSYM (isl_printer_set_yaml_style); \
+ DYNSYM (isl_options_set_schedule_max_constant_term); \
+ DYNSYM (isl_options_set_schedule_maximize_band_depth); \
+ DYNSYM (isl_printer_free); \
+ DYNSYM (isl_printer_print_aff); \
+ DYNSYM (isl_printer_print_constraint); \
+ DYNSYM (isl_printer_print_map); \
+ DYNSYM (isl_printer_print_set); \
+ DYNSYM (isl_printer_to_file); \
+ DYNSYM (isl_pw_aff_add); \
+ DYNSYM (isl_pw_aff_alloc); \
+ DYNSYM (isl_pw_aff_copy); \
+ DYNSYM (isl_pw_aff_eq_set); \
+ DYNSYM (isl_pw_aff_free); \
+ DYNSYM (isl_pw_aff_from_aff); \
+ DYNSYM (isl_pw_aff_ge_set); \
+ DYNSYM (isl_pw_aff_gt_set); \
+ DYNSYM (isl_pw_aff_is_cst); \
+ DYNSYM (isl_pw_aff_le_set); \
+ DYNSYM (isl_pw_aff_lt_set); \
+ DYNSYM (isl_pw_aff_mul); \
+ DYNSYM (isl_pw_aff_ne_set); \
+ DYNSYM (isl_pw_aff_nonneg_set); \
+ DYNSYM (isl_pw_aff_set_tuple_id); \
+ DYNSYM (isl_pw_aff_sub); \
+ DYNSYM (isl_pw_aff_zero_set); \
+ DYNSYM (isl_schedule_free); \
+ DYNSYM (isl_schedule_get_band_forest); \
+ DYNSYM (isl_set_add_constraint); \
+ DYNSYM (isl_set_add_dims); \
+ DYNSYM (isl_set_apply); \
+ DYNSYM (isl_set_coalesce); \
+ DYNSYM (isl_set_copy); \
+ DYNSYM (isl_set_dim); \
+ DYNSYM (isl_set_fix_si); \
+ DYNSYM (isl_set_free); \
+ DYNSYM (isl_set_get_space); \
+ DYNSYM (isl_set_get_tuple_id); \
+ DYNSYM (isl_set_intersect); \
+ DYNSYM (isl_set_is_empty); \
+ DYNSYM (isl_set_n_dim); \
+ DYNSYM (isl_set_nat_universe); \
+ DYNSYM (isl_set_project_out); \
+ DYNSYM (isl_set_set_tuple_id); \
+ DYNSYM (isl_set_universe); \
+ DYNSYM (isl_space_add_dims); \
+ DYNSYM (isl_space_alloc); \
+ DYNSYM (isl_space_copy); \
+ DYNSYM (isl_space_dim); \
+ DYNSYM (isl_space_domain); \
+ DYNSYM (isl_space_find_dim_by_id); \
+ DYNSYM (isl_space_free); \
+ DYNSYM (isl_space_from_domain); \
+ DYNSYM (isl_space_get_tuple_id); \
+ DYNSYM (isl_space_params_alloc); \
+ DYNSYM (isl_space_range); \
+ DYNSYM (isl_space_set_alloc); \
+ DYNSYM (isl_space_set_dim_id); \
+ DYNSYM (isl_space_set_tuple_id); \
+ DYNSYM (isl_union_map_add_map); \
+ DYNSYM (isl_union_map_align_params); \
+ DYNSYM (isl_union_map_apply_domain); \
+ DYNSYM (isl_union_map_apply_range); \
+ DYNSYM (isl_union_map_compute_flow); \
+ DYNSYM (isl_union_map_copy); \
+ DYNSYM (isl_union_map_empty); \
+ DYNSYM (isl_union_map_flat_range_product); \
+ DYNSYM (isl_union_map_foreach_map); \
+ DYNSYM (isl_union_map_free); \
+ DYNSYM (isl_union_map_from_map); \
+ DYNSYM (isl_union_map_get_ctx); \
+ DYNSYM (isl_union_map_get_space); \
+ DYNSYM (isl_union_map_gist_domain); \
+ DYNSYM (isl_union_map_gist_range); \
+ DYNSYM (isl_union_map_intersect_domain); \
+ DYNSYM (isl_union_map_is_empty); \
+ DYNSYM (isl_union_map_subtract); \
+ DYNSYM (isl_union_map_union); \
+ DYNSYM (isl_union_set_add_set); \
+ DYNSYM (isl_union_set_compute_schedule); \
+ DYNSYM (isl_union_set_copy); \
+ DYNSYM (isl_union_set_empty); \
+ DYNSYM (isl_union_set_from_set); \
+ DYNSYM (isl_aff_add_constant_val); \
+ DYNSYM (isl_aff_get_coefficient_val); \
+ DYNSYM (isl_aff_get_ctx); \
+ DYNSYM (isl_aff_mod_val); \
+ DYNSYM (isl_ast_build_ast_from_schedule); \
+ DYNSYM (isl_ast_build_free); \
+ DYNSYM (isl_ast_build_from_context); \
+ DYNSYM (isl_ast_build_get_ctx); \
+ DYNSYM (isl_ast_build_get_schedule); \
+ DYNSYM (isl_ast_build_get_schedule_space); \
+ DYNSYM (isl_ast_build_set_before_each_for); \
+ DYNSYM (isl_ast_build_set_options); \
+ DYNSYM (isl_ast_expr_free); \
+ DYNSYM (isl_ast_expr_from_val); \
+ DYNSYM (isl_ast_expr_get_ctx); \
+ DYNSYM (isl_ast_expr_get_id); \
+ DYNSYM (isl_ast_expr_get_op_arg); \
+ DYNSYM (isl_ast_expr_get_op_n_arg); \
+ DYNSYM (isl_ast_expr_get_op_type); \
+ DYNSYM (isl_ast_expr_get_type); \
+ DYNSYM (isl_ast_expr_get_val); \
+ DYNSYM (isl_ast_expr_sub); \
+ DYNSYM (isl_ast_node_block_get_children); \
+ DYNSYM (isl_ast_node_for_get_body); \
+ DYNSYM (isl_ast_node_for_get_cond); \
+ DYNSYM (isl_ast_node_for_get_inc); \
+ DYNSYM (isl_ast_node_for_get_init); \
+ DYNSYM (isl_ast_node_for_get_iterator); \
+ DYNSYM (isl_ast_node_free); \
+ DYNSYM (isl_ast_node_get_annotation); \
+ DYNSYM (isl_ast_node_get_type); \
+ DYNSYM (isl_ast_node_if_get_cond); \
+ DYNSYM (isl_ast_node_if_get_else); \
+ DYNSYM (isl_ast_node_if_get_then); \
+ DYNSYM (isl_ast_node_list_free); \
+ DYNSYM (isl_ast_node_list_get_ast_node); \
+ DYNSYM (isl_ast_node_list_n_ast_node); \
+ DYNSYM (isl_ast_node_user_get_expr); \
+ DYNSYM (isl_constraint_set_coefficient_val); \
+ DYNSYM (isl_constraint_set_constant_val); \
+ DYNSYM (isl_id_get_user); \
+ DYNSYM (isl_local_space_get_ctx); \
+ DYNSYM (isl_map_fix_val); \
+ DYNSYM (isl_options_set_ast_build_atomic_upper_bound); \
+ DYNSYM (isl_printer_print_ast_node); \
+ DYNSYM (isl_printer_print_str); \
+ DYNSYM (isl_printer_set_output_format); \
+ DYNSYM (isl_pw_aff_mod_val); \
+ DYNSYM (isl_schedule_constraints_compute_schedule); \
+ DYNSYM (isl_schedule_constraints_on_domain); \
+ DYNSYM (isl_schedule_constraints_set_coincidence); \
+ DYNSYM (isl_schedule_constraints_set_proximity); \
+ DYNSYM (isl_schedule_constraints_set_validity); \
+ DYNSYM (isl_set_get_dim_id); \
+ DYNSYM (isl_set_max_val); \
+ DYNSYM (isl_set_min_val); \
+ DYNSYM (isl_set_params); \
+ DYNSYM (isl_space_align_params); \
+ DYNSYM (isl_space_map_from_domain_and_range); \
+ DYNSYM (isl_space_set_tuple_name); \
+ DYNSYM (isl_space_wrap); \
+ DYNSYM (isl_union_map_from_domain_and_range); \
+ DYNSYM (isl_union_map_range); \
+ DYNSYM (isl_union_set_union); \
+ DYNSYM (isl_union_set_universe); \
+ DYNSYM (isl_val_2exp); \
+ DYNSYM (isl_val_add_ui); \
+ DYNSYM (isl_val_copy); \
+ DYNSYM (isl_val_free); \
+ DYNSYM (isl_val_int_from_si); \
+ DYNSYM (isl_val_int_from_ui); \
+ DYNSYM (isl_val_mul); \
+ DYNSYM (isl_val_neg); \
+ DYNSYM (isl_val_sub); \
+ DYNSYM (isl_printer_print_union_map); \
+ DYNSYM (isl_pw_aff_get_ctx); \
+ DYNSYM (isl_val_is_int); \
+ DYNSYM (isl_ctx_get_max_operations); \
+ DYNSYM (isl_ctx_set_max_operations); \
+ DYNSYM (isl_ctx_last_error); \
+ DYNSYM (isl_ctx_reset_operations); \
+ DYNSYM (isl_map_coalesce); \
+ DYNSYM (isl_printer_print_schedule); \
+ DYNSYM (isl_set_set_dim_id); \
+ DYNSYM (isl_union_map_coalesce); \
+ DYNSYM (isl_multi_val_set_val); \
+ DYNSYM (isl_multi_val_zero); \
+ DYNSYM (isl_options_set_schedule_max_coefficient); \
+ DYNSYM (isl_options_set_tile_scale_tile_loops); \
+ DYNSYM (isl_schedule_copy); \
+ DYNSYM (isl_schedule_get_map); \
+ DYNSYM (isl_schedule_map_schedule_node_bottom_up); \
+ DYNSYM (isl_schedule_node_band_get_permutable); \
+ DYNSYM (isl_schedule_node_band_get_space); \
+ DYNSYM (isl_schedule_node_band_tile); \
+ DYNSYM (isl_schedule_node_child); \
+ DYNSYM (isl_schedule_node_free); \
+ DYNSYM (isl_schedule_node_get_child); \
+ DYNSYM (isl_schedule_node_get_ctx); \
+ DYNSYM (isl_schedule_node_get_type); \
+ DYNSYM (isl_schedule_node_n_children); \
+ DYNSYM (isl_union_map_is_equal); \
+ DYNSYM (isl_union_access_info_compute_flow); \
+ DYNSYM (isl_union_access_info_from_sink); \
+ DYNSYM (isl_union_access_info_set_may_source); \
+ DYNSYM (isl_union_access_info_set_must_source); \
+ DYNSYM (isl_union_access_info_set_schedule); \
+ DYNSYM (isl_union_flow_free); \
+ DYNSYM (isl_union_flow_get_may_dependence); \
+ DYNSYM (isl_union_flow_get_must_dependence); \
+ DYNSYM (isl_aff_var_on_domain); \
+ DYNSYM (isl_multi_aff_from_aff); \
+ DYNSYM (isl_schedule_get_ctx); \
+ DYNSYM (isl_multi_aff_set_tuple_id); \
+ DYNSYM (isl_multi_aff_dim); \
+ DYNSYM (isl_schedule_get_domain); \
+ DYNSYM (isl_union_set_is_empty); \
+ DYNSYM (isl_union_set_get_space); \
+ DYNSYM (isl_union_pw_multi_aff_empty); \
+ DYNSYM (isl_union_set_foreach_set); \
+ DYNSYM (isl_union_set_free); \
+ DYNSYM (isl_multi_union_pw_aff_from_union_pw_multi_aff); \
+ DYNSYM (isl_multi_union_pw_aff_apply_multi_aff); \
+ DYNSYM (isl_schedule_insert_partial_schedule); \
+ DYNSYM (isl_union_pw_multi_aff_free); \
+ DYNSYM (isl_pw_multi_aff_project_out_map); \
+ DYNSYM (isl_union_pw_multi_aff_add_pw_multi_aff); \
+ DYNSYM (isl_schedule_from_domain); \
+ DYNSYM (isl_schedule_sequence); \
+ DYNSYM (isl_ast_build_node_from_schedule); \
+ DYNSYM (isl_ast_node_mark_get_node); \
+ DYNSYM (isl_schedule_node_band_member_get_ast_loop_type); \
+ DYNSYM (isl_schedule_node_band_member_set_ast_loop_type); \
+ DYNSYM (isl_val_n_abs_num_chunks); \
+ DYNSYM (isl_val_get_abs_num_chunks); \
+ DYNSYM (isl_val_int_from_chunks); \
+ DYNSYM (isl_val_is_neg); \
+ DYNSYM (isl_version); \
+ DYNSYM (isl_options_get_on_error); \
+ DYNSYM (isl_ctx_reset_error);
+
+extern struct isl_pointers_s__
+{
+ bool inited;
+ void *h;
+#define DYNSYM(x) __typeof (x) *p_##x
+ DYNSYMS
+#undef DYNSYM
+} isl_pointers__;
+
+#define isl_aff_add_coefficient_si (*isl_pointers__.p_isl_aff_add_coefficient_si)
+#define isl_aff_free (*isl_pointers__.p_isl_aff_free)
+#define isl_aff_get_space (*isl_pointers__.p_isl_aff_get_space)
+#define isl_aff_set_coefficient_si (*isl_pointers__.p_isl_aff_set_coefficient_si)
+#define isl_aff_set_constant_si (*isl_pointers__.p_isl_aff_set_constant_si)
+#define isl_aff_zero_on_domain (*isl_pointers__.p_isl_aff_zero_on_domain)
+#define isl_band_free (*isl_pointers__.p_isl_band_free)
+#define isl_band_get_children (*isl_pointers__.p_isl_band_get_children)
+#define isl_band_get_partial_schedule (*isl_pointers__.p_isl_band_get_partial_schedule)
+#define isl_band_has_children (*isl_pointers__.p_isl_band_has_children)
+#define isl_band_list_free (*isl_pointers__.p_isl_band_list_free)
+#define isl_band_list_get_band (*isl_pointers__.p_isl_band_list_get_band)
+#define isl_band_list_get_ctx (*isl_pointers__.p_isl_band_list_get_ctx)
+#define isl_band_list_n_band (*isl_pointers__.p_isl_band_list_n_band)
+#define isl_band_n_member (*isl_pointers__.p_isl_band_n_member)
+#define isl_basic_map_add_constraint (*isl_pointers__.p_isl_basic_map_add_constraint)
+#define isl_basic_map_project_out (*isl_pointers__.p_isl_basic_map_project_out)
+#define isl_basic_map_universe (*isl_pointers__.p_isl_basic_map_universe)
+#define isl_constraint_set_coefficient_si (*isl_pointers__.p_isl_constraint_set_coefficient_si)
+#define isl_constraint_set_constant_si (*isl_pointers__.p_isl_constraint_set_constant_si)
+#define isl_ctx_alloc (*isl_pointers__.p_isl_ctx_alloc)
+#define isl_ctx_free (*isl_pointers__.p_isl_ctx_free)
+#define isl_equality_alloc (*isl_pointers__.p_isl_equality_alloc)
+#define isl_id_alloc (*isl_pointers__.p_isl_id_alloc)
+#define isl_id_copy (*isl_pointers__.p_isl_id_copy)
+#define isl_id_free (*isl_pointers__.p_isl_id_free)
+#define isl_inequality_alloc (*isl_pointers__.p_isl_inequality_alloc)
+#define isl_local_space_copy (*isl_pointers__.p_isl_local_space_copy)
+#define isl_local_space_free (*isl_pointers__.p_isl_local_space_free)
+#define isl_local_space_from_space (*isl_pointers__.p_isl_local_space_from_space)
+#define isl_local_space_range (*isl_pointers__.p_isl_local_space_range)
+#define isl_map_add_constraint (*isl_pointers__.p_isl_map_add_constraint)
+#define isl_map_add_dims (*isl_pointers__.p_isl_map_add_dims)
+#define isl_map_align_params (*isl_pointers__.p_isl_map_align_params)
+#define isl_map_apply_range (*isl_pointers__.p_isl_map_apply_range)
+#define isl_map_copy (*isl_pointers__.p_isl_map_copy)
+#define isl_map_dim (*isl_pointers__.p_isl_map_dim)
+#define isl_map_dump (*isl_pointers__.p_isl_map_dump)
+#define isl_map_equate (*isl_pointers__.p_isl_map_equate)
+#define isl_map_fix_si (*isl_pointers__.p_isl_map_fix_si)
+#define isl_map_flat_product (*isl_pointers__.p_isl_map_flat_product)
+#define isl_map_flat_range_product (*isl_pointers__.p_isl_map_flat_range_product)
+#define isl_map_free (*isl_pointers__.p_isl_map_free)
+#define isl_map_from_basic_map (*isl_pointers__.p_isl_map_from_basic_map)
+#define isl_map_from_pw_aff (*isl_pointers__.p_isl_map_from_pw_aff)
+#define isl_map_from_union_map (*isl_pointers__.p_isl_map_from_union_map)
+#define isl_map_get_ctx (*isl_pointers__.p_isl_map_get_ctx)
+#define isl_map_get_space (*isl_pointers__.p_isl_map_get_space)
+#define isl_map_get_tuple_id (*isl_pointers__.p_isl_map_get_tuple_id)
+#define isl_map_insert_dims (*isl_pointers__.p_isl_map_insert_dims)
+#define isl_map_intersect (*isl_pointers__.p_isl_map_intersect)
+#define isl_map_intersect_domain (*isl_pointers__.p_isl_map_intersect_domain)
+#define isl_map_intersect_range (*isl_pointers__.p_isl_map_intersect_range)
+#define isl_map_is_empty (*isl_pointers__.p_isl_map_is_empty)
+#define isl_map_lex_ge (*isl_pointers__.p_isl_map_lex_ge)
+#define isl_map_lex_le (*isl_pointers__.p_isl_map_lex_le)
+#define isl_map_n_out (*isl_pointers__.p_isl_map_n_out)
+#define isl_map_range (*isl_pointers__.p_isl_map_range)
+#define isl_map_set_tuple_id (*isl_pointers__.p_isl_map_set_tuple_id)
+#define isl_map_universe (*isl_pointers__.p_isl_map_universe)
+#define isl_options_set_on_error (*isl_pointers__.p_isl_options_set_on_error)
+#define isl_options_set_schedule_serialize_sccs (*isl_pointers__.p_isl_options_set_schedule_serialize_sccs)
+#define isl_printer_set_yaml_style (*isl_pointers__.p_isl_printer_set_yaml_style)
+#define isl_options_set_schedule_max_constant_term (*isl_pointers__.p_isl_options_set_schedule_max_constant_term)
+#define isl_options_set_schedule_maximize_band_depth (*isl_pointers__.p_isl_options_set_schedule_maximize_band_depth)
+#define isl_printer_free (*isl_pointers__.p_isl_printer_free)
+#define isl_printer_print_aff (*isl_pointers__.p_isl_printer_print_aff)
+#define isl_printer_print_constraint (*isl_pointers__.p_isl_printer_print_constraint)
+#define isl_printer_print_map (*isl_pointers__.p_isl_printer_print_map)
+#define isl_printer_print_set (*isl_pointers__.p_isl_printer_print_set)
+#define isl_printer_to_file (*isl_pointers__.p_isl_printer_to_file)
+#define isl_pw_aff_add (*isl_pointers__.p_isl_pw_aff_add)
+#define isl_pw_aff_alloc (*isl_pointers__.p_isl_pw_aff_alloc)
+#define isl_pw_aff_copy (*isl_pointers__.p_isl_pw_aff_copy)
+#define isl_pw_aff_eq_set (*isl_pointers__.p_isl_pw_aff_eq_set)
+#define isl_pw_aff_free (*isl_pointers__.p_isl_pw_aff_free)
+#define isl_pw_aff_from_aff (*isl_pointers__.p_isl_pw_aff_from_aff)
+#define isl_pw_aff_ge_set (*isl_pointers__.p_isl_pw_aff_ge_set)
+#define isl_pw_aff_gt_set (*isl_pointers__.p_isl_pw_aff_gt_set)
+#define isl_pw_aff_is_cst (*isl_pointers__.p_isl_pw_aff_is_cst)
+#define isl_pw_aff_le_set (*isl_pointers__.p_isl_pw_aff_le_set)
+#define isl_pw_aff_lt_set (*isl_pointers__.p_isl_pw_aff_lt_set)
+#define isl_pw_aff_mul (*isl_pointers__.p_isl_pw_aff_mul)
+#define isl_pw_aff_ne_set (*isl_pointers__.p_isl_pw_aff_ne_set)
+#define isl_pw_aff_nonneg_set (*isl_pointers__.p_isl_pw_aff_nonneg_set)
+#define isl_pw_aff_set_tuple_id (*isl_pointers__.p_isl_pw_aff_set_tuple_id)
+#define isl_pw_aff_sub (*isl_pointers__.p_isl_pw_aff_sub)
+#define isl_pw_aff_zero_set (*isl_pointers__.p_isl_pw_aff_zero_set)
+#define isl_schedule_free (*isl_pointers__.p_isl_schedule_free)
+#define isl_schedule_get_band_forest (*isl_pointers__.p_isl_schedule_get_band_forest)
+#define isl_set_add_constraint (*isl_pointers__.p_isl_set_add_constraint)
+#define isl_set_add_dims (*isl_pointers__.p_isl_set_add_dims)
+#define isl_set_apply (*isl_pointers__.p_isl_set_apply)
+#define isl_set_coalesce (*isl_pointers__.p_isl_set_coalesce)
+#define isl_set_copy (*isl_pointers__.p_isl_set_copy)
+#define isl_set_dim (*isl_pointers__.p_isl_set_dim)
+#define isl_set_fix_si (*isl_pointers__.p_isl_set_fix_si)
+#define isl_set_free (*isl_pointers__.p_isl_set_free)
+#define isl_set_get_space (*isl_pointers__.p_isl_set_get_space)
+#define isl_set_get_tuple_id (*isl_pointers__.p_isl_set_get_tuple_id)
+#define isl_set_intersect (*isl_pointers__.p_isl_set_intersect)
+#define isl_set_is_empty (*isl_pointers__.p_isl_set_is_empty)
+#define isl_set_n_dim (*isl_pointers__.p_isl_set_n_dim)
+#define isl_set_nat_universe (*isl_pointers__.p_isl_set_nat_universe)
+#define isl_set_project_out (*isl_pointers__.p_isl_set_project_out)
+#define isl_set_set_tuple_id (*isl_pointers__.p_isl_set_set_tuple_id)
+#define isl_set_universe (*isl_pointers__.p_isl_set_universe)
+#define isl_space_add_dims (*isl_pointers__.p_isl_space_add_dims)
+#define isl_space_alloc (*isl_pointers__.p_isl_space_alloc)
+#define isl_space_copy (*isl_pointers__.p_isl_space_copy)
+#define isl_space_dim (*isl_pointers__.p_isl_space_dim)
+#define isl_space_domain (*isl_pointers__.p_isl_space_domain)
+#define isl_space_find_dim_by_id (*isl_pointers__.p_isl_space_find_dim_by_id)
+#define isl_space_free (*isl_pointers__.p_isl_space_free)
+#define isl_space_from_domain (*isl_pointers__.p_isl_space_from_domain)
+#define isl_space_get_tuple_id (*isl_pointers__.p_isl_space_get_tuple_id)
+#define isl_space_params_alloc (*isl_pointers__.p_isl_space_params_alloc)
+#define isl_space_range (*isl_pointers__.p_isl_space_range)
+#define isl_space_set_alloc (*isl_pointers__.p_isl_space_set_alloc)
+#define isl_space_set_dim_id (*isl_pointers__.p_isl_space_set_dim_id)
+#define isl_space_set_tuple_id (*isl_pointers__.p_isl_space_set_tuple_id)
+#define isl_union_map_add_map (*isl_pointers__.p_isl_union_map_add_map)
+#define isl_union_map_align_params (*isl_pointers__.p_isl_union_map_align_params)
+#define isl_union_map_apply_domain (*isl_pointers__.p_isl_union_map_apply_domain)
+#define isl_union_map_apply_range (*isl_pointers__.p_isl_union_map_apply_range)
+#define isl_union_map_compute_flow (*isl_pointers__.p_isl_union_map_compute_flow)
+#define isl_union_map_copy (*isl_pointers__.p_isl_union_map_copy)
+#define isl_union_map_empty (*isl_pointers__.p_isl_union_map_empty)
+#define isl_union_map_flat_range_product (*isl_pointers__.p_isl_union_map_flat_range_product)
+#define isl_union_map_foreach_map (*isl_pointers__.p_isl_union_map_foreach_map)
+#define isl_union_map_free (*isl_pointers__.p_isl_union_map_free)
+#define isl_union_map_from_map (*isl_pointers__.p_isl_union_map_from_map)
+#define isl_union_map_get_ctx (*isl_pointers__.p_isl_union_map_get_ctx)
+#define isl_union_map_get_space (*isl_pointers__.p_isl_union_map_get_space)
+#define isl_union_map_gist_domain (*isl_pointers__.p_isl_union_map_gist_domain)
+#define isl_union_map_gist_range (*isl_pointers__.p_isl_union_map_gist_range)
+#define isl_union_map_intersect_domain (*isl_pointers__.p_isl_union_map_intersect_domain)
+#define isl_union_map_is_empty (*isl_pointers__.p_isl_union_map_is_empty)
+#define isl_union_map_subtract (*isl_pointers__.p_isl_union_map_subtract)
+#define isl_union_map_union (*isl_pointers__.p_isl_union_map_union)
+#define isl_union_set_add_set (*isl_pointers__.p_isl_union_set_add_set)
+#define isl_union_set_compute_schedule (*isl_pointers__.p_isl_union_set_compute_schedule)
+#define isl_union_set_copy (*isl_pointers__.p_isl_union_set_copy)
+#define isl_union_set_empty (*isl_pointers__.p_isl_union_set_empty)
+#define isl_union_set_from_set (*isl_pointers__.p_isl_union_set_from_set)
+#define isl_aff_add_constant_val (*isl_pointers__.p_isl_aff_add_constant_val)
+#define isl_aff_get_coefficient_val (*isl_pointers__.p_isl_aff_get_coefficient_val)
+#define isl_aff_get_ctx (*isl_pointers__.p_isl_aff_get_ctx)
+#define isl_aff_mod_val (*isl_pointers__.p_isl_aff_mod_val)
+#define isl_ast_build_ast_from_schedule (*isl_pointers__.p_isl_ast_build_ast_from_schedule)
+#define isl_ast_build_free (*isl_pointers__.p_isl_ast_build_free)
+#define isl_ast_build_from_context (*isl_pointers__.p_isl_ast_build_from_context)
+#define isl_ast_build_get_ctx (*isl_pointers__.p_isl_ast_build_get_ctx)
+#define isl_ast_build_get_schedule (*isl_pointers__.p_isl_ast_build_get_schedule)
+#define isl_ast_build_get_schedule_space (*isl_pointers__.p_isl_ast_build_get_schedule_space)
+#define isl_ast_build_set_before_each_for (*isl_pointers__.p_isl_ast_build_set_before_each_for)
+#define isl_ast_build_set_options (*isl_pointers__.p_isl_ast_build_set_options)
+#define isl_ast_expr_free (*isl_pointers__.p_isl_ast_expr_free)
+#define isl_ast_expr_from_val (*isl_pointers__.p_isl_ast_expr_from_val)
+#define isl_ast_expr_get_ctx (*isl_pointers__.p_isl_ast_expr_get_ctx)
+#define isl_ast_expr_get_id (*isl_pointers__.p_isl_ast_expr_get_id)
+#define isl_ast_expr_get_op_arg (*isl_pointers__.p_isl_ast_expr_get_op_arg)
+#define isl_ast_expr_get_op_n_arg (*isl_pointers__.p_isl_ast_expr_get_op_n_arg)
+#define isl_ast_expr_get_op_type (*isl_pointers__.p_isl_ast_expr_get_op_type)
+#define isl_ast_expr_get_type (*isl_pointers__.p_isl_ast_expr_get_type)
+#define isl_ast_expr_get_val (*isl_pointers__.p_isl_ast_expr_get_val)
+#define isl_ast_expr_sub (*isl_pointers__.p_isl_ast_expr_sub)
+#define isl_ast_node_block_get_children (*isl_pointers__.p_isl_ast_node_block_get_children)
+#define isl_ast_node_for_get_body (*isl_pointers__.p_isl_ast_node_for_get_body)
+#define isl_ast_node_for_get_cond (*isl_pointers__.p_isl_ast_node_for_get_cond)
+#define isl_ast_node_for_get_inc (*isl_pointers__.p_isl_ast_node_for_get_inc)
+#define isl_ast_node_for_get_init (*isl_pointers__.p_isl_ast_node_for_get_init)
+#define isl_ast_node_for_get_iterator (*isl_pointers__.p_isl_ast_node_for_get_iterator)
+#define isl_ast_node_free (*isl_pointers__.p_isl_ast_node_free)
+#define isl_ast_node_get_annotation (*isl_pointers__.p_isl_ast_node_get_annotation)
+#define isl_ast_node_get_type (*isl_pointers__.p_isl_ast_node_get_type)
+#define isl_ast_node_if_get_cond (*isl_pointers__.p_isl_ast_node_if_get_cond)
+#define isl_ast_node_if_get_else (*isl_pointers__.p_isl_ast_node_if_get_else)
+#define isl_ast_node_if_get_then (*isl_pointers__.p_isl_ast_node_if_get_then)
+#define isl_ast_node_list_free (*isl_pointers__.p_isl_ast_node_list_free)
+#define isl_ast_node_list_get_ast_node (*isl_pointers__.p_isl_ast_node_list_get_ast_node)
+#define isl_ast_node_list_n_ast_node (*isl_pointers__.p_isl_ast_node_list_n_ast_node)
+#define isl_ast_node_user_get_expr (*isl_pointers__.p_isl_ast_node_user_get_expr)
+#define isl_constraint_set_coefficient_val (*isl_pointers__.p_isl_constraint_set_coefficient_val)
+#define isl_constraint_set_constant_val (*isl_pointers__.p_isl_constraint_set_constant_val)
+#define isl_id_get_user (*isl_pointers__.p_isl_id_get_user)
+#define isl_local_space_get_ctx (*isl_pointers__.p_isl_local_space_get_ctx)
+#define isl_map_fix_val (*isl_pointers__.p_isl_map_fix_val)
+#define isl_options_set_ast_build_atomic_upper_bound (*isl_pointers__.p_isl_options_set_ast_build_atomic_upper_bound)
+#define isl_printer_print_ast_node (*isl_pointers__.p_isl_printer_print_ast_node)
+#define isl_printer_print_str (*isl_pointers__.p_isl_printer_print_str)
+#define isl_printer_set_output_format (*isl_pointers__.p_isl_printer_set_output_format)
+#define isl_pw_aff_mod_val (*isl_pointers__.p_isl_pw_aff_mod_val)
+#define isl_schedule_constraints_compute_schedule (*isl_pointers__.p_isl_schedule_constraints_compute_schedule)
+#define isl_schedule_constraints_on_domain (*isl_pointers__.p_isl_schedule_constraints_on_domain)
+#define isl_schedule_constraints_set_coincidence (*isl_pointers__.p_isl_schedule_constraints_set_coincidence)
+#define isl_schedule_constraints_set_proximity (*isl_pointers__.p_isl_schedule_constraints_set_proximity)
+#define isl_schedule_constraints_set_validity (*isl_pointers__.p_isl_schedule_constraints_set_validity)
+#define isl_set_get_dim_id (*isl_pointers__.p_isl_set_get_dim_id)
+#define isl_set_max_val (*isl_pointers__.p_isl_set_max_val)
+#define isl_set_min_val (*isl_pointers__.p_isl_set_min_val)
+#define isl_set_params (*isl_pointers__.p_isl_set_params)
+#define isl_space_align_params (*isl_pointers__.p_isl_space_align_params)
+#define isl_space_map_from_domain_and_range (*isl_pointers__.p_isl_space_map_from_domain_and_range)
+#define isl_space_set_tuple_name (*isl_pointers__.p_isl_space_set_tuple_name)
+#define isl_space_wrap (*isl_pointers__.p_isl_space_wrap)
+#define isl_union_map_from_domain_and_range (*isl_pointers__.p_isl_union_map_from_domain_and_range)
+#define isl_union_map_range (*isl_pointers__.p_isl_union_map_range)
+#define isl_union_set_union (*isl_pointers__.p_isl_union_set_union)
+#define isl_union_set_universe (*isl_pointers__.p_isl_union_set_universe)
+#define isl_val_2exp (*isl_pointers__.p_isl_val_2exp)
+#define isl_val_add_ui (*isl_pointers__.p_isl_val_add_ui)
+#define isl_val_copy (*isl_pointers__.p_isl_val_copy)
+#define isl_val_free (*isl_pointers__.p_isl_val_free)
+#define isl_val_int_from_si (*isl_pointers__.p_isl_val_int_from_si)
+#define isl_val_int_from_ui (*isl_pointers__.p_isl_val_int_from_ui)
+#define isl_val_mul (*isl_pointers__.p_isl_val_mul)
+#define isl_val_neg (*isl_pointers__.p_isl_val_neg)
+#define isl_val_sub (*isl_pointers__.p_isl_val_sub)
+#define isl_printer_print_union_map (*isl_pointers__.p_isl_printer_print_union_map)
+#define isl_pw_aff_get_ctx (*isl_pointers__.p_isl_pw_aff_get_ctx)
+#define isl_val_is_int (*isl_pointers__.p_isl_val_is_int)
+#define isl_ctx_get_max_operations (*isl_pointers__.p_isl_ctx_get_max_operations)
+#define isl_ctx_set_max_operations (*isl_pointers__.p_isl_ctx_set_max_operations)
+#define isl_ctx_last_error (*isl_pointers__.p_isl_ctx_last_error)
+#define isl_ctx_reset_operations (*isl_pointers__.p_isl_ctx_reset_operations)
+#define isl_map_coalesce (*isl_pointers__.p_isl_map_coalesce)
+#define isl_printer_print_schedule (*isl_pointers__.p_isl_printer_print_schedule)
+#define isl_set_set_dim_id (*isl_pointers__.p_isl_set_set_dim_id)
+#define isl_union_map_coalesce (*isl_pointers__.p_isl_union_map_coalesce)
+#define isl_multi_val_set_val (*isl_pointers__.p_isl_multi_val_set_val)
+#define isl_multi_val_zero (*isl_pointers__.p_isl_multi_val_zero)
+#define isl_options_set_schedule_max_coefficient (*isl_pointers__.p_isl_options_set_schedule_max_coefficient)
+#define isl_options_set_tile_scale_tile_loops (*isl_pointers__.p_isl_options_set_tile_scale_tile_loops)
+#define isl_schedule_copy (*isl_pointers__.p_isl_schedule_copy)
+#define isl_schedule_get_map (*isl_pointers__.p_isl_schedule_get_map)
+#define isl_schedule_map_schedule_node_bottom_up (*isl_pointers__.p_isl_schedule_map_schedule_node_bottom_up)
+#define isl_schedule_node_band_get_permutable (*isl_pointers__.p_isl_schedule_node_band_get_permutable)
+#define isl_schedule_node_band_get_space (*isl_pointers__.p_isl_schedule_node_band_get_space)
+#define isl_schedule_node_band_tile (*isl_pointers__.p_isl_schedule_node_band_tile)
+#define isl_schedule_node_child (*isl_pointers__.p_isl_schedule_node_child)
+#define isl_schedule_node_free (*isl_pointers__.p_isl_schedule_node_free)
+#define isl_schedule_node_get_child (*isl_pointers__.p_isl_schedule_node_get_child)
+#define isl_schedule_node_get_ctx (*isl_pointers__.p_isl_schedule_node_get_ctx)
+#define isl_schedule_node_get_type (*isl_pointers__.p_isl_schedule_node_get_type)
+#define isl_schedule_node_n_children (*isl_pointers__.p_isl_schedule_node_n_children)
+#define isl_union_map_is_equal (*isl_pointers__.p_isl_union_map_is_equal)
+#define isl_union_access_info_compute_flow (*isl_pointers__.p_isl_union_access_info_compute_flow)
+#define isl_union_access_info_from_sink (*isl_pointers__.p_isl_union_access_info_from_sink)
+#define isl_union_access_info_set_may_source (*isl_pointers__.p_isl_union_access_info_set_may_source)
+#define isl_union_access_info_set_must_source (*isl_pointers__.p_isl_union_access_info_set_must_source)
+#define isl_union_access_info_set_schedule (*isl_pointers__.p_isl_union_access_info_set_schedule)
+#define isl_union_flow_free (*isl_pointers__.p_isl_union_flow_free)
+#define isl_union_flow_get_may_dependence (*isl_pointers__.p_isl_union_flow_get_may_dependence)
+#define isl_union_flow_get_must_dependence (*isl_pointers__.p_isl_union_flow_get_must_dependence)
+#define isl_aff_var_on_domain (*isl_pointers__.p_isl_aff_var_on_domain)
+#define isl_multi_aff_from_aff (*isl_pointers__.p_isl_multi_aff_from_aff)
+#define isl_schedule_get_ctx (*isl_pointers__.p_isl_schedule_get_ctx)
+#define isl_multi_aff_set_tuple_id (*isl_pointers__.p_isl_multi_aff_set_tuple_id)
+#define isl_multi_aff_dim (*isl_pointers__.p_isl_multi_aff_dim)
+#define isl_schedule_get_domain (*isl_pointers__.p_isl_schedule_get_domain)
+#define isl_union_set_is_empty (*isl_pointers__.p_isl_union_set_is_empty)
+#define isl_union_set_get_space (*isl_pointers__.p_isl_union_set_get_space)
+#define isl_union_pw_multi_aff_empty (*isl_pointers__.p_isl_union_pw_multi_aff_empty)
+#define isl_union_set_foreach_set (*isl_pointers__.p_isl_union_set_foreach_set)
+#define isl_union_set_free (*isl_pointers__.p_isl_union_set_free)
+#define isl_multi_union_pw_aff_from_union_pw_multi_aff (*isl_pointers__.p_isl_multi_union_pw_aff_from_union_pw_multi_aff)
+#define isl_multi_union_pw_aff_apply_multi_aff (*isl_pointers__.p_isl_multi_union_pw_aff_apply_multi_aff)
+#define isl_schedule_insert_partial_schedule (*isl_pointers__.p_isl_schedule_insert_partial_schedule)
+#define isl_union_pw_multi_aff_free (*isl_pointers__.p_isl_union_pw_multi_aff_free)
+#define isl_pw_multi_aff_project_out_map (*isl_pointers__.p_isl_pw_multi_aff_project_out_map)
+#define isl_union_pw_multi_aff_add_pw_multi_aff (*isl_pointers__.p_isl_union_pw_multi_aff_add_pw_multi_aff)
+#define isl_schedule_from_domain (*isl_pointers__.p_isl_schedule_from_domain)
+#define isl_schedule_sequence (*isl_pointers__.p_isl_schedule_sequence)
+#define isl_ast_build_node_from_schedule (*isl_pointers__.p_isl_ast_build_node_from_schedule)
+#define isl_ast_node_mark_get_node (*isl_pointers__.p_isl_ast_node_mark_get_node)
+#define isl_schedule_node_band_member_get_ast_loop_type (*isl_pointers__.p_isl_schedule_node_band_member_get_ast_loop_type)
+#define isl_schedule_node_band_member_set_ast_loop_type (*isl_pointers__.p_isl_schedule_node_band_member_set_ast_loop_type)
+#define isl_val_n_abs_num_chunks (*isl_pointers__.p_isl_val_n_abs_num_chunks)
+#define isl_val_get_abs_num_chunks (*isl_pointers__.p_isl_val_get_abs_num_chunks)
+#define isl_val_int_from_chunks (*isl_pointers__.p_isl_val_int_from_chunks)
+#define isl_val_is_neg (*isl_pointers__.p_isl_val_is_neg)
+#define isl_version (*isl_pointers__.p_isl_version)
+#define isl_options_get_on_error (*isl_pointers__.p_isl_options_get_on_error)
+#define isl_ctx_reset_error (*isl_pointers__.p_isl_ctx_reset_error)
typedef struct poly_dr *poly_dr_p;
@@ -461,5 +1045,6 @@ extern void build_scops (vec<scop_p> *);
extern void dot_all_sese (FILE *, vec<sese_l> &);
extern void dot_sese (sese_l &);
extern void dot_cfg ();
+extern const char *get_isl_version (bool);
#endif
--- gcc/graphite.c.jj 2015-11-04 14:15:32.000000000 +0100
+++ gcc/graphite.c 2015-11-04 14:56:02.645536409 +0100
@@ -60,6 +60,35 @@ along with GCC; see the file COPYING3.
#include "tree-into-ssa.h"
#include "graphite.h"
+__typeof (isl_pointers__) isl_pointers__;
+
+static bool
+init_isl_pointers (void)
+{
+ void *h;
+
+ if (isl_pointers__.inited)
+ return isl_pointers__.h != NULL;
+ h = dlopen ("libisl.so.15", RTLD_LAZY);
+ isl_pointers__.h = h;
+ if (h == NULL)
+ return false;
+#define DYNSYM(x) \
+ do \
+ { \
+ union { __typeof (isl_pointers__.p_##x) p; void *q; } u; \
+ u.q = dlsym (h, #x); \
+ if (u.q == NULL) \
+ return false; \
+ isl_pointers__.p_##x = u.p; \
+ } \
+ while (0)
+ DYNSYMS
+#undef DYNSYM
+ isl_pointers__.inited = true;
+ return true;
+}
+
/* Print global statistics to FILE. */
static void
@@ -365,6 +394,15 @@ graphite_transform_loops (void)
if (parallelized_function_p (cfun->decl))
return;
+ if (number_of_loops (cfun) <= 1)
+ return;
+
+ if (!init_isl_pointers ())
+ {
+ sorry ("Graphite loop optimizations cannot be used");
+ return;
+ }
+
calculate_dominance_info (CDI_DOMINATORS);
/* We rely on post-dominators during merging of SESE regions so those
@@ -455,6 +493,14 @@ graphite_transform_loops (void)
}
}
+const char *
+get_isl_version (bool force)
+{
+ if (force)
+ init_isl_pointers ();
+ return (isl_pointers__.inited && isl_version) ? isl_version () : "none";
+}
+
#else /* If isl is not available: #ifndef HAVE_isl. */
static void
--- gcc/toplev.c.jj 2017-02-19 13:02:31.000000000 +0100
+++ gcc/toplev.c 2017-02-19 16:50:25.536301350 +0100
@@ -94,6 +94,7 @@ along with GCC; see the file COPYING3.
#ifdef HAVE_isl
#include <isl/version.h>
+extern const char *get_isl_version (bool);
#endif
static void general_init (const char *, bool);
@@ -683,7 +684,7 @@ print_version (FILE *file, const char *i
#ifndef HAVE_isl
"none"
#else
- isl_version ()
+ get_isl_version (*indent == 0)
#endif
);
if (strcmp (GCC_GMP_STRINGIFY_VERSION, gmp_version))

View File

@ -0,0 +1,24 @@
--- libstdc++-v3/doc/html/index.html.jj 2011-01-03 12:53:21.282829010 +0100
+++ libstdc++-v3/doc/html/index.html 2011-01-04 18:06:28.999851145 +0100
@@ -5,6 +5,8 @@
<a class="link" href="https://www.fsf.org" target="_top">FSF
</a>
</p><p>
+ Release 10.0.1
+ </p><p>
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation
License, Version 1.2 or any later version published by the
--- libstdc++-v3/doc/html/api.html.jj 2011-01-03 12:53:21.000000000 +0100
+++ libstdc++-v3/doc/html/api.html 2011-01-04 18:12:01.672757784 +0100
@@ -20,7 +20,9 @@
member functions for the library classes, finding out what is in a
particular include file, looking at inheritance diagrams, etc.
</p><p>
- The API documentation, rendered into HTML, can be viewed online
+ The API documentation, rendered into HTML, can be viewed locally
+ <a class="link" href="api/index.html" target="_top">for the 10.0.1 release</a>,
+ online
<a class="link" href="http://gcc.gnu.org/onlinedocs/" target="_top">for each GCC release</a>
and
<a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html" target="_top">

37
gcc10-no-add-needed.patch Normal file
View File

@ -0,0 +1,37 @@
2010-02-08 Roland McGrath <roland@redhat.com>
* config/gnu-user.h (LINK_EH_SPEC): Pass --no-add-needed to the linker.
* config/alpha/elf.h (LINK_EH_SPEC): Likewise.
* config/ia64/linux.h (LINK_EH_SPEC): Likewise.
--- gcc/config/alpha/elf.h.jj 2011-01-03 12:52:31.118056764 +0100
+++ gcc/config/alpha/elf.h 2011-01-04 18:14:10.931874160 +0100
@@ -168,5 +168,5 @@ extern int alpha_this_gpdisp_sequence_nu
I imagine that other systems will catch up. In the meantime, it
doesn't harm to make sure that the data exists to be used later. */
#if defined(HAVE_LD_EH_FRAME_HDR)
-#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
+#define LINK_EH_SPEC "--no-add-needed %{!static|static-pie:--eh-frame-hdr} "
#endif
--- gcc/config/ia64/linux.h.jj 2011-01-03 13:02:11.462994522 +0100
+++ gcc/config/ia64/linux.h 2011-01-04 18:14:10.931874160 +0100
@@ -76,7 +76,7 @@ do { \
Signalize that because we have fde-glibc, we don't need all C shared libs
linked against -lgcc_s. */
#undef LINK_EH_SPEC
-#define LINK_EH_SPEC ""
+#define LINK_EH_SPEC "--no-add-needed "
#undef TARGET_INIT_LIBFUNCS
#define TARGET_INIT_LIBFUNCS ia64_soft_fp_init_libfuncs
--- gcc/config/gnu-user.h.jj 2011-01-03 12:53:03.739057299 +0100
+++ gcc/config/gnu-user.h 2011-01-04 18:14:10.932814884 +0100
@@ -106,7 +106,7 @@ see the files COPYING3 and COPYING.RUNTI
#define LIB_SPEC GNU_USER_TARGET_LIB_SPEC
#if defined(HAVE_LD_EH_FRAME_HDR)
-#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
+#define LINK_EH_SPEC "--no-add-needed %{!static|static-pie:--eh-frame-hdr} "
#endif
#define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \

30
gcc10-rh1574936.patch Normal file
View File

@ -0,0 +1,30 @@
crt files and statically linked libgcc objects cause false positives
in annobin coverage, so we add the assembler flag to generate notes
for them.
The patch also adds notes to libgcc_s.so, but this is harmless because
these notes only confer that there is no other annobin markup.
2018-07-25 Florian Weimer <fweimer@redhat.com>
* Makefile.in (LIBGCC2_CFLAGS, CRTSTUFF_CFLAGS): Add
-Wa,--generate-missing-build-notes=yes.
--- libgcc/Makefile.in 2018-01-13 13:05:41.000000000 +0100
+++ libgcc/Makefile.in 2018-07-25 13:15:02.036226940 +0200
@@ -246,6 +246,7 @@ LIBGCC2_DEBUG_CFLAGS = -g
LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \
$(LIBGCC2_DEBUG_CFLAGS) -DIN_LIBGCC2 \
-fbuilding-libgcc -fno-stack-protector \
+ -Wa,--generate-missing-build-notes=yes \
$(INHIBIT_LIBC_CFLAGS)
# Additional options to use when compiling libgcc2.a.
@@ -301,6 +302,7 @@ CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(IN
$(NO_PIE_CFLAGS) -finhibit-size-directive -fno-inline -fno-exceptions \
-fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \
-fbuilding-libgcc -fno-stack-protector $(FORCE_EXPLICIT_EH_REGISTRY) \
+ -Wa,--generate-missing-build-notes=yes \
$(INHIBIT_LIBC_CFLAGS) $(USE_TM_CLONE_REGISTRY)
# Extra flags to use when compiling crt{begin,end}.o.

View File

@ -0,0 +1,40 @@
--- gcc/config.gcc.jj 2008-04-24 15:42:46.000000000 -0500
+++ gcc/config.gcc 2008-04-24 15:44:51.000000000 -0500
@@ -2790,7 +2790,7 @@ sparc-*-rtems*)
tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
;;
-sparc-*-linux*)
+sparc-*-linux* | sparcv9-*-linux*)
tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
extra_options="${extra_options} sparc/long-double-switch.opt"
case ${target} in
@@ -2844,7 +2844,7 @@ sparc64-*-rtems*)
extra_options="${extra_options}"
tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
;;
-sparc64-*-linux*)
+sparc64*-*-linux*)
tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h"
extra_options="${extra_options} sparc/long-double-switch.opt"
tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
--- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500
+++ libgcc/config.host 2008-04-24 15:46:49.000000000 -0500
@@ -1002,7 +1002,7 @@ sparc-*-elf*)
tmake_file="${tmake_file} t-fdpbit t-crtfm"
extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
;;
-sparc-*-linux*) # SPARC's running GNU/Linux, libc6
+sparc-*-linux* | sparcv9-*-linux*) # SPARC's running GNU/Linux, libc6
tmake_file="${tmake_file} t-crtfm"
if test "${host_address}" = 64; then
tmake_file="$tmake_file sparc/t-linux64"
@@ -1050,7 +1050,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*
tmake_file="$tmake_file t-crtfm"
extra_parts="$extra_parts crtfastmath.o"
;;
-sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
+sparc64*-*-linux*) # 64-bit SPARC's running GNU/Linux
extra_parts="$extra_parts crtfastmath.o"
tmake_file="${tmake_file} t-crtfm sparc/t-linux"
if test "${host_address}" = 64; then

View File

@ -1,52 +0,0 @@
2007-07-22 Roland McGrath <roland@redhat.com>
* config/rs6000/sysv4.h (LINK_EH_SPEC): Add --build-id for
non-relocatable link.
* config/linux.h (LINK_EH_SPEC): Likewise.
* config/alpha/elf.h (LINK_EH_SPEC): Likewise.
* config/ia64/linux.h (LINK_EH_SPEC): Likewise.
--- gcc/config/rs6000/sysv4.h.~1~
+++ gcc/config/rs6000/sysv4.h
@@ -906,7 +906,7 @@ extern int fixuplabelno;
%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
#if defined(HAVE_LD_EH_FRAME_HDR)
-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
+# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
#endif
#define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \
--- gcc/config/linux.h.~1~
+++ gcc/config/linux.h
@@ -85,7 +85,7 @@ Boston, MA 02110-1301, USA. */
} while (0)
#if defined(HAVE_LD_EH_FRAME_HDR)
-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
+#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
#endif
/* Define this so we can compile MS code for use with WINE. */
--- gcc/config/alpha/elf.h.~1~
+++ gcc/config/alpha/elf.h
@@ -421,7 +421,7 @@ extern int alpha_this_gpdisp_sequence_nu
I imagine that other systems will catch up. In the meantime, it
doesn't harm to make sure that the data exists to be used later. */
#if defined(HAVE_LD_EH_FRAME_HDR)
-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
+#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
#endif
/* A C statement (sans semicolon) to output to the stdio stream STREAM
--- gcc/config/ia64/linux.h.~1~
+++ gcc/config/ia64/linux.h
@@ -56,7 +56,7 @@ do { \
Signalize that because we have fde-glibc, we don't need all C shared libs
linked against -lgcc_s. */
#undef LINK_EH_SPEC
-#define LINK_EH_SPEC ""
+#define LINK_EH_SPEC "%{!r:--build-id} "
#define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"

View File

@ -1,102 +0,0 @@
2007-10-02 Jakub Jelinek <jakub@redhat.com>
* decl.c (duplicate_decls): When redeclaring a builtin function,
keep the merged decl builtin whenever types match, even if new
decl defines a function.
* gcc.dg/builtins-65.c: New test.
* g++.dg/ext/builtin10.C: New test.
--- gcc/cp/decl.c.jj 2007-10-01 22:11:09.000000000 +0200
+++ gcc/cp/decl.c 2007-10-02 11:39:46.000000000 +0200
@@ -2001,23 +2001,21 @@ duplicate_decls (tree newdecl, tree oldd
DECL_ARGUMENTS (olddecl) = DECL_ARGUMENTS (newdecl);
DECL_RESULT (olddecl) = DECL_RESULT (newdecl);
}
+ /* If redeclaring a builtin function, it stays built in. */
+ if (types_match && DECL_BUILT_IN (olddecl))
+ {
+ DECL_BUILT_IN_CLASS (newdecl) = DECL_BUILT_IN_CLASS (olddecl);
+ DECL_FUNCTION_CODE (newdecl) = DECL_FUNCTION_CODE (olddecl);
+ /* If we're keeping the built-in definition, keep the rtl,
+ regardless of declaration matches. */
+ COPY_DECL_RTL (olddecl, newdecl);
+ }
if (new_defines_function)
/* If defining a function declared with other language
linkage, use the previously declared language linkage. */
SET_DECL_LANGUAGE (newdecl, DECL_LANGUAGE (olddecl));
else if (types_match)
{
- /* If redeclaring a builtin function, and not a definition,
- it stays built in. */
- if (DECL_BUILT_IN (olddecl))
- {
- DECL_BUILT_IN_CLASS (newdecl) = DECL_BUILT_IN_CLASS (olddecl);
- DECL_FUNCTION_CODE (newdecl) = DECL_FUNCTION_CODE (olddecl);
- /* If we're keeping the built-in definition, keep the rtl,
- regardless of declaration matches. */
- COPY_DECL_RTL (olddecl, newdecl);
- }
-
DECL_RESULT (newdecl) = DECL_RESULT (olddecl);
/* Don't clear out the arguments if we're just redeclaring a
function. */
--- gcc/testsuite/gcc.dg/builtins-65.c.jj 2007-10-02 11:23:51.000000000 +0200
+++ gcc/testsuite/gcc.dg/builtins-65.c 2007-10-02 11:24:12.000000000 +0200
@@ -0,0 +1,25 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+typedef __SIZE_TYPE__ size_t;
+extern void __chk_fail (void);
+extern int snprintf (char *, size_t, const char *, ...);
+extern inline __attribute__((gnu_inline, always_inline)) int snprintf (char *a, size_t b, const char *fmt, ...)
+{
+ if (__builtin_object_size (a, 0) != -1UL && __builtin_object_size (a, 0) < b)
+ __chk_fail ();
+ return __builtin_snprintf (a, b, fmt, __builtin_va_arg_pack ());
+}
+extern int snprintf (char *, size_t, const char *, ...) __asm ("mysnprintf");
+
+char buf[10];
+
+int
+main (void)
+{
+ snprintf (buf, 10, "%d%d\n", 10, 10);
+ return 0;
+}
+
+/* { dg-final { scan-assembler "mysnprintf" } } */
+/* { dg-final { scan-assembler-not "__chk_fail" } } */
--- gcc/testsuite/g++.dg/ext/builtin10.C.jj 2007-10-02 11:19:45.000000000 +0200
+++ gcc/testsuite/g++.dg/ext/builtin10.C 2007-10-02 11:23:26.000000000 +0200
@@ -0,0 +1,27 @@
+// { dg-do compile }
+// { dg-options "-O2" }
+
+typedef __SIZE_TYPE__ size_t;
+extern "C" {
+extern void __chk_fail (void);
+extern int snprintf (char *, size_t, const char *, ...);
+extern inline __attribute__((gnu_inline, always_inline)) int snprintf (char *a, size_t b, const char *fmt, ...)
+{
+ if (__builtin_object_size (a, 0) != -1UL && __builtin_object_size (a, 0) < b)
+ __chk_fail ();
+ return __builtin_snprintf (a, b, fmt, __builtin_va_arg_pack ());
+}
+extern int snprintf (char *, size_t, const char *, ...) __asm ("mysnprintf");
+}
+
+char buf[10];
+
+int
+main (void)
+{
+ snprintf (buf, 10, "%d%d\n", 10, 10);
+ return 0;
+}
+
+// { dg-final { scan-assembler "mysnprintf" } }
+// { dg-final { scan-assembler-not "__chk_fail" } }

View File

@ -1,171 +0,0 @@
2009-01-27 Jakub Jelinek <jakub@redhat.com>
* Makefile.in (BACKENDLIBS): Link against -ldl instead of -lcloog -lppl.
(graphite.o): Force -O, remove -fkeep-inline-functions.
* graphite.c: Include <dlfcn.h>. Reference libcloog and libppl symbols
through pointers in cloog_pointers variable.
(init_cloog_pointers): New function.
(gcc_type_for_iv_of_clast_loop): Rename stmt_for argument to stmt_fora.
(graphite_transform_loops): Call init_cloog_pointers.
--- gcc/Makefile.in.jj 2009-01-26 20:50:38.000000000 +0100
+++ gcc/Makefile.in 2009-01-27 14:18:10.000000000 +0100
@@ -915,7 +915,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
# How to link with both our special library facilities
# and the system's installed libraries.
LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER)
-BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS)
+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),-ldl)
# Any system libraries needed just for GNAT.
SYSLIBS = @GNAT_LIBEXC@
@@ -3076,6 +3076,9 @@ $(out_object_file): $(out_file) $(CONFIG
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
$(out_file) $(OUTPUT_OPTION)
+graphite.o : \
+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
+
# Build auxiliary files that support ecoff format.
mips-tfile: mips-tfile.o version.o $(LIBDEPS)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ mips-tfile.o version.o $(LIBS)
--- gcc/graphite.c.jj 2009-01-24 19:59:02.000000000 +0100
+++ gcc/graphite.c 2009-01-27 14:52:08.000000000 +0100
@@ -59,6 +59,110 @@ along with GCC; see the file COPYING3.
#include "cloog/cloog.h"
#include "graphite.h"
+#include <dlfcn.h>
+#define DYNSYMS \
+ DYNSYM (cloog_block_alloc); \
+ DYNSYM (cloog_block_list_free); \
+ DYNSYM (cloog_block_list_malloc); \
+ DYNSYM (cloog_clast_create); \
+ DYNSYM (cloog_clast_free); \
+ DYNSYM (cloog_domain_free); \
+ DYNSYM (cloog_domain_matrix2domain); \
+ DYNSYM (cloog_initialize); \
+ DYNSYM (cloog_loop_malloc); \
+ DYNSYM (cloog_matrix_alloc); \
+ DYNSYM (cloog_matrix_copy); \
+ DYNSYM (cloog_matrix_free); \
+ DYNSYM (cloog_matrix_print); \
+ DYNSYM (cloog_names_malloc); \
+ DYNSYM (cloog_names_scalarize); \
+ DYNSYM (cloog_options_free); \
+ DYNSYM (cloog_options_malloc); \
+ DYNSYM (cloog_program_dump_cloog); \
+ DYNSYM (cloog_program_extract_scalars); \
+ DYNSYM (cloog_program_free); \
+ DYNSYM (cloog_program_generate); \
+ DYNSYM (cloog_program_malloc); \
+ DYNSYM (cloog_program_print); \
+ DYNSYM (cloog_program_scatter); \
+ DYNSYM (cloog_statement_alloc); \
+ DYNSYM (ppl_finalize); \
+ DYNSYM (pprint); \
+ DYNSYM (stmt_block); \
+ DYNSYM (stmt_for); \
+ DYNSYM (stmt_guard); \
+ DYNSYM (stmt_root); \
+ DYNSYM (stmt_user);
+static struct
+{
+ bool inited;
+ void *h;
+#define DYNSYM(x) __typeof (x) *p_##x
+ DYNSYMS
+#undef DYNSYM
+} cloog_pointers;
+
+#define cloog_block_alloc (*cloog_pointers.p_cloog_block_alloc)
+#define cloog_block_list_free (*cloog_pointers.p_cloog_block_list_free)
+#define cloog_block_list_malloc (*cloog_pointers.p_cloog_block_list_malloc)
+#define cloog_clast_create (*cloog_pointers.p_cloog_clast_create)
+#define cloog_clast_free (*cloog_pointers.p_cloog_clast_free)
+#define cloog_domain_free (*cloog_pointers.p_cloog_domain_free)
+#define cloog_domain_matrix2domain (*cloog_pointers.p_cloog_domain_matrix2domain)
+#define cloog_initialize (*cloog_pointers.p_cloog_initialize)
+#define cloog_loop_malloc (*cloog_pointers.p_cloog_loop_malloc)
+#define cloog_matrix_alloc (*cloog_pointers.p_cloog_matrix_alloc)
+#define cloog_matrix_copy (*cloog_pointers.p_cloog_matrix_copy)
+#define cloog_matrix_free (*cloog_pointers.p_cloog_matrix_free)
+#define cloog_matrix_print (*cloog_pointers.p_cloog_matrix_print)
+#define cloog_names_malloc (*cloog_pointers.p_cloog_names_malloc)
+#define cloog_names_scalarize (*cloog_pointers.p_cloog_names_scalarize)
+#define cloog_options_free (*cloog_pointers.p_cloog_options_free)
+#define cloog_options_malloc (*cloog_pointers.p_cloog_options_malloc)
+#define cloog_program_dump_cloog (*cloog_pointers.p_cloog_program_dump_cloog)
+#define cloog_program_extract_scalars (*cloog_pointers.p_cloog_program_extract_scalars)
+#define cloog_program_free (*cloog_pointers.p_cloog_program_free)
+#define cloog_program_generate (*cloog_pointers.p_cloog_program_generate)
+#define cloog_program_malloc (*cloog_pointers.p_cloog_program_malloc)
+#define cloog_program_print (*cloog_pointers.p_cloog_program_print)
+#define cloog_program_scatter (*cloog_pointers.p_cloog_program_scatter)
+#define cloog_statement_alloc (*cloog_pointers.p_cloog_statement_alloc)
+#define ppl_finalize (*cloog_pointers.p_ppl_finalize)
+#define pprint (*cloog_pointers.p_pprint)
+#define stmt_block (*cloog_pointers.p_stmt_block)
+#define stmt_for (*cloog_pointers.p_stmt_for)
+#define stmt_guard (*cloog_pointers.p_stmt_guard)
+#define stmt_root (*cloog_pointers.p_stmt_root)
+#define stmt_user (*cloog_pointers.p_stmt_user)
+
+#define cloog_finalize (*cloog_pointers.p_ppl_finalize)
+
+static bool
+init_cloog_pointers (void)
+{
+ void *h;
+
+ if (cloog_pointers.inited)
+ return cloog_pointers.h != NULL;
+ h = dlopen ("libcloog.so.0", RTLD_LAZY);
+ cloog_pointers.h = h;
+ if (h == NULL)
+ return false;
+#define DYNSYM(x) \
+ do \
+ { \
+ union { __typeof (cloog_pointers.p_##x) p; void *q; } u; \
+ u.q = dlsym (h, #x); \
+ if (u.q == NULL) \
+ return false; \
+ cloog_pointers.p_##x = u.p; \
+ } \
+ while (0)
+ DYNSYMS
+#undef DYNSYM
+ return true;
+}
+
static VEC (scop_p, heap) *current_scops;
/* Converts a GMP constant V to a tree and returns it. */
@@ -4019,10 +4151,10 @@ clast_get_body_of_loop (struct clast_stm
STMT. */
static tree
-gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for)
+gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora)
{
- struct clast_user_stmt *stmt = clast_get_body_of_loop ((struct clast_stmt *) stmt_for);
- const char *cloog_iv = stmt_for->iterator;
+ struct clast_user_stmt *stmt = clast_get_body_of_loop ((struct clast_stmt *) stmt_fora);
+ const char *cloog_iv = stmt_fora->iterator;
CloogStatement *cs = stmt->statement;
graphite_bb_p gbb = (graphite_bb_p) cloog_statement_usr (cs);
@@ -6061,6 +6193,12 @@ graphite_transform_loops (void)
if (number_of_loops () <= 1)
return;
+ if (!init_cloog_pointers ())
+ {
+ sorry ("Graphite loop optimizations cannot be used");
+ return;
+ }
+
current_scops = VEC_alloc (scop_p, heap, 3);
recompute_all_dominators ();

View File

@ -1,66 +0,0 @@
--- libada/Makefile.in.jj 2009-01-14 12:07:35.000000000 +0100
+++ libada/Makefile.in 2009-01-15 14:25:33.000000000 +0100
@@ -69,18 +69,40 @@ version := $(shell cat $(srcdir)/../gcc/
libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR)
ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR))
+DEFAULTMULTIFLAGS :=
+ifeq ($(MULTISUBDIR),)
+targ:=$(subst -, ,$(target))
+arch:=$(word 1,$(targ))
+ifeq ($(words $(targ)),2)
+osys:=$(word 2,$(targ))
+else
+osys:=$(word 3,$(targ))
+endif
+ifeq ($(strip $(filter-out i%86 x86_64 powerpc% ppc% s390% sparc% linux%, $(arch) $(osys))),)
+ifeq ($(shell $(CC) $(CFLAGS) -print-multi-os-directory),../lib64)
+DEFAULTMULTIFLAGS := -m64
+else
+ifeq ($(strip $(filter-out s390%, $(arch))),)
+DEFAULTMULTIFLAGS := -m31
+else
+DEFAULTMULTIFLAGS := -m32
+endif
+endif
+endif
+endif
+
# exeext should not be used because it's the *host* exeext. We're building
# a *target* library, aren't we?!? Likewise for CC. Still, provide bogus
# definitions just in case something slips through the safety net provided
# by recursive make invocations in gcc/ada/Makefile.in
LIBADA_FLAGS_TO_PASS = \
"MAKEOVERRIDES=" \
- "LDFLAGS=$(LDFLAGS)" \
+ "LDFLAGS=$(strip $(LDFLAGS) $(DEFAULTMULTIFLAGS))" \
"LN_S=$(LN_S)" \
"SHELL=$(SHELL)" \
- "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \
- "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \
- "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \
+ "GNATLIBFLAGS=$(strip $(GNATLIBFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS))" \
+ "GNATLIBCFLAGS=$(strip $(GNATLIBCFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS))" \
+ "GNATLIBCFLAGS_FOR_C=$(strip $(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS))" \
"TARGET_LIBGCC2_CFLAGS=$(TARGET_LIBGCC2_CFLAGS)" \
"THREAD_KIND=$(THREAD_KIND)" \
"TRACE=$(TRACE)" \
@@ -91,7 +113,7 @@ LIBADA_FLAGS_TO_PASS = \
"exeext=.exeext.should.not.be.used " \
'CC=the.host.compiler.should.not.be.needed' \
"GCC_FOR_TARGET=$(CC)" \
- "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)"
+ "CFLAGS=$(strip $(CFLAGS) $(DEFAULTMULTIFLAGS) $(WARN_CFLAGS))"
# Rules to build gnatlib.
.PHONY: gnatlib gnatlib-plain gnatlib-sjlj gnatlib-zcx gnatlib-shared oscons
--- gcc/ada/make.adb 2008-11-07 23:00:32.000000000 +0100
+++ gcc/ada/make.adb 2009-01-16 17:55:02.000000000 +0100
@@ -8039,6 +8039,7 @@ package body Make is
or else Argv (2 .. Argv'Last) = "pg"
or else (Argv (2) = 'm' and then Argv'Last > 2)
or else (Argv (2) = 'f' and then Argv'Last > 2)
+ or else (Argv'Last >= 8 and then Argv (2 .. 8) = "-param=")
then
Add_Switch (Argv, Compiler, And_Save => And_Save);
Add_Switch (Argv, Linker, And_Save => And_Save);

View File

@ -1,61 +0,0 @@
Build i386.rpm libgomp and libsupc++.a(guard.o) as i486+, pre-i486
hardware isn't supported because NPTL doesn't support it anyway.
--- libgomp/configure.tgt.jj 2008-01-10 20:53:48.000000000 +0100
+++ libgomp/configure.tgt 2008-03-27 12:44:51.000000000 +0100
@@ -44,14 +44,14 @@ if test $enable_linux_futex = yes; then
;;
# Note that bare i386 is not included here. We need cmpxchg.
- i[456]86-*-linux*)
+ i[3456]86-*-linux*)
config_path="linux/x86 linux posix"
case " ${CC} ${CFLAGS} " in
*" -m64 "*)
;;
*)
if test -z "$with_arch"; then
- XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
fi
esac
;;
@@ -63,7 +63,7 @@ if test $enable_linux_futex = yes; then
config_path="linux/x86 linux posix"
case " ${CC} ${CFLAGS} " in
*" -m32 "*)
- XCFLAGS="${XCFLAGS} -march=i486 -mtune=i686"
+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
;;
esac
;;
--- libstdc++-v3/libsupc++/guard.cc.jj 2008-03-01 00:58:24.000000000 +0100
+++ libstdc++-v3/libsupc++/guard.cc 2008-03-27 14:08:44.000000000 +0100
@@ -35,6 +35,27 @@
#include <new>
#include <ext/atomicity.h>
#include <ext/concurrence.h>
+#if defined __i386__ && !defined _GLIBCXX_ATOMIC_BUILTINS_4
+# define _GLIBCXX_ATOMIC_BUILTINS_4 1
+# define __sync_val_compare_and_swap(a, b, c) \
+ ({ \
+ typedef char sltast[sizeof (*a) == sizeof (int) ? 1 : -1]; \
+ int sltas; \
+ __asm __volatile ("lock; cmpxchgl %3, (%1)" \
+ : "=a" (sltas) \
+ : "r" (a), "0" (b), "r" (c) : "memory"); \
+ sltas; \
+ })
+# define __sync_lock_test_and_set(a, b) \
+ ({ \
+ typedef char sltast[sizeof (*a) == sizeof (int) ? 1 : -1]; \
+ int sltas; \
+ __asm __volatile ("xchgl (%1), %0" \
+ : "=r" (sltas) \
+ : "r" (a), "0" (b) : "memory"); \
+ sltas; \
+ })
+#endif
#if defined(__GTHREADS) && defined(__GTHREAD_HAS_COND) \
&& defined(_GLIBCXX_ATOMIC_BUILTINS_4) && defined(_GLIBCXX_HAVE_LINUX_FUTEX)
# include <climits>

View File

@ -1,538 +0,0 @@
2004-11-27 Jakub Jelinek <jakub@redhat.com>
* config.gcc (ia64*-*-linux*): If native and libelf is installed,
use ia64/t-glibc-no-libunwind instead of the other t-*unwind*
fragments.
* config/ia64/t-glibc-no-libunwind: New file.
* config/ia64/change-symver.c: New file.
* config/ia64/unwind-ia64.c: If USE_SYMVER_GLOBAL and SHARED,
define _Unwind_* to __symverglobal_Unwind_*.
(alias): Undefine.
(symverglobal): Define. Use it on _Unwind_*.
* config/ia64/mkmap-symver-multi.awk: New file.
* config/ia64/libgcc-ia64-no-libunwind.ver: New file.
--- gcc/config.gcc.jj 2004-10-04 08:55:44.000000000 -0400
+++ gcc/config.gcc 2004-11-13 05:23:50.000000000 -0500
@@ -1185,9 +1185,16 @@ ia64*-*-freebsd*)
;;
ia64*-*-linux*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h ia64/sysv4.h ia64/linux.h"
- tmake_file="${tmake_file} ia64/t-ia64 t-libunwind ia64/t-glibc"
- if test x$with_system_libunwind != xyes ; then
- tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind"
+ tmake_file="${tmake_file} ia64/t-ia64"
+ if test x${target} = x${host} && test x${target} = x${build} \
+ && grep gelf_getverdef /usr/include/gelf.h > /dev/null 2>&1 \
+ && test -f /usr/lib/libelf.so; then
+ tmake_file="${tmake_file} ia64/t-glibc-no-libunwind"
+ else
+ tmake_file="${tmake_file} t-libunwind ia64/t-glibc"
+ if test x$with_system_libunwind != xyes ; then
+ tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind"
+ fi
fi
target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
--- gcc/config/ia64/t-glibc-no-libunwind.jj 2004-02-18 10:27:36.000000000 -0500
+++ gcc/config/ia64/t-glibc-no-libunwind 2004-11-15 09:56:33.000000000 -0500
@@ -0,0 +1,30 @@
+# Don't use system libunwind library on IA-64 GLIBC based system,
+# but make _Unwind_* symbols unversioned, so that created programs
+# are usable even when libgcc_s uses libunwind.
+LIB2ADDEH += $(srcdir)/config/ia64/fde-glibc.c
+SHLIB_MAPFILES += $(srcdir)/config/ia64/libgcc-ia64-no-libunwind.ver
+SHLIB_MKMAP = $(srcdir)/config/ia64/mkmap-symver-multi.awk
+
+SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
+ -Wl,--soname=$(SHLIB_SONAME) \
+ -Wl,--version-script=$(SHLIB_MAP) \
+ -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ $(SHLIB_OBJS) -lc && \
+ rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
+ if [ -f $(SHLIB_DIR)/$(SHLIB_SONAME) ]; then \
+ mv -f $(SHLIB_DIR)/$(SHLIB_SONAME) \
+ $(SHLIB_DIR)/$(SHLIB_SONAME).backup; \
+ else true; fi && \
+ gcc -O2 -o $(SHLIB_DIR)/$(SHLIB_SONAME).tweak \
+ $$(gcc_srcdir)/config/ia64/change-symver.c -lelf && \
+ $(SHLIB_DIR)/$(SHLIB_SONAME).tweak $(SHLIB_DIR)/$(SHLIB_SONAME).tmp \
+ GCC_3.4.2 _GLOBAL_ \
+ _Unwind_GetGR _Unwind_RaiseException _Unwind_GetRegionStart _Unwind_SetIP \
+ _Unwind_GetIP _Unwind_GetLanguageSpecificData _Unwind_Resume \
+ _Unwind_DeleteException _Unwind_SetGR _Unwind_ForcedUnwind \
+ _Unwind_Backtrace _Unwind_FindEnclosingFunction _Unwind_GetCFA \
+ _Unwind_Resume_or_Rethrow _Unwind_GetBSP && \
+ rm -f $(SHLIB_DIR)/$(SHLIB_SONAME).tweak && \
+ mv $(SHLIB_DIR)/$(SHLIB_SONAME).tmp $(SHLIB_DIR)/$(SHLIB_SONAME) && \
+ $(LN_S) $(SHLIB_SONAME) $(SHLIB_DIR)/$(SHLIB_SOLINK)
+
+TARGET_LIBGCC2_CFLAGS += -DUSE_SYMVER_GLOBAL
--- gcc/config/ia64/change-symver.c.jj 2004-02-18 10:27:36.000000000 -0500
+++ gcc/config/ia64/change-symver.c 2004-11-13 05:23:50.000000000 -0500
@@ -0,0 +1,211 @@
+#define _GNU_SOURCE 1
+#define _FILE_OFFSET_BITS 64
+#include <endian.h>
+#include <errno.h>
+#include <error.h>
+#include <fcntl.h>
+#include <fnmatch.h>
+#include <gelf.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+int
+compute_veridx (const char *name, Elf *elf, Elf_Data *verd, GElf_Shdr *verd_shdr)
+{
+ if (strcmp (name, "_GLOBAL_") == 0)
+ return 1;
+
+ int cnt;
+ size_t offset = 0;
+ for (cnt = verd_shdr->sh_info; --cnt >= 0; )
+ {
+ GElf_Verdef defmem;
+ GElf_Verdef *def;
+ GElf_Verdaux auxmem;
+ GElf_Verdaux *aux;
+ unsigned int auxoffset;
+
+ /* Get the data at the next offset. */
+ def = gelf_getverdef (verd, offset, &defmem);
+ if (def == NULL)
+ break;
+
+ auxoffset = offset + def->vd_aux;
+ aux = gelf_getverdaux (verd, auxoffset, &auxmem);
+ if (aux == NULL)
+ break;
+
+ if (strcmp (name, elf_strptr (elf, verd_shdr->sh_link,
+ aux->vda_name)) == 0)
+ return def->vd_ndx;
+
+ /* Find the next offset. */
+ offset += def->vd_next;
+ }
+
+ return -1;
+}
+
+int
+main (int argc, char **argv)
+{
+ if (argc < 4)
+ error (1, 0, "Usage: change_symver library from_symver to_symver symbol...\nExample: change_symver libfoo.so FOO_1.0 *global* bar baz");
+
+ const char *fname = argv[1];
+
+ /* Open the file. */
+ int fd;
+ fd = open (fname, O_RDWR);
+ if (fd == -1)
+ error (1, errno, fname);
+
+ elf_version (EV_CURRENT);
+
+ /* Now get the ELF descriptor. */
+ Elf *elf = elf_begin (fd, ELF_C_READ_MMAP, NULL);
+ if (elf == NULL || elf_kind (elf) != ELF_K_ELF)
+ error (1, 0, "Couldn't open %s: %s", fname, elf_errmsg (-1));
+
+ size_t shstrndx;
+ /* Get the section header string table index. */
+ if (elf_getshstrndx (elf, &shstrndx) < 0)
+ error (1, 0, "cannot get shstrndx from %s", fname);
+
+ GElf_Ehdr ehdr_mem;
+ GElf_Ehdr *ehdr;
+
+ /* We need the ELF header in a few places. */
+ ehdr = gelf_getehdr (elf, &ehdr_mem);
+ if (ehdr == NULL)
+ error (1, 0, "couldn't get ELF headers %s: %s", fname, elf_errmsg (-1));
+
+ Elf_Scn *scn = NULL;
+ GElf_Shdr shdr_mem, verd_shdr, ver_shdr, dynsym_shdr;
+ Elf_Data *ver = NULL, *verd = NULL, *dynsym = NULL;
+
+ while ((scn = elf_nextscn (elf, scn)) != NULL)
+ {
+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
+
+ if (shdr == NULL)
+ error (1, 0, "couldn't get shdr from %s", fname);
+
+ if ((shdr->sh_flags & SHF_ALLOC) != 0)
+ {
+ const char *name = elf_strptr (elf, shstrndx, shdr->sh_name);
+ Elf_Data **p;
+
+ if (strcmp (name, ".gnu.version") == 0)
+ {
+ p = &ver;
+ ver_shdr = *shdr;
+ }
+ else if (strcmp (name, ".gnu.version_d") == 0)
+ {
+ p = &verd;
+ verd_shdr = *shdr;
+ }
+ else if (strcmp (name, ".dynsym") == 0)
+ {
+ p = &dynsym;
+ dynsym_shdr = *shdr;
+ }
+ else
+ continue;
+
+ if (*p != NULL)
+ error (1, 0, "Two %s sections in %s", name, fname);
+ *p = elf_getdata (scn, NULL);
+ if (*p == NULL || elf_getdata (scn, *p) != NULL)
+ error (1, 0, "No data or non-contiguous data in %s section in %s",
+ name, fname);
+ }
+ }
+
+ if (ver == NULL || verd == NULL || dynsym == NULL)
+ error (1, 0, "Couldn't find one of the needed sections in %s", fname);
+
+ int from_idx = compute_veridx (argv[2], elf, verd, &verd_shdr);
+ if (from_idx == -1)
+ error (1, 0, "Could not find symbol version %s in %s", argv[2], fname);
+
+ int to_idx = compute_veridx (argv[3], elf, verd, &verd_shdr);
+ if (to_idx == -1)
+ error (1, 0, "Could not find symbol version %s in %s", argv[3], fname);
+
+ if (dynsym_shdr.sh_entsize != gelf_fsize (elf, ELF_T_SYM, 1, ehdr->e_version)
+ || dynsym_shdr.sh_size % dynsym_shdr.sh_entsize
+ || ver_shdr.sh_entsize != 2
+ || (ver_shdr.sh_size & 1)
+ || dynsym_shdr.sh_size / dynsym_shdr.sh_entsize != ver_shdr.sh_size / 2)
+ error (1, 0, "Unexpected sh_size or sh_entsize in %s", fname);
+
+ size_t nentries = ver_shdr.sh_size / 2;
+ size_t cnt;
+ GElf_Versym array[nentries];
+ for (cnt = 0; cnt < nentries; ++cnt)
+ {
+ GElf_Versym vsymmem;
+ GElf_Versym *vsym;
+
+ vsym = gelf_getversym (ver, cnt, &vsymmem);
+ if (vsym == NULL)
+ error (1, 0, "gelt_getversym failed in %s: %s", fname, elf_errmsg (-1));
+
+ array[cnt] = *vsym;
+ if (*vsym != from_idx)
+ continue;
+
+ GElf_Sym sym_mem;
+ GElf_Sym *sym;
+ sym = gelf_getsym (dynsym, cnt, &sym_mem);
+ if (sym == NULL)
+ error (1, 0, "gelt_getsym failed in %s: %s", fname, elf_errmsg (-1));
+
+ const char *name = elf_strptr (elf, dynsym_shdr.sh_link, sym->st_name);
+
+ int argn;
+ for (argn = 4; argn < argc; ++argn)
+ if (fnmatch (argv[argn], name, 0) == 0)
+ {
+ array[cnt] = to_idx;
+ break;
+ }
+ }
+
+ if (sizeof (array[0]) != 2)
+ abort ();
+
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+ if (ehdr->e_ident[EI_DATA] == ELFDATA2LSB)
+ ;
+ else if (ehdr->e_ident[EI_DATA] == ELFDATA2MSB)
+#elif __BYTE_ORDER == __BIG_ENDIAN
+ if (ehdr->e_ident[EI_DATA] == ELFDATA2MSB)
+ ;
+ else if (ehdr->e_ident[EI_DATA] == ELFDATA2LSB)
+#else
+# error Unsupported endianity
+#endif
+ {
+ for (cnt = 0; cnt < nentries; ++cnt)
+ array[cnt] = ((array[cnt] & 0xff) << 8) | ((array[cnt] & 0xff00) >> 8);
+ }
+ else
+ error (1, 0, "Unknown EI_DATA %d in %s", ehdr->e_ident[EI_DATA], fname);
+
+ if (elf_end (elf) != 0)
+ error (1, 0, "couldn't close %s: %s", fname, elf_errmsg (-1));
+
+ if (lseek (fd, ver_shdr.sh_offset, SEEK_SET) != (off_t) ver_shdr.sh_offset)
+ error (1, 0, "failed to seek to %zd in %s", (size_t) ver_shdr.sh_offset,
+ fname);
+
+ if (write (fd, array, 2 * nentries) != (ssize_t) (2 * nentries))
+ error (1, 0, "failed to write .gnu.version section into %s", fname);
+
+ close (fd);
+ return 0;
+}
--- gcc/config/ia64/unwind-ia64.c.jj 2004-10-04 08:55:57.000000000 -0400
+++ gcc/config/ia64/unwind-ia64.c 2004-11-15 09:07:45.000000000 -0500
@@ -51,6 +51,51 @@
#define UNW_FLAG_UHANDLER(x) ((x) & 0x0000000200000000L)
#define UNW_LENGTH(x) ((x) & 0x00000000ffffffffL)
+#if defined (USE_SYMVER_GLOBAL) && defined (SHARED)
+extern _Unwind_Reason_Code __symverglobal_Unwind_Backtrace
+ (_Unwind_Trace_Fn, void *);
+extern void __symverglobal_Unwind_DeleteException
+ (struct _Unwind_Exception *);
+extern void * __symverglobal_Unwind_FindEnclosingFunction (void *);
+extern _Unwind_Reason_Code __symverglobal_Unwind_ForcedUnwind
+ (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *);
+extern _Unwind_Word __symverglobal_Unwind_GetCFA
+ (struct _Unwind_Context *);
+extern _Unwind_Word __symverglobal_Unwind_GetBSP
+ (struct _Unwind_Context *);
+extern _Unwind_Word __symverglobal_Unwind_GetGR
+ (struct _Unwind_Context *, int );
+extern _Unwind_Ptr __symverglobal_Unwind_GetIP (struct _Unwind_Context *);
+extern void *__symverglobal_Unwind_GetLanguageSpecificData
+ (struct _Unwind_Context *);
+extern _Unwind_Ptr __symverglobal_Unwind_GetRegionStart
+ (struct _Unwind_Context *);
+extern _Unwind_Reason_Code __symverglobal_Unwind_RaiseException
+ (struct _Unwind_Exception *);
+extern void __symverglobal_Unwind_Resume (struct _Unwind_Exception *);
+extern _Unwind_Reason_Code __symverglobal_Unwind_Resume_or_Rethrow
+ (struct _Unwind_Exception *);
+extern void __symverglobal_Unwind_SetGR
+ (struct _Unwind_Context *, int, _Unwind_Word);
+extern void __symverglobal_Unwind_SetIP
+ (struct _Unwind_Context *, _Unwind_Ptr);
+#define _Unwind_Backtrace __symverglobal_Unwind_Backtrace
+#define _Unwind_DeleteException __symverglobal_Unwind_DeleteException
+#define _Unwind_FindEnclosingFunction __symverglobal_Unwind_FindEnclosingFunction
+#define _Unwind_ForcedUnwind __symverglobal_Unwind_ForcedUnwind
+#define _Unwind_GetBSP __symverglobal_Unwind_GetBSP
+#define _Unwind_GetCFA __symverglobal_Unwind_GetCFA
+#define _Unwind_GetGR __symverglobal_Unwind_GetGR
+#define _Unwind_GetIP __symverglobal_Unwind_GetIP
+#define _Unwind_GetLanguageSpecificData __symverglobal_Unwind_GetLanguageSpecificData
+#define _Unwind_GetRegionStart __symverglobal_Unwind_GetRegionStart
+#define _Unwind_RaiseException __symverglobal_Unwind_RaiseException
+#define _Unwind_Resume __symverglobal_Unwind_Resume
+#define _Unwind_Resume_or_Rethrow __symverglobal_Unwind_Resume_or_Rethrow
+#define _Unwind_SetGR __symverglobal_Unwind_SetGR
+#define _Unwind_SetIP __symverglobal_Unwind_SetIP
+#endif
+
enum unw_application_register
{
UNW_AR_BSP,
@@ -2402,4 +2447,44 @@ alias (_Unwind_SetGR);
alias (_Unwind_SetIP);
#endif
+#if defined (USE_SYMVER_GLOBAL) && defined (SHARED)
+#undef alias
+#define symverglobal(name, version) \
+__typeof (__symverglobal##name) __symverlocal##name \
+ __attribute__ ((alias ("__symverglobal" #name))); \
+__asm__ (".symver __symverglobal" #name"," #name "@@GCC_3.4.2");\
+__asm__ (".symver __symverlocal" #name"," #name "@" #version)
+
+#undef _Unwind_Backtrace
+#undef _Unwind_DeleteException
+#undef _Unwind_FindEnclosingFunction
+#undef _Unwind_ForcedUnwind
+#undef _Unwind_GetBSP
+#undef _Unwind_GetCFA
+#undef _Unwind_GetGR
+#undef _Unwind_GetIP
+#undef _Unwind_GetLanguageSpecificData
+#undef _Unwind_GetRegionStart
+#undef _Unwind_RaiseException
+#undef _Unwind_Resume
+#undef _Unwind_Resume_or_Rethrow
+#undef _Unwind_SetGR
+#undef _Unwind_SetIP
+symverglobal (_Unwind_Backtrace, GCC_3.3);
+symverglobal (_Unwind_DeleteException, GCC_3.0);
+symverglobal (_Unwind_FindEnclosingFunction, GCC_3.3);
+symverglobal (_Unwind_ForcedUnwind, GCC_3.0);
+symverglobal (_Unwind_GetBSP, GCC_3.3.2);
+symverglobal (_Unwind_GetCFA, GCC_3.3);
+symverglobal (_Unwind_GetGR, GCC_3.0);
+symverglobal (_Unwind_GetIP, GCC_3.0);
+symverglobal (_Unwind_GetLanguageSpecificData, GCC_3.0);
+symverglobal (_Unwind_GetRegionStart, GCC_3.0);
+symverglobal (_Unwind_RaiseException, GCC_3.0);
+symverglobal (_Unwind_Resume, GCC_3.0);
+symverglobal (_Unwind_Resume_or_Rethrow, GCC_3.3);
+symverglobal (_Unwind_SetGR, GCC_3.0);
+symverglobal (_Unwind_SetIP, GCC_3.0);
+#endif
+
#endif
--- gcc/config/ia64/mkmap-symver-multi.awk.jj 2004-02-18 10:27:36.000000000 -0500
+++ gcc/config/ia64/mkmap-symver-multi.awk 2004-11-15 09:46:50.000000000 -0500
@@ -0,0 +1,133 @@
+# Generate an ELF symbol version map a-la Solaris and GNU ld.
+# Contributed by Richard Henderson <rth@cygnus.com>
+#
+# This file is part of GCC.
+#
+# GCC is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 2, or (at your option) any later
+# version.
+#
+# GCC is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+# License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GCC; see the file COPYING. If not, write to the Free
+# Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+BEGIN {
+ state = "nm";
+ sawsymbol = 0;
+}
+
+# Remove comment and blank lines.
+/^ *#/ || /^ *$/ {
+ next;
+}
+
+# We begin with nm input. Collect the set of symbols that are present
+# so that we can not emit them into the final version script -- Solaris
+# complains at us if we do.
+
+state == "nm" && /^%%/ {
+ state = "ver";
+ next;
+}
+
+state == "nm" && ($1 == "U" || $2 == "U") {
+ next;
+}
+
+state == "nm" && NF == 3 {
+ if ($3 ~ /^[^@]*@GCC_[0-9.]*$/) {
+ def[$3] = 1
+ tl=$3
+ sub(/^.*@/,"",tl)
+ ver[$3] = tl
+ } else {
+ sub(/@@?GCC_[0-9.]*$/,"",$3)
+ def[$3] = 1;
+ }
+ sawsymbol = 1;
+ next;
+}
+
+state == "nm" {
+ next;
+}
+
+# Now we process a simplified variant of the Solaris symbol version
+# script. We have one symbol per line, no semicolons, simple markers
+# for beginning and ending each section, and %inherit markers for
+# describing version inheritence. A symbol may appear in more than
+# one symbol version, and the last seen takes effect.
+
+NF == 3 && $1 == "%inherit" {
+ inherit[$2] = $3;
+ next;
+}
+
+NF == 2 && $2 == "{" {
+ libs[$1] = 1;
+ thislib = $1;
+ next;
+}
+
+$1 == "}" {
+ thislib = "";
+ next;
+}
+
+{
+ ver[$1] = thislib;
+ next;
+}
+
+END {
+ if (!sawsymbol)
+ {
+ print "No symbols seen -- broken or mis-installed nm?" | "cat 1>&2";
+ exit 1;
+ }
+ for (l in libs)
+ output(l);
+}
+
+function output(lib) {
+ if (done[lib])
+ return;
+ done[lib] = 1;
+ if (inherit[lib])
+ output(inherit[lib]);
+
+ empty=1
+ for (sym in ver)
+ if ((ver[sym] == lib) && (sym in def))
+ {
+ if (empty)
+ {
+ printf("%s {\n", lib);
+ printf(" global:\n");
+ empty = 0;
+ }
+ symp = sym;
+ sub(/@GCC_[0-9.]*$/,"",symp);
+ printf("\t%s;\n", symp);
+ if (dotsyms)
+ printf("\t.%s;\n", symp);
+ }
+
+ if (empty)
+ {
+ for (l in libs)
+ if (inherit[l] == lib)
+ inherit[l] = inherit[lib];
+ }
+ else if (inherit[lib])
+ printf("} %s;\n", inherit[lib]);
+ else
+ printf ("\n local:\n\t*;\n};\n");
+}
--- gcc/config/ia64/libgcc-ia64-no-libunwind.ver.jj 2004-02-18 10:27:36.000000000 -0500
+++ gcc/config/ia64/libgcc-ia64-no-libunwind.ver 2004-11-15 09:19:56.000000000 -0500
@@ -0,0 +1,17 @@
+GCC_3.4.2 {
+ _Unwind_GetGR
+ _Unwind_RaiseException
+ _Unwind_GetRegionStart
+ _Unwind_SetIP
+ _Unwind_GetIP
+ _Unwind_GetLanguageSpecificData
+ _Unwind_Resume
+ _Unwind_DeleteException
+ _Unwind_SetGR
+ _Unwind_ForcedUnwind
+ _Unwind_Backtrace
+ _Unwind_FindEnclosingFunction
+ _Unwind_GetCFA
+ _Unwind_Resume_or_Rethrow
+ _Unwind_GetBSP
+}

View File

@ -1,17 +0,0 @@
2008-01-25 Jakub Jelinek <jakub@redhat.com>
* lang.c (java_classify_record): Revert 2007-12-20 change.
--- gcc/java/lang.c 2007-12-27 09:09:49.000000000 +0100
+++ gcc/java/lang.c 2008-01-25 17:43:57.000000000 +0100
@@ -965,9 +965,7 @@ java_classify_record (tree type)
if (! CLASS_P (type))
return RECORD_IS_STRUCT;
- /* ??? GDB does not support DW_TAG_interface_type as of December,
- 2007. Re-enable this at a later time. */
- if (0 && CLASS_INTERFACE (TYPE_NAME (type)))
+ if (CLASS_INTERFACE (TYPE_NAME (type)))
return RECORD_IS_INTERFACE;
return RECORD_IS_CLASS;

View File

@ -1,44 +0,0 @@
--- libjava/configure.ac.jj 2007-12-07 17:55:50.000000000 +0100
+++ libjava/configure.ac 2007-12-07 18:36:56.000000000 +0100
@@ -82,6 +82,13 @@ AC_ARG_ENABLE(java-maintainer-mode,
[allow rebuilding of .class and .h files]))
AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)
+AC_ARG_ENABLE(libjava-multilib,
+ AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))
+if test "$enable_libjava_multilib" = no; then
+ multilib=no
+ ac_configure_args="$ac_configure_args --disable-multilib"
+fi
+
# It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
GCC_NO_EXECUTABLES
--- libjava/configure.jj 2007-12-07 17:55:50.000000000 +0100
+++ libjava/configure 2007-12-07 18:39:58.000000000 +0100
@@ -1021,6 +1021,8 @@ Optional Features:
default=yes
--enable-java-maintainer-mode
allow rebuilding of .class and .h files
+ --enable-libjava-multilib
+ build libjava as multilib
--disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors
--enable-maintainer-mode enable make rules and dependencies not useful
@@ -1973,6 +1975,16 @@ else
fi
+# Check whether --enable-libjava-multilib was given.
+if test "${enable_libjava_multilib+set}" = set; then
+ enableval=$enable_libjava_multilib;
+fi
+
+if test "$enable_libjava_multilib" = no; then
+ multilib=no
+ ac_configure_args="$ac_configure_args --disable-multilib"
+fi
+
# It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.

View File

@ -1,47 +0,0 @@
--- libstdc++-v3/doc/html/index.html 2009-01-14 12:06:37.000000000 +0100
+++ libstdc++-v3/doc/html/index.html 2009-05-06 09:17:30.000000000 +0200
@@ -12,7 +12,8 @@
<div>
<h1>The GNU C++ Library Documentation</h1>
-<p>Copyright 2008 FSF</p>
+<p>Release 4.4.0</p>
+<p>Copyright 2008, 2009 FSF</p>
<p>
Permission is granted to copy, distribute and/or modify this
--- libstdc++-v3/doc/html/api.html 2009-04-20 21:21:15.000000000 +0200
+++ libstdc++-v3/doc/html/api.html 2009-05-06 09:17:24.000000000 +0200
@@ -17,27 +17,12 @@ useful for examining the signatures of p
the library classes, finding out what is in a particular include
file, looking at inheritance diagrams, etc.
</p><p>
-The source-level documentation for the most recent releases can be
-viewed online:
-</p><div class="itemizedlist"><ul type="disc"><li><p>
- <a class="ulink" href="libstdc++-html-USERS-3.4/index.html" target="_top">for the 3.4 release
+The source-level documentation can be viewed here:
+</p>
+<div class="itemizedlist"><ul type="disc">
+ <li><p>
+ <a class="ulink" href="api/index.html" target="_top">for the 4.4 release
</a>
- </p></li><li><p>
- <a class="ulink" href="libstdc++-html-USERS-4.1/index.html" target="_top">for the 4.1 release
- </a>
- </p></li><li><p>
- <a class="ulink" href="libstdc++-html-USERS-4.2/index.html" target="_top">for the 4.2 release
- </a>
- </p></li><li><p>
- <a class="ulink" href="libstdc++-html-USERS-4.3/index.html" target="_top">for the 4.3 release
- </a>
- </p></li><li><p>
- <a class="ulink" href="libstdc++-html-USERS-4.4/index.html" target="_top">for the 4.4 release
- </a>
- </p></li><li><p>
- <a class="ulink" href="latest-doxygen/index.html" target="_top">"the latest collection"
- </a>
- (For the main development tree; see the date on the first page.)
</p></li></ul></div><p>
This generated HTML collection, as above, is also available for download in the libstdc++ snapshots directory at
<code class="literal">&lt;URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/&gt;</code>.

View File

@ -1,229 +0,0 @@
2010-01-05 Alexandre Oliva <aoliva@redhat.com>
* params.def (PARAM_MAX_VARTRACK_SIZE): New.
* doc/invoke.texi: Document it.
* var-tracking.c: Include toplev.h and params.h.
(vt_find_locations): Return bool indicating success. Compute
hash sizes unconditionally. Check new parameter, report.
(variable_tracking_main_1): Check vt_find_locations results and
retry. Renamed from...
(variable_tracking_main): ... this. New wrapper to preserve
flag_var_tracking_assignments.
* Makefile.in (var-tracking.o): Adjust dependencies.
--- gcc/doc/invoke.texi.jj 2010-01-09 20:39:58.000000000 +0100
+++ gcc/doc/invoke.texi 2010-01-21 10:00:15.979730377 +0100
@@ -7937,6 +7937,15 @@ with more basic blocks than this paramet
motion optimization performed on them. The default value of the
parameter is 1000 for -O1 and 10000 for -O2 and above.
+@item max-vartrack-size
+Sets a maximum number of hash table slots to use during variable
+tracking dataflow analysis of any function. If this limit is exceeded
+with variable tracking at assignments enabled, analysis for that
+function is retried without it, after removing all debug insns from
+the function. If the limit is exceeded even without debug insns, var
+tracking analysis is completely disabled for the function. Setting
+the parameter to zero makes it unlimited.
+
@item min-nondebug-insn-uid
Use uids starting at this parameter for nondebug insns. The range below
the parameter is reserved exclusively for debug insns created by
--- gcc/params.def.jj 2010-01-09 20:39:58.000000000 +0100
+++ gcc/params.def 2010-01-21 10:00:15.980730943 +0100
@@ -771,6 +771,13 @@ DEFPARAM (PARAM_LOOP_INVARIANT_MAX_BBS_I
"max basic blocks number in loop for loop invariant motion",
10000, 0, 0)
+/* Set maximum hash table size for var tracking. */
+
+DEFPARAM (PARAM_MAX_VARTRACK_SIZE,
+ "max-vartrack-size",
+ "Max. size of var tracking hash tables",
+ 50000000, 0, 0)
+
/* Set minimum insn uid for non-debug insns. */
DEFPARAM (PARAM_MIN_NONDEBUG_INSN_UID,
--- gcc/var-tracking.c.jj 2010-01-21 09:10:37.000000000 +0100
+++ gcc/var-tracking.c 2010-01-21 10:00:15.983740989 +0100
@@ -109,6 +109,8 @@
#include "tree-flow.h"
#include "cselib.h"
#include "target.h"
+#include "toplev.h"
+#include "params.h"
/* var-tracking.c assumes that tree code with the same value as VALUE rtx code
has no chance to appear in REG_EXPR/MEM_EXPRs and isn't a decl.
@@ -451,7 +453,7 @@ static int add_uses (rtx *, void *);
static void add_uses_1 (rtx *, void *);
static void add_stores (rtx, const_rtx, void *);
static bool compute_bb_dataflow (basic_block);
-static void vt_find_locations (void);
+static bool vt_find_locations (void);
static void dump_attrs_list (attrs);
static int dump_var_slot (void **, void *);
@@ -5511,7 +5513,7 @@ compute_bb_dataflow (basic_block bb)
/* Find the locations of variables in the whole function. */
-static void
+static bool
vt_find_locations (void)
{
fibheap_t worklist, pending, fibheap_swap;
@@ -5522,6 +5524,8 @@ vt_find_locations (void)
int *rc_order;
int i;
int htabsz = 0;
+ int htabmax = PARAM_VALUE (PARAM_MAX_VARTRACK_SIZE);
+ bool success = true;
/* Compute reverse completion order of depth first search of the CFG
so that the data-flow runs faster. */
@@ -5543,7 +5547,7 @@ vt_find_locations (void)
fibheap_insert (pending, bb_order[bb->index], bb);
sbitmap_ones (in_pending);
- while (!fibheap_empty (pending))
+ while (success && !fibheap_empty (pending))
{
fibheap_swap = pending;
pending = worklist;
@@ -5566,11 +5570,11 @@ vt_find_locations (void)
SET_BIT (visited, bb->index);
- if (dump_file && VTI (bb)->in.vars)
+ if (VTI (bb)->in.vars)
{
htabsz
- -= htab_size (shared_hash_htab (VTI (bb)->in.vars))
- + htab_size (shared_hash_htab (VTI (bb)->out.vars));
+ -= (htab_size (shared_hash_htab (VTI (bb)->in.vars))
+ + htab_size (shared_hash_htab (VTI (bb)->out.vars)));
oldinsz
= htab_elements (shared_hash_htab (VTI (bb)->in.vars));
oldoutsz
@@ -5634,9 +5638,20 @@ vt_find_locations (void)
}
changed = compute_bb_dataflow (bb);
- if (dump_file)
- htabsz += htab_size (shared_hash_htab (VTI (bb)->in.vars))
- + htab_size (shared_hash_htab (VTI (bb)->out.vars));
+ htabsz += (htab_size (shared_hash_htab (VTI (bb)->in.vars))
+ + htab_size (shared_hash_htab (VTI (bb)->out.vars)));
+
+ if (htabmax && htabsz > htabmax)
+ {
+ if (MAY_HAVE_DEBUG_INSNS)
+ inform (DECL_SOURCE_LOCATION (cfun->decl),
+ "variable tracking size limit exceeded with debug insns, retrying without");
+ else
+ inform (DECL_SOURCE_LOCATION (cfun->decl),
+ "variable tracking size limit exceeded");
+ success = false;
+ break;
+ }
if (changed)
{
@@ -5687,7 +5702,7 @@ vt_find_locations (void)
}
}
- if (MAY_HAVE_DEBUG_INSNS)
+ if (success && MAY_HAVE_DEBUG_INSNS)
FOR_EACH_BB (bb)
gcc_assert (VTI (bb)->flooded);
@@ -5698,6 +5713,8 @@ vt_find_locations (void)
sbitmap_free (visited);
sbitmap_free (in_worklist);
sbitmap_free (in_pending);
+
+ return success;
}
/* Print the content of the LIST to dump file. */
@@ -7600,9 +7617,11 @@ vt_finalize (void)
/* The entry point to variable tracking pass. */
-unsigned int
-variable_tracking_main (void)
+static inline unsigned int
+variable_tracking_main_1 (void)
{
+ bool success;
+
if (flag_var_tracking_assignments < 0)
{
delete_debug_insns ();
@@ -7627,7 +7646,31 @@ variable_tracking_main (void)
}
}
- vt_find_locations ();
+ success = vt_find_locations ();
+
+ if (!success && flag_var_tracking_assignments > 0)
+ {
+ vt_finalize ();
+
+ delete_debug_insns ();
+
+ /* This is later restored by our caller. */
+ flag_var_tracking_assignments = 0;
+
+ vt_initialize ();
+
+ if (!frame_pointer_needed && !vt_stack_adjustments ())
+ gcc_unreachable ();
+
+ success = vt_find_locations ();
+ }
+
+ if (!success)
+ {
+ vt_finalize ();
+ vt_debug_insns_local (false);
+ return 0;
+ }
if (dump_file && (dump_flags & TDF_DETAILS))
{
@@ -7641,6 +7684,19 @@ variable_tracking_main (void)
vt_debug_insns_local (false);
return 0;
}
+
+unsigned int
+variable_tracking_main (void)
+{
+ unsigned int ret;
+ int save = flag_var_tracking_assignments;
+
+ ret = variable_tracking_main_1 ();
+
+ flag_var_tracking_assignments = save;
+
+ return ret;
+}
static bool
gate_handle_var_tracking (void)
--- gcc/Makefile.in.jj 2010-01-21 08:58:12.000000000 +0100
+++ gcc/Makefile.in 2010-01-21 10:00:45.555730868 +0100
@@ -2751,7 +2751,7 @@ var-tracking.o : var-tracking.c $(CONFIG
$(RTL_H) $(TREE_H) hard-reg-set.h insn-config.h reload.h $(FLAGS_H) \
$(BASIC_BLOCK_H) output.h sbitmap.h alloc-pool.h $(FIBHEAP_H) $(HASHTAB_H) \
$(REGS_H) $(EXPR_H) $(TIMEVAR_H) tree-pass.h cselib.h $(TARGET_H) \
- $(TREE_FLOW_H)
+ $(TREE_FLOW_H) $(TOPLEV_H) $(PARAMS_H)
profile.o : profile.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
$(TREE_H) $(FLAGS_H) output.h $(REGS_H) $(EXPR_H) $(FUNCTION_H) \
$(TOPLEV_H) $(COVERAGE_H) $(TREE_FLOW_H) value-prof.h cfghooks.h \

View File

@ -1,52 +0,0 @@
2010-02-08 Roland McGrath <roland@redhat.com>
* config/rs6000/sysv4.h (LINK_EH_SPEC): Pass --no-add-needed to the
linker.
* config/linux.h (LINK_EH_SPEC): Likewise.
* config/alpha/elf.h (LINK_EH_SPEC): Likewise.
* config/ia64/linux.h (LINK_EH_SPEC): Likewise.
--- gcc/config/alpha/elf.h.~1~
+++ gcc/config/alpha/elf.h
@@ -421,7 +421,7 @@ extern int alpha_this_gpdisp_sequence_nu
I imagine that other systems will catch up. In the meantime, it
doesn't harm to make sure that the data exists to be used later. */
#if defined(HAVE_LD_EH_FRAME_HDR)
-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
+#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} %{!r:--build-id} "
#endif
/* A C statement (sans semicolon) to output to the stdio stream STREAM
--- gcc/config/ia64/linux.h.~1~
+++ gcc/config/ia64/linux.h
@@ -58,7 +58,7 @@ do { \
Signalize that because we have fde-glibc, we don't need all C shared libs
linked against -lgcc_s. */
#undef LINK_EH_SPEC
-#define LINK_EH_SPEC "%{!r:--build-id} "
+#define LINK_EH_SPEC "--no-add-needed %{!r:--build-id} "
#define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
--- gcc/config/linux.h.~1~
+++ gcc/config/linux.h
@@ -89,7 +89,7 @@ see the files COPYING3 and COPYING.RUNTI
} while (0)
#if defined(HAVE_LD_EH_FRAME_HDR)
-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
+#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} %{!r:--build-id} "
#endif
/* Define this so we can compile MS code for use with WINE. */
--- gcc/config/rs6000/sysv4.h.~1~
+++ gcc/config/rs6000/sysv4.h
@@ -917,7 +917,7 @@ SVR4_ASM_SPEC \
%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
#if defined(HAVE_LD_EH_FRAME_HDR)
-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
+# define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} %{!r:--build-id} "
#endif
#define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \

View File

@ -1,86 +0,0 @@
2005-11-28 Jakub Jelinek <jakub@redhat.com>
* config/rs6000/rs6000.c (rs6000_return_addr): If COUNT == 0,
read word RETURN_ADDRESS_OFFSET bytes above arg_pointer_rtx
instead of doing an extran indirection from frame_pointer_rtx.
* gcc.dg/20051128-1.c: New test.
--- gcc/config/rs6000/rs6000.c.jj 2005-11-26 14:38:01.000000000 +0100
+++ gcc/config/rs6000/rs6000.c 2005-11-28 20:32:18.000000000 +0100
@@ -13166,17 +13166,22 @@ rs6000_return_addr (int count, rtx frame
don't try to be too clever here. */
if (count != 0 || (DEFAULT_ABI != ABI_AIX && flag_pic))
{
+ rtx x;
cfun->machine->ra_needs_full_frame = 1;
- return
- gen_rtx_MEM
- (Pmode,
- memory_address
- (Pmode,
- plus_constant (copy_to_reg
- (gen_rtx_MEM (Pmode,
- memory_address (Pmode, frame))),
- RETURN_ADDRESS_OFFSET)));
+ if (count == 0)
+ {
+ gcc_assert (frame == frame_pointer_rtx);
+ x = arg_pointer_rtx;
+ }
+ else
+ {
+ x = memory_address (Pmode, frame);
+ x = copy_to_reg (gen_rtx_MEM (Pmode, x));
+ }
+
+ x = plus_constant (x, RETURN_ADDRESS_OFFSET);
+ return gen_rtx_MEM (Pmode, memory_address (Pmode, x));
}
cfun->machine->ra_need_lr = 1;
--- gcc/testsuite/gcc.dg/20051128-1.c.jj 2005-10-10 11:21:41.096999000 +0200
+++ gcc/testsuite/gcc.dg/20051128-1.c 2005-11-28 12:30:57.000000000 +0100
@@ -0,0 +1,41 @@
+/* { dg-do run } */
+/* { dg-options "-O2 -fpic" } */
+
+extern void exit (int);
+extern void abort (void);
+
+int b;
+
+struct A
+{
+ void *pad[147];
+ void *ra, *h;
+ long o;
+};
+
+void
+__attribute__((noinline))
+foo (struct A *a, void *x)
+{
+ __builtin_memset (a, 0, sizeof (a));
+ if (!b)
+ exit (0);
+}
+
+void
+__attribute__((noinline))
+bar (void)
+{
+ struct A a;
+
+ __builtin_unwind_init ();
+ foo (&a, __builtin_return_address (0));
+}
+
+int
+main (void)
+{
+ bar ();
+ abort ();
+ return 0;
+}

View File

@ -1,24 +0,0 @@
2009-09-16 Jakub Jelinek <jakub@redhat.com>
* config/rs6000/sysv4.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Disable
out of line gpr/fpr saving for -m64 -Os -mcall-aixdesc.
--- gcc/config/rs6000/sysv4.h.jj 2009-09-16 14:46:19.000000000 +0200
+++ gcc/config/rs6000/sysv4.h 2009-09-16 14:46:19.000000000 +0200
@@ -273,12 +273,14 @@ do { \
/* Define cutoff for using external functions to save floating point.
When optimizing for size, use external functions when profitable. */
#define FP_SAVE_INLINE(FIRST_REG) (optimize_size \
+ && (!TARGET_64BIT || !DOT_SYMBOLS) \
? ((FIRST_REG) == 62 \
|| (FIRST_REG) == 63) \
: (FIRST_REG) < 64)
/* And similarly for general purpose registers. */
-#define GP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) < 32 \
- && !optimize_size)
+#define GP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) < 32 \
+ && (!optimize_size \
+ || (TARGET_64BIT && DOT_SYMBOLS)))
/* Put jump tables in read-only memory, rather than in .text. */
#define JUMP_TABLES_IN_TEXT_SECTION 0

View File

@ -1,153 +0,0 @@
2007-11-06 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/33763
* gcc.dg/pr33763.c: New test.
* g++.dg/opt/inline13.C: New test.
2007-11-06 Jan Hubicka <jh@suse.cz>
PR tree-optimization/33763
* tree-inline.c (expand_call_inline): Silently ignore always_inline
attribute for redefined extern inline functions.
--- gcc/tree-inline.c.jj 2007-11-06 09:29:04.000000000 +0100
+++ gcc/tree-inline.c 2007-11-06 16:19:12.000000000 +0100
@@ -3157,6 +3157,12 @@ expand_call_inline (basic_block bb, gimp
goto egress;
if (lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn))
+ /* For extern inline functions that get redefined we always
+ silently ignored alway_inline flag. Better behaviour would
+ be to be able to keep both bodies and use extern inline body
+ for inlining, but we can't do that because frontends overwrite
+ the body. */
+ && !cg_edge->callee->local.redefined_extern_inline
/* Avoid warnings during early inline pass. */
&& cgraph_global_info_ready)
{
--- gcc/testsuite/gcc.dg/pr33763.c.jj 2007-11-06 16:19:12.000000000 +0100
+++ gcc/testsuite/gcc.dg/pr33763.c 2007-11-06 16:19:12.000000000 +0100
@@ -0,0 +1,60 @@
+/* PR tree-optimization/33763 */
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+typedef struct
+{
+ void *a;
+ void *b;
+} T;
+extern void *foo (const char *, const char *);
+extern void *bar (void *, const char *, T);
+extern int baz (const char *, int);
+
+extern inline __attribute__ ((always_inline, gnu_inline)) int
+baz (const char *x, int y)
+{
+ return 2;
+}
+
+int
+baz (const char *x, int y)
+{
+ return 1;
+}
+
+int xa, xb;
+
+static void *
+inl (const char *x, const char *y)
+{
+ T t = { &xa, &xb };
+ int *f = (int *) __builtin_malloc (sizeof (int));
+ const char *z;
+ int o = 0;
+ void *r = 0;
+
+ for (z = y; *z; z++)
+ {
+ if (*z == 'r')
+ o |= 1;
+ if (*z == 'w')
+ o |= 2;
+ }
+ if (o == 1)
+ *f = baz (x, 0);
+ if (o == 2)
+ *f = baz (x, 1);
+ if (o == 3)
+ *f = baz (x, 2);
+
+ if (o && *f > 0)
+ r = bar (f, "w", t);
+ return r;
+}
+
+void *
+foo (const char *x, const char *y)
+{
+ return inl (x, y);
+}
--- gcc/testsuite/g++.dg/opt/inline13.C.jj 2007-11-06 16:20:20.000000000 +0100
+++ gcc/testsuite/g++.dg/opt/inline13.C 2007-11-06 16:21:30.000000000 +0100
@@ -0,0 +1,60 @@
+// PR tree-optimization/33763
+// { dg-do compile }
+// { dg-options "-O2" }
+
+typedef struct
+{
+ void *a;
+ void *b;
+} T;
+extern void *foo (const char *, const char *);
+extern void *bar (void *, const char *, T);
+extern int baz (const char *, int);
+
+extern inline __attribute__ ((always_inline, gnu_inline)) int
+baz (const char *x, int y)
+{
+ return 2;
+}
+
+int
+baz (const char *x, int y)
+{
+ return 1;
+}
+
+int xa, xb;
+
+static void *
+inl (const char *x, const char *y)
+{
+ T t = { &xa, &xb };
+ int *f = (int *) __builtin_malloc (sizeof (int));
+ const char *z;
+ int o = 0;
+ void *r = 0;
+
+ for (z = y; *z; z++)
+ {
+ if (*z == 'r')
+ o |= 1;
+ if (*z == 'w')
+ o |= 2;
+ }
+ if (o == 1)
+ *f = baz (x, 0);
+ if (o == 2)
+ *f = baz (x, 1);
+ if (o == 3)
+ *f = baz (x, 2);
+
+ if (o && *f > 0)
+ r = bar (f, "w", t);
+ return r;
+}
+
+void *
+foo (const char *x, const char *y)
+{
+ return inl (x, y);
+}

View File

@ -1,125 +0,0 @@
2009-03-18 Jakub Jelinek <jakub@redhat.com>
PR debug/38757
* langhooks.h (struct lang_hooks): Add source_language langhook.
* langhooks-def.h (LANG_HOOKS_SOURCE_LANGUAGE): Define to NULL.
(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_SOURCE_LANGUAGE.
* c-lang.c (c_source_language): New function.
(LANG_HOOKS_SOURCE_LANGUAGE): Define.
* dwarf2out.c (add_prototyped_attribute): Add DW_AT_prototype
also for DW_LANG_{C,C99,ObjC}.
(gen_compile_unit_die): Use lang_hooks.source_language () to
determine if DW_LANG_C99 or DW_LANG_C89 should be returned.
--- gcc/langhooks.h.jj 2009-03-02 09:45:47.000000000 +0100
+++ gcc/langhooks.h 2009-03-18 12:53:24.000000000 +0100
@@ -1,5 +1,5 @@
/* The lang_hooks data structure.
- Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
This file is part of GCC.
@@ -414,6 +414,10 @@ struct lang_hooks
if in the process TREE_CONSTANT or TREE_SIDE_EFFECTS need updating. */
tree (*expr_to_decl) (tree expr, bool *tc, bool *se);
+ /* Return year of the source language standard version if the FE supports
+ multiple versions of the standard. */
+ int (*source_language) (void);
+
/* Whenever you add entries here, make sure you adjust langhooks-def.h
and langhooks.c accordingly. */
};
--- gcc/langhooks-def.h.jj 2009-03-02 09:45:47.000000000 +0100
+++ gcc/langhooks-def.h 2009-03-18 12:53:45.000000000 +0100
@@ -1,5 +1,5 @@
/* Default macros to initialize the lang_hooks data structure.
- Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
Contributed by Alexandre Oliva <aoliva@redhat.com>
@@ -113,6 +113,7 @@ extern void lhd_omp_firstprivatize_type_
#define LANG_HOOKS_EXPR_TO_DECL lhd_expr_to_decl
#define LANG_HOOKS_TO_TARGET_CHARSET lhd_to_target_charset
#define LANG_HOOKS_INIT_TS lhd_do_nothing
+#define LANG_HOOKS_SOURCE_LANGUAGE NULL
/* Attribute hooks. */
#define LANG_HOOKS_ATTRIBUTE_TABLE NULL
@@ -270,6 +271,7 @@ extern tree lhd_make_node (enum tree_cod
LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE, \
LANG_HOOKS_INIT_TS, \
LANG_HOOKS_EXPR_TO_DECL, \
+ LANG_HOOKS_SOURCE_LANGUAGE, \
}
#endif /* GCC_LANG_HOOKS_DEF_H */
--- gcc/c-lang.c.jj 2009-02-20 15:06:14.000000000 +0100
+++ gcc/c-lang.c 2009-03-18 13:33:41.000000000 +0100
@@ -1,6 +1,6 @@
/* Language-specific hook definitions for C front end.
Copyright (C) 1991, 1995, 1997, 1998,
- 1999, 2000, 2001, 2003, 2004, 2005, 2007, 2008
+ 1999, 2000, 2001, 2003, 2004, 2005, 2007, 2008, 2009
Free Software Foundation, Inc.
This file is part of GCC.
@@ -37,6 +37,12 @@ along with GCC; see the file COPYING3.
enum c_language_kind c_language = clk_c;
+static int
+c_source_language (void)
+{
+ return flag_isoc99 ? 1999 : 1989;
+}
+
/* Lang hooks common to C and ObjC are declared in c-objc-common.h;
consequently, there should be very few hooks below. */
@@ -44,6 +50,8 @@ enum c_language_kind c_language = clk_c;
#define LANG_HOOKS_NAME "GNU C"
#undef LANG_HOOKS_INIT
#define LANG_HOOKS_INIT c_objc_common_init
+#undef LANG_HOOKS_SOURCE_LANGUAGE
+#define LANG_HOOKS_SOURCE_LANGUAGE c_source_language
/* Each front end provides its own lang hook initializer. */
const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
--- gcc/dwarf2out.c.jj 2009-03-17 13:06:29.000000000 +0100
+++ gcc/dwarf2out.c 2009-03-18 12:55:36.000000000 +0100
@@ -14286,9 +14286,18 @@ add_bit_size_attribute (dw_die_ref die,
static inline void
add_prototyped_attribute (dw_die_ref die, tree func_type)
{
- if (get_AT_unsigned (comp_unit_die, DW_AT_language) == DW_LANG_C89
- && TYPE_ARG_TYPES (func_type) != NULL)
- add_AT_flag (die, DW_AT_prototyped, 1);
+ switch (get_AT_unsigned (comp_unit_die, DW_AT_language))
+ {
+ case DW_LANG_C:
+ case DW_LANG_C89:
+ case DW_LANG_C99:
+ case DW_LANG_ObjC:
+ if (TYPE_ARG_TYPES (func_type) != NULL)
+ add_AT_flag (die, DW_AT_prototyped, 1);
+ break;
+ default:
+ break;
+ }
}
/* Add an 'abstract_origin' attribute below a given DIE. The DIE is found
@@ -16290,6 +16299,10 @@ gen_compile_unit_die (const char *filena
language = DW_LANG_ObjC;
else if (strcmp (language_string, "GNU Objective-C++") == 0)
language = DW_LANG_ObjC_plus_plus;
+ else if (strcmp (language_string, "GNU C") == 0
+ && lang_hooks.source_language
+ && lang_hooks.source_language () >= 1999)
+ language = DW_LANG_C99;
}
add_AT_unsigned (die, DW_AT_language, language);

View File

@ -1,34 +0,0 @@
2007-10-16 Jakub Jelinek <jakub@redhat.com>
* Makefile.am (libgcj_tools_la_LIBADD): Add.
* Makefile.in: Regenerated.
--- libjava/Makefile.am.jj 2009-05-06 08:14:50.000000000 +0200
+++ libjava/Makefile.am 2009-05-06 10:26:43.000000000 +0200
@@ -314,6 +314,8 @@ libgcj_tools_la_SOURCES = classpath/tool
libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch \
-fno-bootstrap-classes -fno-indirect-classes \
-fsource-filename=$(here)/classpath/tools/all-classes.lst
+## See jv_convert_LDADD.
+libgcj_tools_la_LIBADD = -L$(here)/.libs libgcj.la
libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \
-version-info `grep -v '^\#' $(srcdir)/libtool-version` \
$(LIBGCJ_LD_SYMBOLIC_FUNCTIONS)
--- libjava/Makefile.in.jj 2009-05-06 08:14:49.000000000 +0200
+++ libjava/Makefile.in 2009-05-06 10:27:18.000000000 +0200
@@ -160,7 +160,6 @@ am__objects_1 = gnu/gcj/xlib/lib_gnu_awt
am_lib_gnu_awt_xlib_la_OBJECTS = $(am__objects_1)
lib_gnu_awt_xlib_la_OBJECTS = $(am_lib_gnu_awt_xlib_la_OBJECTS)
@XLIB_AWT_TRUE@am_lib_gnu_awt_xlib_la_rpath = -rpath $(toolexeclibdir)
-libgcj_tools_la_LIBADD =
am_libgcj_tools_la_OBJECTS = classpath/tools/libgcj_tools_la-tools.lo
libgcj_tools_la_OBJECTS = $(am_libgcj_tools_la_OBJECTS)
@INTERPRETER_TRUE@am__DEPENDENCIES_1 = gnu/classpath/jdwp.lo \
@@ -1041,6 +1040,7 @@ libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS
-fno-bootstrap-classes -fno-indirect-classes \
-fsource-filename=$(here)/classpath/tools/all-classes.lst
+libgcj_tools_la_LIBADD = -L$(here)/.libs libgcj.la
libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \
-version-info `grep -v '^\#' $(srcdir)/libtool-version` \
$(LIBGCJ_LD_SYMBOLIC_FUNCTIONS)

View File

@ -1,28 +0,0 @@
2007-10-21 Jakub Jelinek <jakub@redhat.com>
* doc/Makefile.am (POD2MAN): Set date from cp-tools.texinfo
timestamp rather than from current date.
* doc/Makefile.in: Regenerated.
--- libjava/classpath/doc/Makefile.am.jj 2007-12-07 17:55:00.000000000 +0100
+++ libjava/classpath/doc/Makefile.am 2007-12-07 18:55:28.000000000 +0100
@@ -31,7 +31,7 @@ TOOLS_MANFILES = \
gtnameserv.1 \
gjdoc.1
-POD2MAN = pod2man --center="GNU" --release="$(VERSION)"
+POD2MAN = pod2man --center="GNU" --release="$(VERSION)" --date="$(shell ls --time-style=+%F -l $(srcdir)/cp-tools.texinfo | awk '{print $$6}')"
TEXI2POD = perl $(srcdir)/texi2pod.pl
STAMP = echo timestamp >
--- libjava/classpath/doc/Makefile.in.jj 2007-12-07 17:55:00.000000000 +0100
+++ libjava/classpath/doc/Makefile.in 2007-12-07 18:55:43.000000000 +0100
@@ -382,7 +382,7 @@ TOOLS_MANFILES = \
gtnameserv.1 \
gjdoc.1
-POD2MAN = pod2man --center="GNU" --release="$(VERSION)"
+POD2MAN = pod2man --center="GNU" --release="$(VERSION)" --date="$(shell ls --time-style=+%F -l $(srcdir)/cp-tools.texinfo | awk '{print $$6}')"
TEXI2POD = perl $(srcdir)/texi2pod.pl
STAMP = echo timestamp >
@GENINSRC_FALSE@STAMP_GENINSRC =

View File

@ -1,40 +0,0 @@
--- gcc/config.gcc.jj 2008-04-24 15:42:46.000000000 -0500
+++ gcc/config.gcc 2008-04-24 15:44:51.000000000 -0500
@@ -2175,7 +2175,7 @@ sparc-*-elf*)
tmake_file="sparc/t-elf sparc/t-crtfm"
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
;;
-sparc-*-linux*) # SPARC's running GNU/Linux, libc6
+sparc-*-linux* | sparcv9*-*-linux*) # SPARC's running GNU/Linux, libc6
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h"
extra_options="${extra_options} sparc/long-double-switch.opt"
tmake_file="${tmake_file} sparc/t-linux"
@@ -2287,7 +2287,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*
*) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
esac
;;
-sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
+sparc64*-*-linux*) # 64-bit SPARC's running GNU/Linux
tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h sparc/linux64.h"
extra_options="${extra_options} sparc/long-double-switch.opt"
tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm"
--- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500
+++ libgcc/config.host 2008-04-24 15:46:49.000000000 -0500
@@ -572,7 +572,7 @@ sparc64-*-openbsd*)
;;
sparc-*-elf*)
;;
-sparc-*-linux*) # SPARC's running GNU/Linux, libc6
+sparc-*-linux* | sparcv9*-*-linux*) # SPARC's running GNU/Linux, libc6
extra_parts="$extra_parts crtfastmath.o"
tmake_file="${tmake_file} sparc/t-crtfm"
;;
@@ -590,7 +590,7 @@ sparc-wrs-vxworks)
;;
sparc64-*-freebsd*|ultrasparc-*-freebsd*)
;;
-sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
+sparc64*-*-linux*) # 64-bit SPARC's running GNU/Linux
extra_parts="$extra_parts crtfastmath.o"
tmake_file="${tmake_file} sparc/t-crtfm"
;;

View File

@ -1,46 +0,0 @@
2009-05-27 Tom Tromey <tromey@redhat.com>
* unwind-dw2.c (_Unwind_DebugHook): New function.
(uw_install_context): Call _Unwind_DebugHook.
--- gcc/unwind-dw2.c (revision 147933)
+++ gcc/unwind-dw2.c (revision 147934)
@@ -1473,18 +1473,31 @@ uw_init_context_1 (struct _Unwind_Contex
context->ra = __builtin_extract_return_addr (outer_ra);
}
+static void _Unwind_DebugHook (void *, void *) __attribute__ ((__noinline__));
+
+/* This function is called during unwinding. It is intended as a hook
+ for a debugger to intercept exceptions. CFA is the CFA of the
+ target frame. HANDLER is the PC to which control will be
+ transferred. */
+static void
+_Unwind_DebugHook (void *cfa __attribute__ ((__unused__)),
+ void *handler __attribute__ ((__unused__)))
+{
+ asm ("");
+}
/* Install TARGET into CURRENT so that we can return to it. This is a
macro because __builtin_eh_return must be invoked in the context of
our caller. */
-#define uw_install_context(CURRENT, TARGET) \
- do \
- { \
- long offset = uw_install_context_1 ((CURRENT), (TARGET)); \
- void *handler = __builtin_frob_return_addr ((TARGET)->ra); \
- __builtin_eh_return (offset, handler); \
- } \
+#define uw_install_context(CURRENT, TARGET) \
+ do \
+ { \
+ long offset = uw_install_context_1 ((CURRENT), (TARGET)); \
+ void *handler = __builtin_frob_return_addr ((TARGET)->ra); \
+ _Unwind_DebugHook ((TARGET)->cfa, handler); \
+ __builtin_eh_return (offset, handler); \
+ } \
while (0)
static long

View File

@ -1,9 +0,0 @@
gcc-4_4_0-0_3:HEAD:gcc-4.4.0-0.3.src.rpm:1232130841
gcc-4_4_0-5:HEAD:gcc-4.4.0-5.src.rpm:1242291126
gcc-4_4_2-14_fc13:HEAD:gcc-4.4.2-14.fc13.src.rpm:1259930464
gcc-4_4_2-20_fc13:HEAD:gcc-4.4.2-20.fc13.src.rpm:1261484502
gcc-4_4_2-25_fc13:HEAD:gcc-4.4.2-25.fc13.src.rpm:1263487371
gcc-4_4_3-1_fc13:HEAD:gcc-4.4.3-1.fc13.src.rpm:1264094717
gcc-4_4_3-4_fc13:HEAD:gcc-4.4.3-4.fc13.src.rpm:1264621537
gcc-4_4_3-5_fc13:HEAD:gcc-4.4.3-5.fc13.src.rpm:1265659730
gcc-4_4_3-6_fc13:HEAD:gcc-4.4.3-6.fc13.src.rpm:1265925505

View File

@ -1,483 +0,0 @@
#ifdef __sparc__
register void *__thread_self __asm ("g7");
#endif
#include <unistd.h>
#include <fcntl.h>
#include <syscall.h>
#if defined __i386__
# define INTERNAL_SYSCALL_DECL(err) do { } while (0)
# define INTERNAL_SYSCALL(name, err, nr, args...) \
({ \
register unsigned int resultvar; \
asm volatile ( \
"movl %1, %%eax\n\t" \
"int $0x80\n\t" \
: "=a" (resultvar) \
: "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc"); \
(int) resultvar; })
# define INTERNAL_SYSCALL_ERROR_P(val, err) \
((unsigned int) (val) >= 0xfffff001u)
# define ASMFMT_0()
# define ASMFMT_1(arg1) \
, "b" (arg1)
# define ASMFMT_2(arg1, arg2) \
, "b" (arg1), "c" (arg2)
# define ASMFMT_3(arg1, arg2, arg3) \
, "b" (arg1), "c" (arg2), "d" (arg3)
#elif defined __x86_64__
# define INTERNAL_SYSCALL_DECL(err) do { } while (0)
# define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \
({ \
unsigned long resultvar; \
LOAD_ARGS_##nr (args) \
LOAD_REGS_##nr \
asm volatile ( \
"syscall\n\t" \
: "=a" (resultvar) \
: "0" (name) ASM_ARGS_##nr : "memory", "cc", "r11", "cx"); \
(long) resultvar; })
# define INTERNAL_SYSCALL(name, err, nr, args...) \
INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args)
# define INTERNAL_SYSCALL_ERROR_P(val, err) \
((unsigned long) (val) >= -4095L)
# define LOAD_ARGS_0()
# define LOAD_REGS_0
# define ASM_ARGS_0
# define LOAD_ARGS_1(a1) \
long int __arg1 = (long) (a1); \
LOAD_ARGS_0 ()
# define LOAD_REGS_1 \
register long int _a1 asm ("rdi") = __arg1; \
LOAD_REGS_0
# define ASM_ARGS_1 ASM_ARGS_0, "r" (_a1)
# define LOAD_ARGS_2(a1, a2) \
long int __arg2 = (long) (a2); \
LOAD_ARGS_1 (a1)
# define LOAD_REGS_2 \
register long int _a2 asm ("rsi") = __arg2; \
LOAD_REGS_1
# define ASM_ARGS_2 ASM_ARGS_1, "r" (_a2)
# define LOAD_ARGS_3(a1, a2, a3) \
long int __arg3 = (long) (a3); \
LOAD_ARGS_2 (a1, a2)
# define LOAD_REGS_3 \
register long int _a3 asm ("rdx") = __arg3; \
LOAD_REGS_2
# define ASM_ARGS_3 ASM_ARGS_2, "r" (_a3)
#elif defined __powerpc__
# define INTERNAL_SYSCALL_DECL(err) long int err
# define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \
({ \
register long int r0 __asm__ ("r0"); \
register long int r3 __asm__ ("r3"); \
register long int r4 __asm__ ("r4"); \
register long int r5 __asm__ ("r5"); \
register long int r6 __asm__ ("r6"); \
register long int r7 __asm__ ("r7"); \
register long int r8 __asm__ ("r8"); \
LOADARGS_##nr(name, args); \
__asm__ __volatile__ \
("sc\n\t" \
"mfcr %0\n\t" \
: "=&r" (r0), \
"=&r" (r3), "=&r" (r4), "=&r" (r5), \
"=&r" (r6), "=&r" (r7), "=&r" (r8) \
: ASM_INPUT_##nr \
: "r9", "r10", "r11", "r12", \
"cr0", "ctr", "memory"); \
err = r0; \
(int) r3; \
})
# define INTERNAL_SYSCALL(name, err, nr, args...) \
INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args)
# define INTERNAL_SYSCALL_ERROR_P(val, err) \
((void) (val), __builtin_expect ((err) & (1 << 28), 0))
# define LOADARGS_0(name, dummy) \
r0 = name
# define LOADARGS_1(name, __arg1) \
long int arg1 = (long int) (__arg1); \
LOADARGS_0(name, 0); \
r3 = arg1
# define LOADARGS_2(name, __arg1, __arg2) \
long int arg2 = (long int) (__arg2); \
LOADARGS_1(name, __arg1); \
r4 = arg2
# define LOADARGS_3(name, __arg1, __arg2, __arg3) \
long int arg3 = (long int) (__arg3); \
LOADARGS_2(name, __arg1, __arg2); \
r5 = arg3
# define ASM_INPUT_0 "0" (r0)
# define ASM_INPUT_1 ASM_INPUT_0, "1" (r3)
# define ASM_INPUT_2 ASM_INPUT_1, "2" (r4)
# define ASM_INPUT_3 ASM_INPUT_2, "3" (r5)
#elif defined __ia64__
# define DO_INLINE_SYSCALL_NCS(name, nr, args...) \
LOAD_ARGS_##nr (args) \
register long _r8 asm ("r8"); \
register long _r10 asm ("r10"); \
register long _r15 asm ("r15") = name; \
long _retval; \
LOAD_REGS_##nr \
__asm __volatile ("break 0x100000;;" \
: "=r" (_r8), "=r" (_r10), "=r" (_r15) \
ASM_OUTARGS_##nr \
: "2" (_r15) ASM_ARGS_##nr \
: "memory" ASM_CLOBBERS_##nr); \
_retval = _r8;
# define INTERNAL_SYSCALL_DECL(err) long int err
# define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \
({ \
DO_INLINE_SYSCALL_NCS (name, nr, args) \
err = _r10; \
_retval; })
# define INTERNAL_SYSCALL(name, err, nr, args...) \
INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args)
# define INTERNAL_SYSCALL_ERROR_P(val, err) (err == -1)
# define LOAD_ARGS_0()
# define LOAD_REGS_0
# define LOAD_ARGS_1(a1) \
long _arg1 = (long) (a1); \
LOAD_ARGS_0 ()
# define LOAD_REGS_1 \
register long _out0 asm ("out0") = _arg1; \
LOAD_REGS_0
# define LOAD_ARGS_2(a1, a2) \
long _arg2 = (long) (a2); \
LOAD_ARGS_1 (a1)
# define LOAD_REGS_2 \
register long _out1 asm ("out1") = _arg2; \
LOAD_REGS_1
# define LOAD_ARGS_3(a1, a2, a3) \
long _arg3 = (long) (a3); \
LOAD_ARGS_2 (a1, a2)
# define LOAD_REGS_3 \
register long _out2 asm ("out2") = _arg3; \
LOAD_REGS_2
# define ASM_OUTARGS_0
# define ASM_OUTARGS_1 ASM_OUTARGS_0, "=r" (_out0)
# define ASM_OUTARGS_2 ASM_OUTARGS_1, "=r" (_out1)
# define ASM_OUTARGS_3 ASM_OUTARGS_2, "=r" (_out2)
# define ASM_ARGS_0
# define ASM_ARGS_1 ASM_ARGS_0, "3" (_out0)
# define ASM_ARGS_2 ASM_ARGS_1, "4" (_out1)
# define ASM_ARGS_3 ASM_ARGS_2, "5" (_out2)
# define ASM_CLOBBERS_0 ASM_CLOBBERS_1, "out0"
# define ASM_CLOBBERS_1 ASM_CLOBBERS_2, "out1"
# define ASM_CLOBBERS_2 ASM_CLOBBERS_3, "out2"
# define ASM_CLOBBERS_3 ASM_CLOBBERS_4, "out3"
# define ASM_CLOBBERS_4 ASM_CLOBBERS_5, "out4"
# define ASM_CLOBBERS_5 ASM_CLOBBERS_6, "out5"
# define ASM_CLOBBERS_6_COMMON , "out6", "out7", \
/* Non-stacked integer registers, minus r8, r10, r15. */ \
"r2", "r3", "r9", "r11", "r12", "r13", "r14", "r16", "r17", "r18", \
"r19", "r20", "r21", "r22", "r23", "r24", "r25", "r26", "r27", \
"r28", "r29", "r30", "r31", \
/* Predicate registers. */ \
"p6", "p7", "p8", "p9", "p10", "p11", "p12", "p13", "p14", "p15", \
/* Non-rotating fp registers. */ \
"f6", "f7", "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \
/* Branch registers. */ \
"b6"
# define ASM_CLOBBERS_6 ASM_CLOBBERS_6_COMMON , "b7"
#elif defined __s390__
# define INTERNAL_SYSCALL_DECL(err) do { } while (0)
# define INTERNAL_SYSCALL_DIRECT(name, err, nr, args...) \
({ \
DECLARGS_##nr(args) \
register long _ret asm("2"); \
asm volatile ( \
"svc %b1\n\t" \
: "=d" (_ret) \
: "i" (__NR_##name) ASMFMT_##nr \
: "memory" ); \
_ret; })
# define INTERNAL_SYSCALL_SVC0(name, err, nr, args...) \
({ \
DECLARGS_##nr(args) \
register unsigned long _nr asm("1") = (unsigned long)(__NR_##name); \
register long _ret asm("2"); \
asm volatile ( \
"svc 0\n\t" \
: "=d" (_ret) \
: "d" (_nr) ASMFMT_##nr \
: "memory" ); \
_ret; })
# define INTERNAL_SYSCALL(name, err, nr, args...) \
(((__NR_##name) < 256) ? \
INTERNAL_SYSCALL_DIRECT(name, err, nr, args) : \
INTERNAL_SYSCALL_SVC0(name, err,nr, args))
# define INTERNAL_SYSCALL_ERROR_P(val, err) \
((unsigned long) (val) >= -4095UL)
# define DECLARGS_0()
# define DECLARGS_1(arg1) \
register unsigned long gpr2 asm ("2") = (unsigned long)(arg1);
# define DECLARGS_2(arg1, arg2) \
DECLARGS_1(arg1) \
register unsigned long gpr3 asm ("3") = (unsigned long)(arg2);
# define DECLARGS_3(arg1, arg2, arg3) \
DECLARGS_2(arg1, arg2) \
register unsigned long gpr4 asm ("4") = (unsigned long)(arg3);
# define ASMFMT_0
# define ASMFMT_1 , "0" (gpr2)
# define ASMFMT_2 , "0" (gpr2), "d" (gpr3)
# define ASMFMT_3 , "0" (gpr2), "d" (gpr3), "d" (gpr4)
#elif defined __sparc__
# ifndef __arch64__
# define __INTERNAL_SYSCALL_STRING \
"ta 0x10;" \
"bcs,a 1f;" \
" sub %%g0, %%o0, %%o0;" \
"1:"
# define __SYSCALL_CLOBBERS "g2", "g3", "g4", "g5", "g6", \
"f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \
"f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \
"f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", \
"f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", \
"cc", "memory"
# else
# define __INTERNAL_SYSCALL_STRING \
"ta 0x6d;" \
"bcs,a,pt %%xcc, 1f;" \
" sub %%g0, %%o0, %%o0;" \
"1:"
# define __SYSCALL_CLOBBERS "g2", "g3", "g4", "g5", "g6", \
"f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \
"f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \
"f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", \
"f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", \
"f32", "f34", "f36", "f38", "f40", "f42", "f44", "f46", \
"f48", "f50", "f52", "f54", "f56", "f58", "f60", "f62", \
"cc", "memory"
# endif
#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
#define INTERNAL_SYSCALL(name, err, nr, args...) \
inline_syscall##nr(__INTERNAL_SYSCALL_STRING, __NR_##name, args)
#define INTERNAL_SYSCALL_ERROR_P(val, err) \
((unsigned long) (val) >= -515L)
# define inline_syscall0(string,name,dummy...) \
({ \
register long __o0 __asm__ ("o0"); \
register long __g1 __asm__ ("g1") = name; \
__asm __volatile (string : "=r" (__g1), "=r" (__o0) : \
"0" (__g1) : \
__SYSCALL_CLOBBERS); \
__o0; \
})
# define inline_syscall1(string,name,arg1) \
({ \
register long __o0 __asm__ ("o0") = (long)(arg1); \
register long __g1 __asm__ ("g1") = name; \
__asm __volatile (string : "=r" (__g1), "=r" (__o0) : \
"0" (__g1), "1" (__o0) : \
__SYSCALL_CLOBBERS); \
__o0; \
})
# define inline_syscall2(string,name,arg1,arg2) \
({ \
register long __o0 __asm__ ("o0") = (long)(arg1); \
register long __o1 __asm__ ("o1") = (long)(arg2); \
register long __g1 __asm__ ("g1") = name; \
__asm __volatile (string : "=r" (__g1), "=r" (__o0) : \
"0" (__g1), "1" (__o0), "r" (__o1) : \
__SYSCALL_CLOBBERS); \
__o0; \
})
# define inline_syscall3(string,name,arg1,arg2,arg3) \
({ \
register long __o0 __asm__ ("o0") = (long)(arg1); \
register long __o1 __asm__ ("o1") = (long)(arg2); \
register long __o2 __asm__ ("o2") = (long)(arg3); \
register long __g1 __asm__ ("g1") = name; \
__asm __volatile (string : "=r" (__g1), "=r" (__o0) : \
"0" (__g1), "1" (__o0), "r" (__o1), \
"r" (__o2) : \
__SYSCALL_CLOBBERS); \
__o0; \
})
#elif defined __alpha__
# define INTERNAL_SYSCALL(name, err_out, nr, args...) \
INTERNAL_SYSCALL1(name, err_out, nr, args)
# define INTERNAL_SYSCALL1(name, err_out, nr, args...) \
INTERNAL_SYSCALL_NCS(__NR_##name, err_out, nr, args)
# define INTERNAL_SYSCALL_NCS(name, err_out, nr, args...) \
({ \
long _sc_ret, _sc_err; \
inline_syscall##nr(name, args); \
err_out = _sc_err; \
_sc_ret; \
})
# define INTERNAL_SYSCALL_DECL(err) long int err
# define INTERNAL_SYSCALL_ERROR_P(val, err) err
# define inline_syscall_clobbers \
"$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8", \
"$22", "$23", "$24", "$25", "$27", "$28", "memory"
# define inline_syscall_r0_asm
# define inline_syscall_r0_out_constraint "=v"
# define inline_syscall0(name, args...) \
{ \
register long _sc_0 inline_syscall_r0_asm; \
register long _sc_19 __asm__("$19"); \
\
_sc_0 = name; \
__asm__ __volatile__ \
("callsys # %0 %1 <= %2" \
: inline_syscall_r0_out_constraint (_sc_0), \
"=r"(_sc_19) \
: "0"(_sc_0) \
: inline_syscall_clobbers, \
"$16", "$17", "$18", "$20", "$21"); \
_sc_ret = _sc_0, _sc_err = _sc_19; \
}
# define inline_syscall1(name,arg1) \
{ \
register long _sc_0 inline_syscall_r0_asm; \
register long _sc_16 __asm__("$16"); \
register long _sc_19 __asm__("$19"); \
\
_sc_0 = name; \
_sc_16 = (long) (arg1); \
__asm__ __volatile__ \
("callsys # %0 %1 <= %2 %3" \
: inline_syscall_r0_out_constraint (_sc_0), \
"=r"(_sc_19), "=r"(_sc_16) \
: "0"(_sc_0), "2"(_sc_16) \
: inline_syscall_clobbers, \
"$17", "$18", "$20", "$21"); \
_sc_ret = _sc_0, _sc_err = _sc_19; \
}
# define inline_syscall2(name,arg1,arg2) \
{ \
register long _sc_0 inline_syscall_r0_asm; \
register long _sc_16 __asm__("$16"); \
register long _sc_17 __asm__("$17"); \
register long _sc_19 __asm__("$19"); \
\
_sc_0 = name; \
_sc_16 = (long) (arg1); \
_sc_17 = (long) (arg2); \
__asm__ __volatile__ \
("callsys # %0 %1 <= %2 %3 %4" \
: inline_syscall_r0_out_constraint (_sc_0), \
"=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17) \
: "0"(_sc_0), "2"(_sc_16), "3"(_sc_17) \
: inline_syscall_clobbers, \
"$18", "$20", "$21"); \
_sc_ret = _sc_0, _sc_err = _sc_19; \
}
# define inline_syscall3(name,arg1,arg2,arg3) \
{ \
register long _sc_0 inline_syscall_r0_asm; \
register long _sc_16 __asm__("$16"); \
register long _sc_17 __asm__("$17"); \
register long _sc_18 __asm__("$18"); \
register long _sc_19 __asm__("$19"); \
\
_sc_0 = name; \
_sc_16 = (long) (arg1); \
_sc_17 = (long) (arg2); \
_sc_18 = (long) (arg3); \
__asm__ __volatile__ \
("callsys # %0 %1 <= %2 %3 %4 %5" \
: inline_syscall_r0_out_constraint (_sc_0), \
"=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17), \
"=r"(_sc_18) \
: "0"(_sc_0), "2"(_sc_16), "3"(_sc_17), \
"4"(_sc_18) \
: inline_syscall_clobbers, "$20", "$21"); \
_sc_ret = _sc_0, _sc_err = _sc_19; \
}
#elif defined __arm__ && defined __ARM_EABI__
# define INTERNAL_SYSCALL_DECL(err) do { } while (0)
# define INTERNAL_SYSCALL(name, err, nr, args...) \
({ \
register int _r0 __asm__("r0"); \
register int _nr __asm__("r7"); \
LOAD_ARGS_##nr(args) \
_nr = __NR_##name; \
asm volatile ("swi\t0\t@ syscall " #name "\n\t" \
: "=r" (_r0) \
: "r" (_nr) ASM_ARGS_##nr \
: "memory"); \
_r0; })
# define INTERNAL_SYSCALL_ERROR_P(val, err) \
((unsigned int) (val) >= 0xfffff001u)
# define ASM_ARGS_0
# define ASM_ARGS_1 , "r" (_r0)
# define ASM_ARGS_2 , "r" (_r0), "r" (_r1)
# define ASM_ARGS_3 , "r" (_r0), "r" (_r1), "r" (_r2)
# define LOAD_ARGS_0()
# define LOAD_ARGS_1(r0) \
_r0 = (int)r0;
# define LOAD_ARGS_2(r0, r1) \
_r0 = (int)r0; \
register int _r1 __asm__("r1") = (int)r1;
# define LOAD_ARGS_3(r0, r1, r2) \
_r0 = (int)r0; \
register int _r1 __asm__("r1") = (int)r1; \
register int _r2 __asm__("r2") = (int)r2;
#endif
int main (int argc, char **argv)
{
const char *arg[] = { "/sbin/ldconfig", 0 };
long ret;
INTERNAL_SYSCALL_DECL (err);
ret = INTERNAL_SYSCALL (access, err, 2, arg[0], X_OK);
if (INTERNAL_SYSCALL_ERROR_P (ret, err))
INTERNAL_SYSCALL (exit, err, 1, 0);
INTERNAL_SYSCALL (execve, err, 3, arg[0], arg, &argv[argc + 1]);
INTERNAL_SYSCALL (exit, err, 1, 110);
return 110;
}
int __libc_multiple_threads __attribute__((nocommon));
int __libc_enable_asynccancel (void) { return 0; }
void __libc_disable_asynccancel (int x) { }
void __libc_csu_init (void) { }
void __libc_csu_fini (void) { }
pid_t __fork (void) { return -1; }
char thr_buf[65536];
#ifndef __powerpc__
int __libc_start_main (int (*main) (int argc, char **argv),
int argc, char **argv,
void (*init) (void), void (*fini) (void),
void (*rtld_fini) (void), void * stack_end)
#else
struct startup_info
{
void *sda_base;
int (*main) (int, char **, char **, void *);
int (*init) (int, char **, char **, void *);
void (*fini) (void);
};
int __libc_start_main (int argc, char **argv, char **ev,
void *auxvec, void (*rtld_fini) (void),
struct startup_info *stinfo,
char **stack_on_entry)
#endif
{
#if defined __ia64__ || defined __powerpc64__
register void *r13 __asm ("r13") = thr_buf + 32768;
__asm ("" : : "r" (r13));
#elif defined __sparc__
register void *g6 __asm ("g6") = thr_buf + 32768;
__thread_self = thr_buf + 32768;
__asm ("" : : "r" (g6), "r" (__thread_self));
#elif defined __s390__ && !defined __s390x__
__asm ("sar %%a0,%0" : : "d" (thr_buf + 32768));
#elif defined __s390x__
__asm ("sar %%a1,%0; srlg 0,%0,32; sar %%a0,0" : : "d" (thr_buf + 32768) : "0");
#elif defined __powerpc__ && !defined __powerpc64__
register void *r2 __asm ("r2") = thr_buf + 32768;
__asm ("" : : "r" (r2));
#endif
#ifdef __powerpc__
argc = (long)*stack_on_entry;
argv = stack_on_entry + 1;
#endif
main (argc, argv);
return 110;
}

View File

@ -1,291 +0,0 @@
.\" Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
.\" See section COPYING for conditions for redistribution
.\"
.TH protoize 1 "8 December 2006" "GCC" "GNU"
.SH NAME
protoize, unprotoize \- automatically add or remove function prototypes
.SH SYNOPSIS
.HP 7
\fBprotoize\fR [\-CfgklNnqv] [\-B \fIDIRECTORY\fR] [\-c \fICOMPILATION-OPTIONS\fR] [\-d \fIDIRECTORY\fR] [\-i \fISTRING\fR] [\-p \fIPROGRAM\fR] [\-x \fIFILE\fR] [\fIFILE\fR...]
.HP 7
\fBunprotoize\fR [\-fkNnqv] [\-c \fICOMPILATION-OPTIONS\fR] [\-d \fIDIRECTORY\fR] [\-i \fISTRING\fR] [\-p \fIPROGRAM\fR] [\-x \fIFILE\fR] [\fIFILE\fR...]
.SH DESCRIPTION
.PP
\fBprotoize\fR is an optional part of GCC.
You can use it to add prototypes to a program,
thus converting the program to ANSI C in one respect.
The companion program
\fBunprotoize\fR does the reverse: it removes argument types from any prototypes that are found.
.PP
When you run these programs, you must specify a set of source files
as command line arguments.
The conversion programs start out by compiling these files
to see what functions they define.
The information gathered about a file
\fIFOO\fR is saved in a file named \fIFOO.X\fR.
.PP
After scanning comes the actual conversion.
The specified files are all eligible to be converted;
any files they include (whether sources or just headers) are eligible as well.
.PP
But not all the eligible files are converted.
By default,
\fBprotoize\fR and \fBunprotoize\fR
convert only source and header files in the current directory.
You can specify additional directories whose files
should be converted with the
\fB\-d\fR \fIDIRECTORY\fR option.
You can also specify particular files to exclude with the
\fB\-x\fR \fIFILE\fR option.
A file is converted if it is eligible, its directory name matches one of the
specified directory names, and its name within the directory has not
been excluded.
.PP
Basic conversion with
\fBprotoize\fR consists of rewriting most function definitions and function declarations
to specify the types of the arguments.
The only ones not rewritten are those for varargs functions.
.PP
\fBprotoize\fR optionally inserts prototype declarations at the beginning of the source file,
to make them available for any calls that precede the function's definition.
Or it can insert prototype declarations with block scope
in the blocks where undeclared functions are called.
.PP
Basic conversion with
\fBunprotoize\fR
consists of rewriting most function declarations to remove any argument types,
and rewriting function definitions to the old-style pre-ANSI form.
.PP
Both conversion programs print a warning for any function
declaration or definition that they can't convert.
You can suppress these warnings with the
\fB\-q\fR option.
.PP
The output from
\fBprotoize\fR or \fBunprotoize\fR
replaces the original source file.
The original file is renamed to a name ending with
\fI.save\fR.
If the \fI.save\fR file already exists, then the source file is simply discarded.
.PP
\fBprotoize\fR and \fBunprotoize\fR both depend on
\fBgcc\fR\|(1) to scan the program and collect information about the functions it uses.
.PP
The options are as follows:
.TP
\fB\-B\fR \fIDIRECTORY\fR
Look for the file
\fISYSCALLS.c.X\fR in \fIdirectory\fR,
instead of the usual directory (normally \fI/usr/local/lib\fR).
This file contains prototype information about standard system functions.
This option applies only to \fBprotoize\fR.
.TP
\fB\-C\fR
Rename files to end in
\fI.C\fR instead of \fI.c\fR.
This is convenient if you are converting a C program to C++.
This option applies only to
\fBprotoize\fR.
.TP
\fB\-c\fR \fICOMPILATION-OPTIONS\fR
Use \fICOMPILATION-OPTIONS\fR as the options when running \fBgcc\fR\|(1) to produce the
\fI.X\fR files.
The special option \fB\-aux-info\fR is always passed in addition, to tell gcc to write a
\fI.X\fR file.
Note that the compilation options must be given as a single argument to
\fBprotoize\fR or \fBunprotoize\fR.
If you want to specify several gcc options, you must quote the entire set of
compilation options to make them a single word in the shell.
There are certain gcc arguments that you cannot use, because they
would produce the wrong kind of output.
These include
\fB\-g\fR, \fB\-O\fR, \fB\-c\fR, \fB\-S\fR,\fB\-o\fR.
If you include these in the \fICOMPILATION-OPTIONS\fR, they are ignored.
.TP
\fB\-d\fR \fIDIRECTORY\fR
Specify additional directories whose files should be converted.
.TP
\fB\-g\fR
Add explicit global declarations.
This means inserting explicit declarations at the beginning of each
source file for each function that is called in the file and was not declared.
These declarations precede the first function definition that contains a
call to an undeclared function.
This option applies only to
.\fBprotoize\fR.
.TP
\fB\-i\fR \fISTRING\fR
Indent old-style parameter declarations with the string
\fISTRING\fR.
This option applies only to
\fBprotoize\fR.
\fBunprotoize\fR converts prototyped function definitions to old-style
function definitions, where the arguments are declared between the
argument list and the initial
\fB{\fR.
By default,
\fBunprotoize\fR uses five spaces as the indentation.
If you want to indent with just one space instead, use
\fB\-i " "\fR.
.TP
\fB\-k\fR
Keep the
\fI.X\fR files.
Normally, they are deleted after conversion is finished.
.TP
\fB\-l\fR
Add explicit local declarations.
\fBprotoize\fR with
\fB\-l\fR inserts a prototype declaration for each function in each block which calls
the function without any declaration.
This option applies only to
\fBprotoize\fR.
.TP
\fB\-N\fR
Make no \fI.save\fR files.
The original files are simply deleted.
Use this option with caution.
.TP
\fB\-n\fR
Make no real changes.
This mode just prints information about the conversions
that would have been done without
\fB\-n\fR.
.TP
\fB\-p\fR \fIPROGRAM\fR
Use the program
\fBPROGRAM\fR as the compiler.
Normally, the name
\fBgcc\fR is used.
.TP
\fB\-q\fR
Work quietly.
Most warnings are suppressed.
.TP
\fB\-v\fR
Print the version number, just like
\fB\-v\fR for gcc.
.TP
\fB\-x\fR \fBFILE\fR
List of files to exclude from the conversion process.
.PP
If you need special compiler options to compile one of your program's
source files, then you should generate that file's
\fI.X\fR file specially, by running gcc on that source file with
the appropriate options and the option
\fB\-aux-info\fR.
Then run
\fBprotoize\fR on the entire set of files.
\fBprotoize\fR will use the existing
\fI.X\fR file because it is newer than the source file.
For example:
.PP
.DL $ gcc -Dfoo=bar file1.c -aux-info
.DL $ protoize *.c
.PP
You need to include the special files along with the rest in the
\fBprotoize\fR command, even though their
\fI.X\fR files already exist, because otherwise they won't get converted.
.PP
.SH SEE ALSO
\fBgcc\fR\|(1), and the Info entry for \fBgcc\fR, particularly
\fBRunning protoize\fR section.
.SH HISTORY
Ron Guilmette implemented the
\fBprotoize\fR and \fBunprotoize\fR tools.
.SH AUTHORS
See the GCC manual for the contributors to GCC.
.SH CAVEATS
The conversion programs \fBprotoize\fR and \fBunprotoize\fR
can sometimes change a source file in a way that won't work
unless you rearrange it.
.PP
\fBprotoize\fR can insert references to a type name or type tag before
the definition, or in a file where they are not defined.
.PP
If this happens, compiler error messages should indicate where the
new references are, so fixing the file by hand is straightforward.
.PP
There are some C constructs which \fBprotoize\fR
cannot figure out.
For example, it can't determine argument types for declaring a
pointer-to-function variable; this must be done by hand. \fBprotoize\fR
inserts a comment containing \fB???\fR each time it finds such a variable;
all such variables can be found by searching for this string.
ANSI C does not require declaring the argument types of
pointer-to-function types.
.PP
Using \fBunprotoize\fR can easily introduce bugs.
If the program relied on prototypes to bring about conversion of arguments,
these conversions will not take place in the program without prototypes.
One case in which you can be sure \fBunprotoize\fR
is safe is when you are removing prototypes that were made with
\fBprotoize\fR; if the program worked before without any prototypes,
it will work again without them.
.PP
You can find all the places where this problem might occur by
compiling the program with the \fB\-Wconversion\fR option.
It prints a warning whenever an argument is converted.
.PP
Both conversion programs can be confused if there are macro calls
in and around the text to be converted.
In other words, the standard syntax for a declaration or definition
must not result from expanding a macro.
This problem is inherent in the design of C and cannot be fixed.
If only a few functions have confusing macro calls,
you can easily convert them manually.
.PP
\fBprotoize\fR cannot get the argument types for a function whose definition was not
actually compiled due to preprocessing conditionals.
When this happens, \fBprotoize\fR changes nothing in regard to such a function.
\fBprotoize\fR tries to detect such instances and warn about them.
.PP
You can generally work around this problem by using
\fBprotoize\fR step by step, each time specifying a different set of
\fB\-D\fR options for compilation, until all of the functions have been converted.
There is no automatic way to verify that you have got them all, however.
.PP
Confusion may result if there is an occasion to convert a function
declaration or definition in a region of source code where there
is more than one formal parameter list present.
Thus, attempts to convert code containing multiple (conditionally compiled)
versions of a single function header (in the same vicinity)
may not produce the desired (or expected) results.
.PP
If you plan on converting source files which contain such code,
it is recommended that you first make sure that each conditionally
compiled region of source code which contains an alternative
function header also contains at least one additional follower
token (past the final right parenthesis of the function header).
This should circumvent the problem.
.PP
\fBunprotoize\fR can become confused when trying to convert a function
definition or declaration which contains a declaration for a
pointer-to-function formal argument which has the same name as the
function being defined or declared.
We recommand you avoid such choices of formal parameter names.
.PP
It might be necessary to correct some of the indentation by hand and
break long lines.
(The conversion programs don't write lines longer than eighty characters
in any case.)
.SH BUGS
For instructions on reporting bugs, see the GCC manual.
.SH COPYING
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
.PP
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.
.PP
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
.PP
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be included in
translations approved by the Free Software Foundation instead of in
the original English.

View File

@ -1,2 +1,3 @@
2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz
080254256e618fa9f8f28e03698b016a gcc-4.4.3-20100211.tar.bz2
SHA512 (gcc-10.0.1-20200216.tar.xz) = 56507e273b00e85ed4145e80df65d9b4e4791f23e7cb5d931f85b9420cbf3a7125ba49978dc73c2987c0a6101f741dc5a60a08cb3346d4c5082400cbcfcdd008
SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 9ceea0b883185fe489724d54a7e909bb6ed4785fcadf80162033dc6a133e2657337175601278e4155d1f8fac275ff9c8a02572aea876166c608774c809f832e9
SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7

7
update-gcc.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/sh
[ -d gcc-dir.tmp ] && echo gcc-dir.tmp already exists && exit 1
git clone --depth 1 git://gcc.gnu.org/git/gcc.git gcc-dir.tmp
git --git-dir=gcc-dir.tmp/.git fetch --depth 1 origin $1
d=`date --iso | sed 's/-//g'`
git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-10.0.1-$d/ $1 | xz -9e > gcc-10.0.1-$d.tar.xz
rm -rf gcc-dir.tmp