summaryrefslogtreecommitdiff
path: root/sys-freebsd/freebsd-sources
diff options
context:
space:
mode:
Diffstat (limited to 'sys-freebsd/freebsd-sources')
-rw-r--r--sys-freebsd/freebsd-sources/Manifest67
-rw-r--r--sys-freebsd/freebsd-sources/files/config-GENTOO4
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-10.0-gentoo.patch22
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-10.1-gcc48.patch18
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-11.0-gentoo-gcc.patch13
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-11.0-gentoo.patch22
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-6.0-flex-2.5.31.patch22
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-6.1-ntfs.patch32
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-7.0-tmpfs_whiteout_stub.patch44
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-7.1-binutils_link.patch37
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-7.1-includes.patch13
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-7.1-types.h-fix.patch15
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-7.2-debug-O2.patch27
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-8.0-gentoo.patch33
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-8.0-subnet-route-pr40133.patch21
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-8.2-unix2.patch55
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.0-disable-optimization.patch32
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.0-ipv6refcount.patch128
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.0-sysctluint.patch13
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-ciss.patch65
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-3077.patch26
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-3266.patch13
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-5209.patch19
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-5691.patch89
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-5710.patch28
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2014-1453.patch70
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-exec.patch66
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-gentoo.patch21
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-ktrace.patch12
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-mmap-2014.patch20
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-mmap.patch20
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-nfsserver.patch16
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-random.patch27
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-tcp.patch32
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-9.2-gentoo-gcc.patch13
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-cve-2012-0217.patch26
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-ubin-10.3-bmake-workaround.patch13
-rw-r--r--sys-freebsd/freebsd-sources/freebsd-sources-10.3-r6.ebuild175
-rw-r--r--sys-freebsd/freebsd-sources/freebsd-sources-11.0-r1.ebuild169
-rw-r--r--sys-freebsd/freebsd-sources/freebsd-sources-11.1_p1.ebuild170
-rw-r--r--sys-freebsd/freebsd-sources/freebsd-sources-8.2-r2.ebuild108
-rw-r--r--sys-freebsd/freebsd-sources/freebsd-sources-9.1-r3.ebuild83
-rw-r--r--sys-freebsd/freebsd-sources/freebsd-sources-9.1-r9.ebuild96
-rw-r--r--sys-freebsd/freebsd-sources/metadata.xml13
44 files changed, 2008 insertions, 0 deletions
diff --git a/sys-freebsd/freebsd-sources/Manifest b/sys-freebsd/freebsd-sources/Manifest
new file mode 100644
index 000000000000..2dd724457b2d
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/Manifest
@@ -0,0 +1,67 @@
+AUX config-GENTOO 73 SHA256 04a7695383baa247120cfd39f399b62c9d9b66682b79bc9bc1117f0aeb95b858 SHA512 436e1e1cb4077488cd1e054a96598c1c6dc2fda5c060d2d6c1bf2986b534016c86ea2afee0dcf883b4bde6946625596ea474a273013b18fdfa5538ebcfe6ea54 WHIRLPOOL 467ed565c0c6b508185f3c7d9a2031ce1861573614ba6fd5db7d6825fdaaabf23b9be1daef035d7fea9fa66f9d92ba17267085e894db66d8c9f49ed4ca9f16b9
+AUX freebsd-sources-10.0-gentoo.patch 713 SHA256 13588f0572ba95c86beb755ce3d681c963e220694e3c0b3aae29faf05f8479da SHA512 98b8d1bf033b9bd7147f10e5bb4a39ac4883ec02ef0cc3825541ff11cb9bfe5e7722e7b8dcefe4c356f9fb0f86ec5cad6fbf9b80dbfd04149142fea5f8712d4d WHIRLPOOL 6372ec9abb566d06db174dd20785ab1768487ac2d57799fabad2d45cb77418f0e39aa0bad745c873e1c50de86a70fa80890f7f2f377f6a53f4fd5b7a6fa49edf
+AUX freebsd-sources-10.1-gcc48.patch 452 SHA256 26ad0753e59bd7e45f957cc98c8a11c8c1bcaf89ed55898b4efc6d95e3943671 SHA512 55e5249ec8337d880d96fd9429a0ffe5663c6182996b6b2ab8d19fe9d5168a0042b81222b2bb89de6d90f98d042b593fb40a7f4178ac739f681f84c2d62b5c96 WHIRLPOOL b6ed5ad4d7e444c79afcc0a14ce9fc85fddd5d1ae6b1d7dc8aa3e4949bb598e0da7a0d95025ba7e3981fc0af741c52e3c84fc81cba00bc79f59ab510afa85441
+AUX freebsd-sources-11.0-gentoo-gcc.patch 430 SHA256 e8f031a81dc611c7368bbb4330f2e162a50b72af9b3cdce012c93d0130668b8f SHA512 9869ba13091cc0975a7fe1a1b18a279835d19f1f57204dd3463798d3695a250ba6c96f2c1f6a2352dfce0022d7365257b0f938032b55e7090f68e58c4455bffe WHIRLPOOL 01b61475aabca1647092a8d77c426ffd609ce66a508672eb85b87f2b25db37dbc6191a3f9bfaa24f5fe03a233c122a4f2b971c3a4f4fd9022acaad55c8ad3427
+AUX freebsd-sources-11.0-gentoo.patch 852 SHA256 ea3a49d8d4da8bb67ae715b0551415ae144457386c1c63a11090cc80d223e70b SHA512 11f65627bb5436052b227d884c384e888bb8f44696c36b80a8715c912e41c953b57c1420b37030155c2751c72289470c4f681d14ed149e4f6aa82d8b63766ade WHIRLPOOL 418d1adc24fe6770beb7273724f510a3f89321e1f3cca1ee0242a2c6ce3e3533655339c10da67f92118b82fabf87f680487ef2d8e1781bf965e889e19adbd4b7
+AUX freebsd-sources-6.0-flex-2.5.31.patch 826 SHA256 8aaf240a344106fc5434fd098eb6555a554d16513b71c95f93a93388021c3d99 SHA512 7183b1923019df12849e7d3984c4227d65275077cf95c3b0719b99dc852234eb3813db0e69e9c34bdfca45a59f7340209211d0b7a2a5074c2d1ad8ea0a3a3f64 WHIRLPOOL 620ae55a54333c55e44247aad76be467bdfa491dac646f65dc0e0b6b1a95fe8edf5087e9ed68abeac1ef6db1a91c0e673342bf44f8753b6b8a5dce889137cdcc
+AUX freebsd-sources-6.1-ntfs.patch 1043 SHA256 2eb0e22bea267d7ac41c3dec81682d3cc1f1744316ea39342e2aaae1f2dca469 SHA512 5401b50ed93bd9155b8adc3f0d6ec81b6e48431bb950cdf468be2e918553e19cd88a1988cdad49be2a34a1db44419cb9eb7067ff0fb1feb8b3f6373aa3c262ad WHIRLPOOL bf4821beae08e002f290286bc290b2bfeac86db46c1597232f06a23e505d720e34841393d9fb4d7276ff7b98c1c133aae5d58c3ec7b8f12712b51260b981bd14
+AUX freebsd-sources-7.0-tmpfs_whiteout_stub.patch 1015 SHA256 7857fc90c6d5ed28d848146d50ab5bcd01f79ad3480ad1335929f08e45afbc44 SHA512 9dc96b967869efd7480785977764e879bf50978b5e609867e678574f9ed1476695690832bdb725eaebc8d93e83b4a0b3fe9f23b94e2de072a6540a168b13c4a7 WHIRLPOOL 6841f24f2d3ff569ff0e7bd4d628955c9b61b41aa039bdd1e736fa82f737842101c212d8ae8961d1db335e53ba332cdbec1d021a4c57520e426926981bca4512
+AUX freebsd-sources-7.1-binutils_link.patch 1297 SHA256 957c03640f3aac6141efa3e775f33fcadd501f920612055d0e00b3f80fcd8f17 SHA512 0e3aa342646d18429ed76e484d7e15d353d858f00bda906dae74b01b4e73f1b4ccfb6404590d79cb206da3a732528a4437813540a26292d697ccc3b964dabfb0 WHIRLPOOL 5108bd5a1bd49f94a7902b5b478528b29f1e15fe1e06f96a80de6fbf047eaf4f925f00fcd5f83085d44e86828dee50cc2efd150ece362bbd3ab24b292d9e7249
+AUX freebsd-sources-7.1-includes.patch 318 SHA256 70c73d0939325185430a3a133380f0bc10674cb8fbe5c7ebfe3b07630d023369 SHA512 f73db3fd72bdd2972ae25c3f661e7677bd5877aa623981303a4b0c5e9522fd458e294799a0ebad17ac3c639d588394b10ad5fcab4d88743a6dfcc8a8d60eecd7 WHIRLPOOL 5dca685df773113dff0c8aac16f244882728ad586b62b7c20df948240b097e89d1bb62f16ed181f2535e13835471754d8fdd0f4ef02b73ce5077b9169c958557
+AUX freebsd-sources-7.1-types.h-fix.patch 371 SHA256 9e745fcfe046c405a365d8d0db8763867f0a618952f7d6bab4c76a8c82273473 SHA512 133ab13e98c3f2dc5f96cd5e45cd11c4da9757f4ea64831a6e17b309bc4692e4213b48c7ab6dd634f1feb069ca2dfc3a8afe1585d0d1425b5304fd7494cd342f WHIRLPOOL d284dd82244a108e4677be143cfc302c18f18e5b39c39fcaa8915c61053d94bf7171e48028f40d25f8058f8ec910c3e55a3753ccecb46bbabbb0e5ba86e808e3
+AUX freebsd-sources-7.2-debug-O2.patch 771 SHA256 ad1fdd8a6dd53186793d70b65e1b37e3d3e7a4e50c32069aa535ae9f8e9aded8 SHA512 a74dacbd24c6130ec4c762a9c2df58a37d5fee2ee6fa4a970245b53837afa5ee3f72318b6e723e0591ddce00a5aa0fd66746a06783174d4edb9814e3a3724201 WHIRLPOOL 598f1e3282f5b8ebacd43835e148e5249737d8d7b240eaa459e5374444e0aeb39a692b01d3da5a8bec6aa44b8fe97879ce3bea739796688d8d6b365baac438b6
+AUX freebsd-sources-8.0-gentoo.patch 1138 SHA256 0bb6e4cb59bb6f5fd86c88bfd36ce8c9d148d96e8722f1d6a485f98ba892650c SHA512 677adbbbba367bda65f01b604a0a6235ac12d7b307857fa35c7722eb05e0a74d3cd35c03a9dfa56023b7869a865959c9edcfa601d841add92ff21a941d395ddc WHIRLPOOL bcf25d6f650f6435e7fa7c6d5888a1dbded300f0e4c9f595abc1386663b65fd378805efe1b8355c91efc357e0684ce7722526f93beae55a1102e813aaecbd711
+AUX freebsd-sources-8.0-subnet-route-pr40133.patch 548 SHA256 091764c97f4148d2245c24dcfabebd53ef0b4f3175a140fd5b1132788e718ca1 SHA512 9ae65e2775302b664dd4e5f5cbc58fe1ca7db61b6182db10971660207c72ec74e542181f1c2aefcacd2fd4b54e10d371efc619c3c03a977c35d3cf67b99b7de5 WHIRLPOOL 01e27e011c94641498cf0c04a663e4f8f4844a57bd462aa38a1c23a8b3244e5eec226fb11b5e8e598de7227ac2d3dd33aaa98d16f6e7628329ac59e1e7ce62ae
+AUX freebsd-sources-8.2-unix2.patch 1642 SHA256 6dd35d13a13f5e9333557a84b56c89fc4988d55bc3267cca72e8ca8ca169ce61 SHA512 a7f8166abc9883cab92a4b1ce038cefc3c00a6567fd79ebab96ccebbed7e230459dd8efc0b96ba2029a89b4b5d41305be87d0c40ad85fcfe4c819a4604b4490b WHIRLPOOL 5152dca64e3799cc9b6ffd97019c542f93082631489b9c0e03128a09a3d0c667da4220cfc67039c24d13a2cb527dd325db501029478d528c688c0c35cf2373c7
+AUX freebsd-sources-9.0-disable-optimization.patch 927 SHA256 e8ad8d8ed1f729b7b22839a7af93b3dd667f257b05db95f408c48b270003a486 SHA512 0b74874d42eab95994309b922f37ebbf3706d01db6c447c9f062b03e64b77c7f793bc297150b539acdf39530a8afd91f4bf824a87c674dd625a59056656c614b WHIRLPOOL 86f9586a3f07118f95e5fbce1a65fdd3be8dd701ed1bee1379ed2133cef3d9473b437826a13ec2a53c73f7b3e1003256d912a45eb80c86195749a8cd08f9813c
+AUX freebsd-sources-9.0-ipv6refcount.patch 3259 SHA256 18186ef2f9fc020c0da053953b9e8c8629c2302082e0ee172dd7e84a7104bdd5 SHA512 04d89da7ab4c50d3405ff18eea49f94ffff34375c6333a6bb84bc81a63046ba12f384d256e010dc1b64a186650c7ad4702403ed933e6a678d2c5ee4238b56658 WHIRLPOOL c0511b2fec1f2ecc8a6e3aba23808a4c60a4c94f45693b6f21a30cb01386e24969fcc9b655584c78a501524579f7e266993fdd6d565525740f4f8e04f47b55a9
+AUX freebsd-sources-9.0-sysctluint.patch 403 SHA256 884fbc5d6d3766ea3d4609946f56072f36f95368dc13ee316c330a46d42f0c9e SHA512 f3a87cb187858bc6fd1bafda3c3bd7bbda52b07239a50a7c1aa201df2c52a58d4809e196b8799b1949c8ca1a556519d454ad1789358540e3a96cd480fc0a504c WHIRLPOOL 1fd9852d59378b3fa8682886085f4f63ccd2a57806161b9a3ccb0cbe0c465be2e5620ed57942a8687656859e1a9df17c7d298ea66ec037514bbe7707783aa9f8
+AUX freebsd-sources-9.1-ciss.patch 2067 SHA256 a450312394a9ed449144c1b320ec323f8fcd6cb744ad6c6862046b0fd5086e4e SHA512 5b8088644813d465443754f248e0068da1c53b4f947b7c1e584ae9dcd9b7b135a53edd70efc463b500aef74c4f8193e2d1d349b39ce183ed1f18284a2c2d7989 WHIRLPOOL 59f1324eaa98e11a094e4fe48e8ad8f468bc373691de101c5082630d1a69d10a3e6d904f3b6138a2107b0f35f37c16f07da575c1efb4bbfa22869a7cf328e5e2
+AUX freebsd-sources-9.1-cve-2013-3077.patch 1064 SHA256 2c0b8a4df43b3a2b15bbb33000f4c0e0e132901dfe5d5531a694a17b9e1fd7b8 SHA512 12244d1335ab626e4a391cdd1d435f9f002ec4142fa2a2a93832b554f03fff69de09e950c4e80c797fd0b568504a69e18341fd35bd952a56e01a05024de8206f WHIRLPOOL 01c9e9270eea92448de3754ab0d6dc2efdec4b8e06a00b0d86c550e318c07c8e4a5b2b32e645008713e399c20b96d5e91e740e5120f889050ab91416763be3fa
+AUX freebsd-sources-9.1-cve-2013-3266.patch 535 SHA256 3ddd63716570d7a08956228d3f2b165e80380d3062cecfa9ed781696542cf7e2 SHA512 04f421724d79a2e8c5a23120a44601bd611b938e4452d064034b7cf91ab36e2b019e3a12af62d5bd180a5da30ca59886f90aeb6f1255dcd2124285aec6b65fa7 WHIRLPOOL e12449b21f4a3200da65d815bdc33972e9aa7b2941560fba13a634be9baad4246b635ee87510a09dee123b65ea614ed57f17e482ba41a0ea2c986e579d75f3a9
+AUX freebsd-sources-9.1-cve-2013-5209.patch 645 SHA256 1b334cae7f7ac266785449bc34a8b4b652b961b7b77acc3488e418f4359b6041 SHA512 1ed132883d22aaf48be98dd9adaa48cea0023f3c986cedb45f986676f1c4a40d3d5463006f516d78fe77a408e5f4821cb7b26d8fbff7091bc2aad9faac2e728a WHIRLPOOL 8ea85c387106009ed4c5ac4652520d349cf403d6568d81aedcc05f81ebdb5ac0c287a188071bb7651b4e847d95abf9874bfc8710a025c9ea1c986993b6d4a0a9
+AUX freebsd-sources-9.1-cve-2013-5691.patch 2854 SHA256 418cb39d555c036013cd87a2205d2b1b9e4c729f409b3bd4c509648282a0a993 SHA512 6c3342e79fe3de90d37d82415b186f5012597dfbc5f522f9aadfa5420d601e4e6042b899ed348b581537491d4c49d6b4959ca3b438f9bda454b8d9b494120534 WHIRLPOOL 7436a1c9402c2de662b98e3615d1a62f290a8638c597d671474dab005a60a5c5b162ea31603902568c9443ebd39a2631297b6e19bd26f343c808e086b78da263
+AUX freebsd-sources-9.1-cve-2013-5710.patch 704 SHA256 c076858b5dd9ab31be241144bef4de2824fa27599f7f114bcab9a2934436a1dd SHA512 a87d571aa060f435e0ac53816307703e300e16365df13c88be0a982d5851d3c224e0cc23b32ef61445413abda86762e0e43b964d475f1d816ca83d2c6b3f7d58 WHIRLPOOL 71bceec1fad2cde48cd32475805f96a33d9fef85ac8f3b69c601874514b6eef89479cf9b372bc8639d48a317dc5216bd7e2f2902570a148da865983845f5fbc6
+AUX freebsd-sources-9.1-cve-2014-1453.patch 2239 SHA256 2605926b9a36cf2eecf65fc3bcc92ed772922562fdfebfd39c99137526f2a440 SHA512 27b48c96447cb961d2de3ad7f67a739ff78ee3904da508b2e6c1948d299090cb169bd3f289b0448e7d242c1c0d39fd5e5fc29700d92ba4877c3e6d013a6cd6a1 WHIRLPOOL 206c18f70756f77050c681ee4b14f7e0d0e38cac42d146ae0ccd9bd79a3977c4db57d1456c3bfe0294dad313eead5dfb748446e0fa401c98105ea53097505e45
+AUX freebsd-sources-9.1-exec.patch 2032 SHA256 8e75954777f69e87b9401f3ed79d65fd6e498bd82bdad4378a076fa088480e8f SHA512 db2ac3a96b9c2bfc3e785a6ea8060e7cf516e6cb25629749a7cae4ca8171b0f3b8f1128c5b646f8dfcd78c21fb3859b548907ba1781a698235dd5cf6a90f824b WHIRLPOOL f0a29fea6f7cd5096deb29a53830c7c7e51b9c5c2eb2b28b2baca42fa0003f54181245cd8c9dc63beafea1d8000f05ac615705cfb573af33d03d6d89ee2712e6
+AUX freebsd-sources-9.1-gentoo.patch 743 SHA256 f75e451259933aac8028ad0a2b6d9ee43d21bf40f7309e556d139c7a125392bd SHA512 9a7abc263c87134534d6f5a727e08c5f5c34b0272b8b03ddb89daf2ea27e4ec1e46d59202347e4b4154ac617e8c8fa8c29be95d498b54e392680b96fdd10cb6c WHIRLPOOL 237fbd8f3770442cc2692a2b62e83ecc732f54510d267a575a388de778f4b5c22a778d6fd8a69822ff8e782118c936e843e845c6461b0694ab357b261608a86e
+AUX freebsd-sources-9.1-ktrace.patch 463 SHA256 328d14c5fd775b1a99f065911ab8c95065823dbd488bc0b1b3bc8bf46fcb8515 SHA512 b0cf73180320e0d1295fcde2c19a281575150f28d71fecd31c5793b6f0e9784005745fbc56b8578d40615e9276cfadf25d6fd3ea5e21f315e3c6beedc0476ffa WHIRLPOOL 03e3e9a090bd14c9f8be2fbf62a0c305da6e6e20ca1f5e30dd66c22b3f031132046ebd959c6f66a9b3227756c339cc3f87f339829592625dace8116f3ed67814
+AUX freebsd-sources-9.1-mmap-2014.patch 758 SHA256 cfc0663e536972ced5a45b5ff491b8590e95739ea6cd34687b9ca56e5d7e63b8 SHA512 fb1f28268355ad0a25705fecb7555222b53b04fd92b1b80af2db4b6f2ac02bf5a948ba0521d1674e31da57a1baf037fe0fe581c03a437d86325e185a8050aaa3 WHIRLPOOL 8995fb9d0751aa3c12bab79206f22c924ffe583060895c2cfc62e53ce89ce1cdde0f511e12e017209221075aa536e839ab68c241b8feffc26910c613aa8753ed
+AUX freebsd-sources-9.1-mmap.patch 676 SHA256 4adee0a45d519d93d4bd3554c6b685becbaac2bc5e89511f61260e85a914235e SHA512 0daff1ef440be8e4f841eeff8917a36591bd3f4c31d79feb4666f9c3d65d49ee180397b81b07753c8892efd76436bf19d2218979cef3847d3cd46bdfcf166d6b WHIRLPOOL a31b32fb6fe8d7ca4464abae9c444e62d6ff00b4d53beed7c81c89bf0e85e61cf1eed7e70c7861a3559432086a923926737c4f6a727d2e389745de045e6f30cb
+AUX freebsd-sources-9.1-nfsserver.patch 650 SHA256 b288a29155fbce8ac58460a3f64ce77b644c32ee54814e35086700d2fae3610a SHA512 e1d505440371d35722b3520212ded13acf5ccb433c18988aea08d8035881f633c04dedb912931684334154303731ad21ca849c02831f6b9122b54486fb5ab8fe WHIRLPOOL b4469dfb52ca87e95539bd63dcc36ba34c9a29b812b887ad9656c2adea7acee5ae6a14850d2f4733aff7248fb9d6d6107ea38f06365efba18f8f025506675de9
+AUX freebsd-sources-9.1-random.patch 792 SHA256 46d4035d31e8a64531e1893c08b8235ee92af002848a781d9f1af1a886f17fdc SHA512 6e7137a5b68ec92a6eaa5d6bbc1609794f7a71210331959135663bf4021b6cffcbf87f23b5d757956a1ff6907929012490bd85ca0ec37efbdfc2b70de108bc99 WHIRLPOOL db318323bd0d757ab0a97ef5e552ee38b9fe5eaf12f87769912abf16dda40b11692ae3715cd5fc34aa11d5ae226366b8bb63feff3067c539b9fc23a9ad14c840
+AUX freebsd-sources-9.1-tcp.patch 1249 SHA256 a51412349a8724931cfc749150e3c07802126382a6ce5dbbc6617e4f81188e7a SHA512 46a2039ef4c000447ce22cd64515cffa34615e6980fba9f493c9cf527f45012f1d6128aadce401b3620667bfe9191d70c4c415f8e2d2c08617453822f73a029e WHIRLPOOL 6e81938c55e2a40f4d75a53f4bfeac1c4183feebf023bcc320c0179dbf802151cc5f04dde9302e233eff86c33fdca8a6e80dda70d47d0d762da61e22782b1b0d
+AUX freebsd-sources-9.2-gentoo-gcc.patch 506 SHA256 7457421478066b686dabc9a072ea1a30da8878014d0799220557820fd3a4bbe8 SHA512 cf553ad66b5a55dd2383a55c9a3c5c852985c4842244569aef91596a98481ca12c6189dfdd5fb2badcbe7901a87c81a3e0432cbf10add66dfb481ddcf38ebdcf WHIRLPOOL 42be74cafdad3e43815f638144b3ef8e89a7a95d791a312899a24387bf6a9cbc08acb0b30855d45fed607c6b73a3632afe1a44fb2bcd5738f76a7cf444b39218
+AUX freebsd-sources-cve-2012-0217.patch 856 SHA256 9b752e65a29b2b9a4a1412765d69d00310c05508af1cfa6d8d3c16d545bb3ffe SHA512 b1ac18cae23b81fd5ab2fcb44bb9f9808d6eb80f52b8572b81296fdd0b18edee62460520bc753848283d67e13367bf99775a2a5c6cf0272def9cdff6ec6fa4d9 WHIRLPOOL 27e4d0647c5275b77123bef6b866ac841af4b1b547fc663f776da82a7889995eba21b930adeabf2a71b3fbe053d2af5583cbdb6e8fd16a0379d10214d24b9121
+AUX freebsd-ubin-10.3-bmake-workaround.patch 301 SHA256 97e14b032622bcc652ede9c5154160e937b3ade0155fddfe19112354bfeb6138 SHA512 8efd4e8199886ec0c647a13a334de54813372d9d6eb09d6b93785000da9a84ec40fb4d28d645a4809b531bee0bb4c11522aaae089285c52e595b2f9749af7dfe WHIRLPOOL 910bb3807c15ee8ced94c508ab2bd1e3112cd890de28bbdf2b152efe5e5ce187e366376938996e2a41e07599d7c76abe741463bbf4475297d604531ac80ea6ae
+DIST freebsd-sources-9.1-en-13-03.patch 32571 SHA256 8bafbaba1b23f4651a9e578dbbb3b8d9b4a0a28dc1702f6dc17a40728b861595 SHA512 013a21da3618da9098020c85abe42d99e4eeb8d6b9b818cd5c6d27ee2ea2d31b60ad4521e73cb996f2f5c99fd0f34bd4a35458977264c51e79f4f53bfca6e7cc WHIRLPOOL c7b0a56efd9cebecde56590cacb1ee743845ce13577505255deca44c167d679ce94c759cfb363c26a5f2a9fc16dfc06d17eea18d638fd72c21ec0fdd81a71c5f
+DIST freebsd-sources-EN-1607-ipi.patch 2557 SHA256 da1a24b82a16de4007379e4f2c030054787e5b3c95f9ecf8afc1693f456943b2 SHA512 41bee92ac36685ea81437befc07e1d1f7ba9d93b3d733981fce512e68a77eb3e9563a88e23fd9ae27a331e63c42966a55041cd5ae05d61895b8e20b1edae86dd WHIRLPOOL 650d5fabf4e017d387baf96a0f8c9131e0f5d4fdf80a36f673746a92a9382fd4d6566a382590a1d66b6f0d384b38ac26d2b782a0a9449b954c15271cc4348fa5
+DIST freebsd-sources-EN-1608-zfs.patch 280 SHA256 1d6b954e2819bec83084224fba47f79781bf458f50a777dcd2ae3c1413fd95a2 SHA512 df2e133cfa565332da3c2b173c98e866bc1d9ddcfa06156da1f9a2f382186cafb130b7f0e19617482af71b730d95b9d8a7d81195a57760a93736bc2f49ed1c03 WHIRLPOOL fdb4e88206dbd732aec0541c8aa986a4540cbd52c36140d87db5a775fe8c3600a4c8369d67fad5207a85df2f06b6e4cc0a1c99df198c31f7e1f44bde16054278
+DIST freebsd-sources-EN-1611-vmbus.patch 6755 SHA256 86a5702d958dba47a988d74551bdc6bec17f9037001d5d231b85842f672417cf SHA512 8a2296612f688692691765dbbd695f7aa75bf45fab8a569b3d6671aa5cf2d022e498f6f0266d89c999a1799a862f9cdeda8179a0e8eef85f5613bdaa792dcd41 WHIRLPOOL 240f3b0a6731b5a24b5cecd7f4485815b86017e1629296280309917116329cbc25b8236d4f205cb46465ad3e5b726692845ac3d5de541b98acce39922c0a2b44
+DIST freebsd-sources-EN-1612-hv_storvsc.patch 6459 SHA256 91f419fc1206d4c5c66664e9f3034360fd7e08955081b0259120771db8b075f4 SHA512 90cc301222cb31d2c5cbb289666bea0291880a2c1236fe056c5c29b571fe656a39047e131eacf41af0b783e0c22f07681665e33046980f98f233a28baef18ade WHIRLPOOL 607cc513638e78554034443f130e1715c7433a32f809d3db9da580c135d32d6374720bf4e75938757e40e5259d71547fee814c098dfa860abec40ce90ff4c12f
+DIST freebsd-sources-EN-1613-vmbus.patch 3886 SHA256 9a9cadc9789184ad9caae387a78610eafdc104eaffc06be3123c98acfd4e2676 SHA512 14d7d6e1acf3e78b0b5653aa83dda8cb6fdbd8e2824624e093d73e217bad2600de157479e66f94248e38afa21ddc1292c30ba8381f76cac95b5d11caca1fee50 WHIRLPOOL dc730b2eaea44668f84340f1c3c2fa98c16b187ab7a04aad0ed1b29d9daf10dcc6034287d640d1ca4f200906b39e8e532f7379a51577ee78f065042e79d78b46
+DIST freebsd-sources-EN-1614-hv_storvsc.patch 1134 SHA256 e6aafccbf60789bce56e714f7a866cd8ca869babf4a881ffc3703bed7fb7c404 SHA512 bcb687290b2a9572345e5e4c8d2408dadf2fe2f206d457ba8147bbc62fd6dff064b132b66b4e2ac6fa98c73c37eda7bf22538d51a29cbb773fb90c4af44f5986 WHIRLPOOL aa1dd36407c9b1db25e36858a7bb1647128f1ddaab3f59e4fe01af33e8d92534b1c2187c70ddb61636110194086f4050370d2fc66c401a0a191bfbc20e4f0f32
+DIST freebsd-sources-EN-1615-vmbus.patch 2114 SHA256 166079ba7d6289a1f3f08a65aafc450e6119e86688a1cbbd808c6e39ca2a40f1 SHA512 81477e9f5e4980d3e0c0487fbc7b760e7500ef37be42444782cd1fb5202d33e622109519e4bf4ba419a4d13c250e27e01f34d77c57b504584a2fab77b4f122c6 WHIRLPOOL 1b19d57b6b66c408ef65157688967167ccef588b88d89ef42219bde49b592f2905045492e3fd2d3a6e3337b91ff60bb28c2f68daeb32b17cb575d465bff46e6e
+DIST freebsd-sources-EN-1616-hv_storvsc.patch 5358 SHA256 5516019b216edcd4b0f4268bac760ad24ecca85b9cf5da7e4c37b9d587975a24 SHA512 7364108737334ef7a12a8babf47b5139b973e68810b0cad335a6d8a7b7696fcfda047b1b7e85d28427f75001184a3c07418901ba0b9b152592d238bd392bf002 WHIRLPOOL 950aa89c4685d9ffc7306011a347dfbcc392b78a615a42cf7436820630a988407cb5c378b68e28d90b29df259f750ff91d0b623c35e1bdac37db7d7aeae88cf3
+DIST freebsd-sources-EN-1617-vm.patch 6332 SHA256 743a0ace4ea4a1afc9b5f5d2d26bf1eb842289f44f687348a0893b7566367be2 SHA512 8d8112d1df50ef45311736cb24dc8be38bc93e6246ef1cb0535928a6a4cd4cecd58e755e0ef7992197a3995f3a92893141e01f3dd7d095b4e645528dc9e060ff WHIRLPOOL e01cdbbd71bda85d547900a17bd0f21edd4418cb924aad41f078d990b01ca28377765879edc497aa3dad53ca6be43972eb8fb68e60c5521a52ac93e0809d6eac
+DIST freebsd-sources-EN-1707-vnet.patch 356 SHA256 4359de4eeb899953a6b60bcea372d5385e49d3999f72352c86452349a025f8dd SHA512 2fdb58388acb98811588beeabaf8a533926f96ac3f594f53dd80dcdb38ede4fe0dd66f0dd7bb32b40a27f756e2b03fed91c4416cbdcd4c16dd8143f5438885d7 WHIRLPOOL 1efc5b2fba85cd7af0d8b10788a19a9ea70628e7d1d3906632dba10057461812d0d88c7ff00247ba0675836377a76ebe54ebf665725ee4f975098fcc50e8bfb0
+DIST freebsd-sources-EN-1708-pf.patch 706 SHA256 34f177d1bb146a288ecfdc6107e750568b08d5d5129cd876ae1f0f4a1e1846e8 SHA512 e9dc61ff10aafb9b92721c599577ce995458b8a1a93b31fc6cc39b910db2b8f965ff0354a45bf82d2d57abba7aa0bf6d2f002044d242e19121d5ee4cd7a1dc15 WHIRLPOOL c16bacb48eeb39902ce2daec4dac8326ef21b23a76c73cc4c87dccb6642cac12c89c470bc63e41a2da9ca6eec86839d72fb5c2d35af803c7ea1208f33ecccad7
+DIST freebsd-sources-SA-1615-sysarch-01.patch 655 SHA256 471f70e82f81936a9426bdfd9052aa051013443537b25b750e3960a1ca3c02c1 SHA512 3ddc42f0e713a8f1753526b877141563b93d845e57cd111ef2219e969424efa88f3e726288bbd81fef7d4f06f2d68faa3f0c63c996a9579289236518e316739d WHIRLPOOL 9f8b40a78cb0f0d3bdb186541bba9fa92b45111fa156bad98bbbad82dfe25c930fb69801390061efcf544565e70e0ec9b5f11466d09ba996c732f0b3a3a2fa77
+DIST freebsd-sources-SA-1618-atkbd.patch 352 SHA256 63e159fc9000df20dfb626e0bdaab679577afd1a0d811363ad031e3a24e9f02b SHA512 aed4ee6b51905d04680181f571f0f89d60b66a2201c397f88931d9ce92b58148e2d638d93328a78ed53b4bf7a5040f1f646ba50566994252e73c13a09659ba3f WHIRLPOOL 1393954e2dd4a1617fe6242ba5458b9a8a1bf061a65854c84e2430ba76d0fb5eb030f6bcec253917063c6b96d6e718064f17e570a041497954e958059bd78c28
+DIST freebsd-sources-SA-1619-sendmsg.patch 247 SHA256 d847e42634e26e29b3ce1d68d28b7a687863070a4c1e3e51e7663785e2f6a7f0 SHA512 878e2b283358c050603cc32241077b25987696232bce3b9d41373c1186f5dbeb41881adc69e8754804054a57fffa71cad930b82ad8d5abd458779d5a3bd61978 WHIRLPOOL f077a1ba62110a5492d13413a1223b6b4b60553a0093a7344b5c7692b443cb5926c648ec151f6a566f1d099cc32df0c1ac0d29478843903e3cb8b221951d4e85
+DIST freebsd-sources-SA-1620-linux.patch 492 SHA256 a62f5402b2a3d2b73b684854eaed45864dade33f7b04d6469b556776866380a9 SHA512 1fb28b25ac5f89e2f7fa9a1f74ba83b4c949f2175217b669b5fcd2062c54307dcb50ad072acbe18162272b9bc29ba40ac4e19db1564a2959e885ac826a332ae5 WHIRLPOOL 7ba8da63513a495418a7e6433c4814eedb43e0305ada423057d2df27e90a51ce8b3caa7a06665fe114185c6335426ed12dbb346ef2a2c2c0d168a04707aa6395
+DIST freebsd-sources-SA-1621-stat.patch 223 SHA256 dd924b1f983ff653edb6676cb5f02621309c3493501c9741a35a2cbcc021cbbf SHA512 501244c0831d2aeb37c8a8aaa762cc6c8c39929355e6695df23dc83c78d6bb499dcb903f50c17e3f7774306d53836a0633d65e284167590c015aa1f8e10e5e4a WHIRLPOOL cd17cd613a2bb234224a21b491d4bfee6e9d9c43126689a8600f9d46eccf835661078fc926fd8a73599d30db770cb9fa0baa2817dcfb6ab3b06c1e39374bd946
+DIST freebsd-src-10.3.tar.xz 126900216 SHA256 f50763dcac88e9b7ec616b77d537bf338f470350e2c85e0cc7decfcc8372b54d SHA512 a0c95fc4bbc5ad7599d0a83651a497e85cd85a5c433e5e175c57480b466c9eb5aa0390804d6336da8301c75ad499484399d39b8f7efbcfda8cafb09b1aa12d8f WHIRLPOOL bf5320bc506fb73a63d0fb324b60667a196ca2fef5d0215637a657c613f2052d76d002deb205e258f6d4e2aaea15490b26679e59a102606a34b58ab1f6b755ad
+DIST freebsd-src-11.0.tar.xz 140252356 SHA256 0725a7f1d3e8985f4b2e31a2ad714334463a5016b203073a8fc196649f3d5a27 SHA512 ee1271bb38ee46fbab3d49b33f5b5afd76f9402b2e792581d63f02272df8e2a4011fac97ad550434f0c2fc5fe241940276629bde55e75f8638896a81339870cd WHIRLPOOL e1cda77189990c1d2187ab2d9e842ff3c619d8235f1ade56819fadc52f680a871de17cf05f8119614557c615ad19d41d1b6080c4b3768e7252889546b865d827
+DIST freebsd-src-11.1.tar.xz 147661560 SHA256 7e1186c2b3f6d070995b88bef5aded34089fed227c7b584c30b28cecaf428154 SHA512 b97707ec7a601ca6bcb682c45f6d94a38484301ac24630d7285eff6f88b027ce6900c93fc62f8ce36e0cf32c91f73a9d1c999db397b7f8782fd74a8551a03aca WHIRLPOOL 3f88b15153c25c7878d1a730213e5bc8c200c05427895ae97280c4412680bb8e67cf4f8170f9e2b0f21d63ec42365f44f7d5eafe614e9b8726f4bc3cc3825202
+DIST freebsd-sys-8.2.tar.bz2 25835329 SHA256 0c6c7b61aae94db2931f985d5899f3bca78fc8ffab6b598fbaa158142d676f16 SHA512 6ea4516a5c52e25c4f993f7acb875463a5caea93dbdf250c5d48eee95fff226956e9f030cab7e341b5e6a132325bc3dbf93dcb4b1185acb011918e50b1a22be3 WHIRLPOOL 870deeff877c6b9fc812a4260e4fdbb6715a5dc2065cab3bfbf2a42d876f6654703ccb124275a4e2c410cef48f3db02b63cc76059eccf9cf90244826f35b7a15
+DIST freebsd-sys-9.1.tar.bz2 32588103 SHA256 b93a7ac8334ac16cc9f60665048e5ef812c0a6c62f10d0b0a674aec3f56516a8 SHA512 7dc9d9e00dde8f592bb171f4386d02b655b73cb4f153fe5ec063d010a148ef0639eae0dcdb3eeb09ecd1e3653c69e49a2d261329fa6d0381d2ddabe258ddde6d WHIRLPOOL c8348344dfb14bad64bd3a78ee615ddd29203175b292233254f8ba175e7a3fb7218af6f95f7b4dbf394c0354bafe9d8bb0c21cdf0ceaeb697214964b280469b3
+EBUILD freebsd-sources-10.3-r6.ebuild 4898 SHA256 cfe1f99582b80e72e8cf152a3d873e238444bfcbfe38363afdf5a0b4e4ffe62c SHA512 9476b45b1c353df0fa9dc6b15665b666e8b1d24d5885647f63b94abde6cc5f4ca77175eccfacbf925e2d42895c5d683dfc7c40a3e450f03acae134bdceadbfd3 WHIRLPOOL 13f3afff7174dd33b7aa4a3729067521b217eda2e8f83ec150f347ff0c5f0bf9394681dbb2e3d1aec7047719e7ecd117d1c90568716ef4deaede30578a47147e
+EBUILD freebsd-sources-11.0-r1.ebuild 4846 SHA256 ed18ed971cebc84c608194c3b6b3b94e00266ee620fbc1f49e920f9bb869cbda SHA512 32302cf50a644d87df08f7e75b7e1fb6340ea925c31b9c701463f76975f5947b90899e101bba66d6b5610a797727f929806ae9c9637c1b35d19503c34121de76 WHIRLPOOL 4dee819a0983bf2f31872394b0ea840602eaaa7c526c3b92c419a56a7443afae3a305aa91817103616b0de45b24ada8cd621aaaa1c1522872170c1e598100cfc
+EBUILD freebsd-sources-11.1_p1.ebuild 4874 SHA256 556f4f1cbf46cf64a3a0129f07001d44924e43b54981a086d246efdee8d4c9c4 SHA512 3c88b5edbb79250465c302a8ec653ec6c023b645a52faf7beccb1e6cf6bc33d433b5b68729069e30ca29c9102e70a5621277351055d376b19650eaea32b04e20 WHIRLPOOL b20954eec390b3aa7c2525adb803d7a8868dba0edc1f2ad89a9da8efe97a9e389ba3c9b6c21f02fec37e00d4906bace5b37f8bdb3bc016b3c68bb222d936312b
+EBUILD freebsd-sources-8.2-r2.ebuild 3671 SHA256 ca78f43810a54f1c4112683c7c130410eb9b116d41b40569f872a815fad030ef SHA512 4e2c7ff852639c0cc5124beb0a3b5f998780553892eae1d1c6bbc2b253a82e56838897062f6e55e4fb47be2f99060f1e9b7392e794b25a49a38d925774a1423a WHIRLPOOL 8c91c7a7cabfa3febfb97b88e60a75a8224ce02d2ccbfb8ce7c17e4ad57be5dc402b476616266a53e83f395d2202d70c76cc79393cdf9be17b930e4abdd7e353
+EBUILD freebsd-sources-9.1-r3.ebuild 2514 SHA256 035ac213985f98d3ff19a9559cda9ba7321af713aea284122cdc94b439a99a48 SHA512 e21a899b3329ac8abfb1a167a56a71a6e37b0b3ec50af9f6274f2353c2a422805a62543105eeda21a1f7d7a4325de6bb749b08851ffe7f5e8b113d8e8571023d WHIRLPOOL f5112f9e31b5ea3b6f3adb767720d5533ae2075ecce3a239e6d793b50007ba0d60f11d03640eda5a2e13c6f67cf229eb99527f6793da77e1aa7220ff2f5e3133
+EBUILD freebsd-sources-9.1-r9.ebuild 3059 SHA256 21ff076faab90f4fe1486203123674f87740154a48248820e4356ba1d8e4634d SHA512 5e241adb02fe3b5fedbd4dac59c1f38d815c2b1041bf6efdd0ed406ff9b380ff7b8ba72210539fc94a11dbb3d7b7422a162e03ee0fb393f8fa7a77df3b327d55 WHIRLPOOL a7c3a84a5f1c4801699c083bea25d0b4f821f2d9e8a92a1f89bd41b2df345e5b578f9fa6941294f1ccf9087f9e6ba82c5edfa9d2d8d881dd84720817cf29f2af
+MISC ChangeLog 9759 SHA256 7b98dd78ff705ba9f5e7374eec73f9267b6228a89d3655d1a3a56e1628b341f3 SHA512 68e400beacc26e48b6700ef4759f5467d56830cd5b0696b61665afb9c800b10054c5a6dfbd4a2b6343af936caa52be3cf2d3b551f91b5fbd4c72dc05d36d977b WHIRLPOOL a5aa526a291a28159fa2b49bc8b900ed4ebd897f4bb2a9b73e90c98efd1c147b62249c3358b871db1ee770def2c3a1c920fa1fe8c5b40ee7d353a62f81883f58
+MISC ChangeLog-2015 29998 SHA256 2a7cf0c8d8ffc2a93861c3636353d697b10a8b3e2ddce1faace78074680f893a SHA512 e89cf7f1857cae0bf0ae1cb5e2480c959f46b3e8ee91a26be5452214a77f697d6f9e3584c9ced4906164986928b43e4699ab65c918ae9366cab719d8b0357583 WHIRLPOOL d4ae89862be8617a877e31724431b6d854209c6d8219ad309a4407e3a2e441863faa7798e22ccd49485b9ecd0ebc3322acc3d66cb4608974a2b23517cce7492e
+MISC metadata.xml 444 SHA256 c4696a22f747056498f14d7fbac5d3b317ee5ed5d0762351003ae7873475ff39 SHA512 9e2abef67d9a4092a62f92a0b32e5d8547a046d26551ef15c577dedf3b56231ba055702a7476104993a8ed15717b5610d1cdbd6c167b0571a84392f41f177cdc WHIRLPOOL af64f83a4459752b8b8656412abaf5feaedbaa4b06dbbd0a71f31fc440eb945d39617a540e6b9969586b190c984452f1eaded80062481c6b2b0121482cfa61c2
diff --git a/sys-freebsd/freebsd-sources/files/config-GENTOO b/sys-freebsd/freebsd-sources/files/config-GENTOO
new file mode 100644
index 000000000000..7c7eb26cccc2
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/config-GENTOO
@@ -0,0 +1,4 @@
+# Kernel configuration for Gentoo/FreeBSD.
+include GENERIC
+ident GENTOO
+
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-10.0-gentoo.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-10.0-gentoo.patch
new file mode 100644
index 000000000000..c7e12bdf8a4e
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-10.0-gentoo.patch
@@ -0,0 +1,22 @@
+diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk
+index 2939a59..124ef6f 100644
+--- a/sys/conf/kern.mk
++++ b/sys/conf/kern.mk
+@@ -5,7 +5,7 @@
+ #
+ CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \
+ -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual \
+- -Wundef -Wno-pointer-sign ${FORMAT_EXTENSIONS} \
++ -Wundef -Wno-pointer-sign \
+ -Wmissing-include-dirs -fdiagnostics-show-option \
+ ${CWARNEXTRA}
+ #
+@@ -61,7 +61,7 @@ FORMAT_EXTENSIONS= -fformat-extensions
+ #
+ .if ${MACHINE_CPUARCH} == "i386"
+ .if ${COMPILER_TYPE} != "clang"
+-CFLAGS+= -mno-align-long-strings -mpreferred-stack-boundary=2
++CFLAGS+= -mpreferred-stack-boundary=2
+ .else
+ CFLAGS+= -mno-aes -mno-avx
+ .endif
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-10.1-gcc48.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-10.1-gcc48.patch
new file mode 100644
index 000000000000..5cb4cf809b12
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-10.1-gcc48.patch
@@ -0,0 +1,18 @@
+https://svnweb.freebsd.org/base?view=revision&revision=281606
+
+diff --git a/sys/crypto/aesni/aesencdec.h b/sys/crypto/aesni/aesencdec.h
+index d4ed8b3..79847ee 100644
+--- a/sys/crypto/aesni/aesencdec.h
++++ b/sys/crypto/aesni/aesencdec.h
+@@ -27,6 +27,11 @@
+ *
+ */
+
++#if defined(__GNUC__) && defined(_KERNEL)
++/* Suppress inclusion of gcc's mm_malloc.h header */
++#define _MM_MALLOC_H_INCLUDED 1
++#endif
++
+ #include <wmmintrin.h>
+
+ static inline void
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-11.0-gentoo-gcc.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-11.0-gentoo-gcc.patch
new file mode 100644
index 000000000000..1d3c8d68a2ee
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-11.0-gentoo-gcc.patch
@@ -0,0 +1,13 @@
+diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh
+index e4b2ad4..411bedf 100644
+--- a/sys/conf/newvers.sh
++++ b/sys/conf/newvers.sh
+@@ -110,7 +110,7 @@ else
+ t=`date`
+ fi
+ i=`${MAKE:-make} -V KERN_IDENT`
+-compiler_v=$($(${MAKE:-make} -V CC) -v 2>&1 | grep -w 'version')
++compiler_v=$($(${MAKE:-make} -V CC) -v 2>&1 | grep 'version' | tail -n 1)
+
+ for dir in /usr/bin /usr/local/bin; do
+ if [ ! -z "${svnversion}" ] ; then
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-11.0-gentoo.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-11.0-gentoo.patch
new file mode 100644
index 000000000000..6acd6aab3608
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-11.0-gentoo.patch
@@ -0,0 +1,22 @@
+diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk
+index e27ea93..615dbac 100644
+--- a/sys/conf/kern.mk
++++ b/sys/conf/kern.mk
+@@ -5,7 +5,7 @@
+ #
+ CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \
+ -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual \
+- -Wundef -Wno-pointer-sign ${FORMAT_EXTENSIONS} \
++ -Wundef -Wno-pointer-sign \
+ -Wmissing-include-dirs -fdiagnostics-show-option \
+ -Wno-unknown-pragmas \
+ ${CWARNEXTRA}
+@@ -86,7 +86,7 @@ FORMAT_EXTENSIONS= -fformat-extensions
+ # Setting -mno-sse implies -mno-sse2, -mno-sse3, -mno-ssse3, -mno-sse41 and -mno-sse42
+ #
+ .if ${MACHINE_CPUARCH} == "i386"
+-CFLAGS.gcc+= -mno-align-long-strings -mpreferred-stack-boundary=2
++CFLAGS.gcc+= -mpreferred-stack-boundary=2
+ CFLAGS.clang+= -mno-aes -mno-avx
+ CFLAGS+= -mno-mmx -mno-sse -msoft-float
+ INLINE_LIMIT?= 8000
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-6.0-flex-2.5.31.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-6.0-flex-2.5.31.patch
new file mode 100644
index 000000000000..88710cf69dd8
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-6.0-flex-2.5.31.patch
@@ -0,0 +1,22 @@
+Index: fbsd-6/sys/dev/aic7xxx/aicasm/aicasm_scan.l
+===================================================================
+--- fbsd-6.orig/sys/dev/aic7xxx/aicasm/aicasm_scan.l
++++ fbsd-6/sys/dev/aic7xxx/aicasm/aicasm_scan.l
+@@ -528,7 +528,7 @@ expand_macro(struct symbol *macro_symbol
+
+ /* Put back everything up until the replacement. */
+ while (body_pos > next_match)
+- unput(*--body_pos);
++ yyunput(*--body_pos, body_head);
+
+ /* Perform the replacement. */
+ if (match_marg != NULL) {
+@@ -537,7 +537,7 @@ expand_macro(struct symbol *macro_symbol
+ next_match = match_marg->replacement_text;
+ strp = next_match + strlen(next_match);
+ while (strp > next_match)
+- unput(*--strp);
++ yyunput(*--strp, next_match);
+
+ /* Skip past the unexpanded macro arg. */
+ body_pos -= match.rm_eo - match.rm_so;
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-6.1-ntfs.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-6.1-ntfs.patch
new file mode 100644
index 000000000000..e74fcd3f9b88
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-6.1-ntfs.patch
@@ -0,0 +1,32 @@
+--- sys/fs/ntfs/ntfs_vnops.c.orig 2006-10-17 17:31:36 -0300
++++ sys/fs/ntfs/ntfs_vnops.c 2006-10-17 17:30:24 -0300
+@@ -507,8 +507,12 @@
+
+ /* Simulate . in every dir except ROOT */
+ if( ip->i_number != NTFS_ROOTINO ) {
+- struct dirent dot = { NTFS_ROOTINO,
+- sizeof(struct dirent), DT_DIR, 1, "." };
++ struct dirent dot;
++ dot.d_fileno = NTFS_ROOTINO;
++ dot.d_reclen = sizeof(struct dirent);
++ dot.d_type = DT_DIR;
++ dot.d_namlen = 1;
++ bcopy(".", dot.d_name, 1);
+
+ if( uio->uio_offset < sizeof(struct dirent) ) {
+ dot.d_fileno = ip->i_number;
+@@ -522,8 +526,12 @@
+
+ /* Simulate .. in every dir including ROOT */
+ if( uio->uio_offset < 2 * sizeof(struct dirent) ) {
+- struct dirent dotdot = { NTFS_ROOTINO,
+- sizeof(struct dirent), DT_DIR, 2, ".." };
++ struct dirent dotdot;
++ dotdot.d_fileno = NTFS_ROOTINO;
++ dotdot.d_reclen = sizeof(struct dirent);
++ dotdot.d_type = DT_DIR;
++ dotdot.d_namlen = 2;
++ bcopy("..", dotdot.d_name, 2);
+
+ error = uiomove((char *)&dotdot,sizeof(struct dirent),uio);
+ if(error)
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-7.0-tmpfs_whiteout_stub.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-7.0-tmpfs_whiteout_stub.patch
new file mode 100644
index 000000000000..13524efa6e00
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-7.0-tmpfs_whiteout_stub.patch
@@ -0,0 +1,44 @@
+diff -ur sys/fs/tmpfs.orig/tmpfs_vnops.c sys/fs/tmpfs/tmpfs_vnops.c
+--- sys/fs/tmpfs.orig/tmpfs_vnops.c 2008-06-22 12:17:48 -0300
++++ sys/fs/tmpfs/tmpfs_vnops.c 2008-06-28 12:05:10 -0300
+@@ -1459,6 +1459,30 @@
+ return (0);
+ }
+
++
++/* --------------------------------------------------------------------- */
++/* This does absolutely nothing */
++#ifdef GENTOO_LIVECD
++static int
++tmpfs_whiteout(struct vop_whiteout_args *ap)
++{
++ switch (ap->a_flags) {
++ case LOOKUP:
++ return (0);
++ break;
++ case CREATE:
++ return(EOPNOTSUPP);
++ break;
++ case DELETE:
++ return (0);
++ break;
++ default:
++ return(EOPNOTSUPP);
++ }
++ return(0);
++}
++#endif
++
+ /* --------------------------------------------------------------------- */
+
+ /*
+@@ -1484,6 +1508,9 @@
+ .vop_mkdir = tmpfs_mkdir,
+ .vop_rmdir = tmpfs_rmdir,
+ .vop_symlink = tmpfs_symlink,
++#ifdef GENTOO_LIVECD
++ .vop_whiteout = tmpfs_whiteout,
++#endif
+ .vop_readdir = tmpfs_readdir,
+ .vop_readlink = tmpfs_readlink,
+ .vop_inactive = tmpfs_inactive,
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-7.1-binutils_link.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-7.1-binutils_link.patch
new file mode 100644
index 000000000000..43d01baef347
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-7.1-binutils_link.patch
@@ -0,0 +1,37 @@
+diff -ruN sys.orig/conf/kern.post.mk sys/conf/kern.post.mk
+--- sys.orig/conf/kern.post.mk 2007-03-23 18:55:59 -0300
++++ sys/conf/kern.post.mk 2008-06-18 19:51:13 -0300
+@@ -85,7 +85,9 @@
+ ${FULLKERNEL}: ${SYSTEM_DEP} vers.o
+ @rm -f ${.TARGET}
+ @echo linking ${.TARGET}
+- ${SYSTEM_LD}
++ ${SYSTEM_LD} -o ${.TARGET}.tmp
++ @sh $S/tools/gen-ld-u-options ${.TARGET}.tmp > ${.TARGET}.lopt
++ ${SYSTEM_LD} "@${.TARGET}.lopt"
+ .if defined(CTFMERGE)
+ ${SYSTEM_CTFMERGE}
+ .endif
+diff -ruN sys.orig/conf/kmod.mk sys/conf/kmod.mk
+--- sys.orig/conf/kmod.mk 2008-06-18 09:11:53 -0300
++++ sys/conf/kmod.mk 2008-06-18 19:50:01 -0300
+@@ -176,7 +176,8 @@
+
+ .if ${MACHINE_ARCH} != amd64
+ ${FULLPROG}: ${KMOD}.kld
+- ${LD} -Bshareable ${LDFLAGS} -o ${.TARGET} ${KMOD}.kld
++ sh ./@/tools/gen-ld-u-options ${KMOD}.kld > ${KMOD}.lopt
++ ${LD} -Bshareable ${LDFLAGS} -o ${.TARGET} ${KMOD}.kld "@${KMOD}.lopt"
+ .if !defined(DEBUG_FLAGS)
+ ${OBJCOPY} --strip-debug ${.TARGET}
+ .endif
+diff -ruN sys.orig/tools/gen-ld-u-options sys/tools/gen-ld-u-options
+--- sys.orig/tools/gen-ld-u-options 1969-12-31 21:00:00 -0300
++++ sys/tools/gen-ld-u-options 2008-06-18 19:47:56 -0300
+@@ -0,0 +1,6 @@
++#!/bin/sh
++
++for i in `objdump -h -w $1 | grep set_ | cut -c5- | cut -f1 -d " "`
++do
++ echo -n " -u __start_$i -u __stop_$i "
++done
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-7.1-includes.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-7.1-includes.patch
new file mode 100644
index 000000000000..3db46fa1d7e3
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-7.1-includes.patch
@@ -0,0 +1,13 @@
+Make headers usable alone, include the headers they need.
+There are probably much more missing.
+
+--- sys/net/if.h.old 2009-05-15 10:51:50 +0000
++++ sys/net/if.h 2009-05-15 10:52:05 +0000
+@@ -34,6 +34,7 @@
+ #define _NET_IF_H_
+
+ #include <sys/cdefs.h>
++#include <sys/socket.h>
+
+ #ifdef _KERNEL
+ #include <sys/queue.h>
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-7.1-types.h-fix.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-7.1-types.h-fix.patch
new file mode 100644
index 000000000000..8de5df2d16a6
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-7.1-types.h-fix.patch
@@ -0,0 +1,15 @@
+Fixes a compile error if XOPEN_SOURCE 600 is defined.
+
+See: http://www.mailinglistarchive.com/freebsd-current@freebsd.org/msg15011.html
+
+--- sys/sys/types.h.orig
++++ sys/sys/types.h
+@@ -46,7 +46,7 @@
+
+ #include <sys/_pthreadtypes.h>
+
+-#if __BSD_VISIBLE
++#ifndef _POSIX_SOURCE
+ typedef unsigned char u_char;
+ typedef unsigned short u_short;
+ typedef unsigned int u_int;
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-7.2-debug-O2.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-7.2-debug-O2.patch
new file mode 100644
index 000000000000..4fa3565207ec
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-7.2-debug-O2.patch
@@ -0,0 +1,27 @@
+My UltraSPARC U5 panics on boot about a memory alignment error when compiled
+with gcc4 and -O. Compiling with -O2 fixes this, and it should not adversly
+affect debugging.
+
+NOTE: This does not fix the memory alignment panic when loading kernel modules.
+
+Roy Marples (uberlord@gentoo.org)
+
+--- sys/conf/kern.pre.mk.old 2009-05-22 10:09:46 +0000
++++ sys/conf/kern.pre.mk 2009-05-22 10:10:27 +0000
+@@ -22,15 +22,13 @@
+ COPTFLAGS?= -O
+ .else
+ . if defined(DEBUG)
+-_MINUS_O= -O
+ CTFFLAGS+= -g
+ . else
+-_MINUS_O= -O2
+ . endif
+ . if ${MACHINE_ARCH} == "amd64"
+ COPTFLAGS?=-O2 -frename-registers -pipe
+ . else
+-COPTFLAGS?=${_MINUS_O} -pipe
++COPTFLAGS?=-O2 -pipe
+ . endif
+ . if !empty(COPTFLAGS:M-O[23s]) && empty(COPTFLAGS:M-fno-strict-aliasing)
+ COPTFLAGS+= -fno-strict-aliasing
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-8.0-gentoo.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-8.0-gentoo.patch
new file mode 100644
index 000000000000..0f8d070e9a31
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-8.0-gentoo.patch
@@ -0,0 +1,33 @@
+--- sys/conf/kern.mk.old 2007-05-24 23:53:42.000000000 +0200
++++ sys/conf/kern.mk 2008-03-14 14:37:47.216420518 +0100
+@@ -12,7 +12,7 @@
+ .else
+ CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \
+ -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual \
+- ${_wundef} ${_Wno_pointer_sign} -fformat-extensions
++ ${_wundef} ${_Wno_pointer_sign}
+ .if !defined(WITH_GCC3)
+ _Wno_pointer_sign=-Wno-pointer-sign
+ .endif
+@@ -36,7 +36,7 @@
+ # reserved for user applications.
+ #
+ .if ${MACHINE_ARCH} == "i386" && ${CC} != "icc"
+-CFLAGS+= -mno-align-long-strings -mpreferred-stack-boundary=2 \
++CFLAGS+= -mpreferred-stack-boundary=2 \
+ -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3
+ INLINE_LIMIT?= 8000
+ .endif
+Only in ./sys/conf: kern.mk.rej
+Only in ./sys/conf: kern.mk~
+--- sys/dev/aic7xxx/aicasm/Makefile.old 2010-03-10 14:01:50 +0100
++++ sys/dev/aic7xxx/aicasm/Makefile 2010-03-10 14:01:56 +0100
+@@ -14,7 +14,7 @@
+ SRCS= ${GENHDRS} ${CSRCS} ${YSRCS} ${LSRCS}
+ CLEANFILES+= ${GENHDRS} ${YSRCS:R:C/(.*)/\1.output/g}
+ DPADD= ${LIBL}
+-LDADD= -ll
++LDADD= -lfl
+ WARNS?= 6
+
+ # Correct path for kernel builds
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-8.0-subnet-route-pr40133.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-8.0-subnet-route-pr40133.patch
new file mode 100644
index 000000000000..a7335f6d427f
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-8.0-subnet-route-pr40133.patch
@@ -0,0 +1,21 @@
+Fixes changing the default subnet route after removing an ip address.
+
+See: http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=40133
+and http://mail-index.netbsd.org/tech-net/2008/12/03/msg000896.html
+
+Thanks to Roy Marples.
+--- sys/netinet/in.c.orig
++++ sys/netinet/in.c
+@@ -858,6 +858,12 @@
+ error = rtinit(&target->ia_ifa, (int)RTM_ADD, flags);
+ if (!error)
+ target->ia_flags |= IFA_ROUTE;
++ else if (error == EEXIST) {
++ /*
++ * the fact that the route already exists is not an error.
++ */
++ error = 0;
++ }
+ return (error);
+ }
+
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-8.2-unix2.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-8.2-unix2.patch
new file mode 100644
index 000000000000..50dacd0e5a49
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-8.2-unix2.patch
@@ -0,0 +1,55 @@
+Index: sys/kern/uipc_usrreq.c
+===================================================================
+--- sys/kern/uipc_usrreq.c (revision 225745)
++++ sys/kern/uipc_usrreq.c (working copy)
+@@ -462,6 +462,8 @@
+ unp = sotounpcb(so);
+ KASSERT(unp != NULL, ("uipc_bind: unp == NULL"));
+
++ if (soun->sun_len > sizeof(struct sockaddr_un))
++ return (EINVAL);
+ namelen = soun->sun_len - offsetof(struct sockaddr_un, sun_path);
+ if (namelen <= 0)
+ return (EINVAL);
+@@ -1252,6 +1254,8 @@
+ unp = sotounpcb(so);
+ KASSERT(unp != NULL, ("unp_connect: unp == NULL"));
+
++ if (nam->sa_len > sizeof(struct sockaddr_un))
++ return (EINVAL);
+ len = nam->sa_len - offsetof(struct sockaddr_un, sun_path);
+ if (len <= 0)
+ return (EINVAL);
+Index: sys/compat/linux/linux_socket.c
+===================================================================
+--- sys/compat/linux/linux_socket.c (revision 225919)
++++ sys/compat/linux/linux_socket.c (working copy)
+@@ -104,6 +104,7 @@
+ int oldv6size;
+ struct sockaddr_in6 *sin6;
+ #endif
++ int namelen;
+
+ if (*osalen < 2 || *osalen > UCHAR_MAX || !osa)
+ return (EINVAL);
+@@ -166,6 +167,20 @@
+ }
+ }
+
++ if ((bdom == AF_LOCAL) && (*osalen > sizeof(struct sockaddr_un))) {
++ for (namelen = 0;
++ namelen < *osalen - offsetof(struct sockaddr_un, sun_path);
++ namelen++)
++ if (!((struct sockaddr_un *)kosa)->sun_path[namelen])
++ break;
++ if (namelen + offsetof(struct sockaddr_un, sun_path) >
++ sizeof(struct sockaddr_un)) {
++ error = EINVAL;
++ goto out;
++ }
++ alloclen = sizeof(struct sockaddr_un);
++ }
++
+ sa = (struct sockaddr *) kosa;
+ sa->sa_family = bdom;
+ sa->sa_len = alloclen;
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.0-disable-optimization.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.0-disable-optimization.patch
new file mode 100644
index 000000000000..4824ff6e1a09
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.0-disable-optimization.patch
@@ -0,0 +1,32 @@
+Taken from debian GNU/kFreeBSD.
+
+Regretably, with GCC 4.4 or later this is the only flag combination
+I could find that doesn't cause kernel panics CPU triple-faults or
+other kind of severe breakage. This is Gentoo Bug #410945.
+
+Clang can use -O2, so we do not force -O1 on it
+
+--- a/sys/conf/kern.pre.mk
++++ b/sys/conf/kern.pre.mk
+@@ -41,6 +41,9 @@
+ .if !empty(COPTFLAGS:M-O[23s]) && empty(COPTFLAGS:M-fno-strict-aliasing)
+ COPTFLAGS+= -fno-strict-aliasing
+ .endif
++.if ${CC:T:Mclang} != "clang" && !empty(COPTFLAGS:M-O[23s])
++COPTFLAGS+= -O1
++.endif
+ .if !defined(NO_CPU_COPTFLAGS)
+ COPTFLAGS+= ${_CPUCFLAGS}
+ .endif
+--- a/sys/conf/kmod.mk
++++ b/sys/conf/kmod.mk
+@@ -91,6 +91,9 @@
+ .if !empty(CFLAGS:M-O[23s]) && empty(CFLAGS:M-fno-strict-aliasing)
+ CFLAGS+= -fno-strict-aliasing
+ .endif
++.if ${CC:T:Mclang} != "clang" && !empty(CFLAGS:M-O[23s])
++CFLAGS+= -O1
++.endif
+ WERROR?= -Werror
+ CFLAGS+= ${WERROR}
+ CFLAGS+= -D_KERNEL
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.0-ipv6refcount.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.0-ipv6refcount.patch
new file mode 100644
index 000000000000..f0984f6776c8
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.0-ipv6refcount.patch
@@ -0,0 +1,128 @@
+Index: sys/netinet6/in6.c
+===================================================================
+--- sys/netinet6/in6.c.orig
++++ sys/netinet6/in6.c
+@@ -1369,6 +1369,8 @@ in6_purgeaddr(struct ifaddr *ifa)
+ }
+
+ cleanup:
++ if (ifa0 != NULL)
++ ifa_free(ifa0);
+
+ plen = in6_mask2len(&ia->ia_prefixmask.sin6_addr, NULL); /* XXX */
+ if ((ia->ia_flags & IFA_ROUTE) && plen == 128) {
+@@ -1393,8 +1395,6 @@ cleanup:
+ return;
+ ia->ia_flags &= ~IFA_ROUTE;
+ }
+- if (ifa0 != NULL)
+- ifa_free(ifa0);
+
+ in6_unlink_ifa(ia, ifp);
+ }
+@@ -1667,14 +1667,19 @@ in6_lifaddr_ioctl(struct socket *so, u_long cmd, c
+ hostid = IFA_IN6(ifa);
+
+ /* prefixlen must be <= 64. */
+- if (64 < iflr->prefixlen)
++ if (64 < iflr->prefixlen) {
++ if (ifa != NULL)
++ ifa_free(ifa);
+ return EINVAL;
++ }
+ prefixlen = iflr->prefixlen;
+
+ /* hostid part must be zero. */
+ sin6 = (struct sockaddr_in6 *)&iflr->addr;
+ if (sin6->sin6_addr.s6_addr32[2] != 0 ||
+ sin6->sin6_addr.s6_addr32[3] != 0) {
++ if (ifa != NULL)
++ ifa_free(ifa);
+ return EINVAL;
+ }
+ } else
+@@ -2265,14 +2265,20 @@ in6_ifawithifp(struct ifnet *ifp, struct in6_addr
+ IN6_IFADDR_RUNLOCK();
+ return (struct in6_ifaddr *)ifa;
+ }
+- IN6_IFADDR_RUNLOCK();
+
+ /* use the last-resort values, that are, deprecated addresses */
+- if (dep[0])
++ if (dep[0]) {
++ ifa_ref((struct ifaddr *)dep[0]);
++ IN6_IFADDR_RUNLOCK();
+ return dep[0];
+- if (dep[1])
++ }
++ if (dep[1]) {
++ ifa_ref((struct ifaddr *)dep[1]);
++ IN6_IFADDR_RUNLOCK();
+ return dep[1];
++ }
+
++ IN6_IFADDR_RUNLOCK();
+ return NULL;
+ }
+
+Index: sys/netinet6/ip6_input.c
+===================================================================
+--- sys/netinet6/ip6_input.c.orig
++++ sys/netinet6/ip6_input.c
+@@ -879,19 +879,23 @@ passin:
+ * as our interface address (e.g. multicast addresses, addresses
+ * within FAITH prefixes and such).
+ */
+- if (deliverifp && !ip6_getdstifaddr(m)) {
++ if (deliverifp) {
+ struct in6_ifaddr *ia6;
+
+- ia6 = in6_ifawithifp(deliverifp, &ip6->ip6_dst);
+- if (ia6) {
+- if (!ip6_setdstifaddr(m, ia6)) {
+- /*
+- * XXX maybe we should drop the packet here,
+- * as we could not provide enough information
+- * to the upper layers.
+- */
++ if ((ia6 = ip6_getdstifaddr(m)) != NULL) {
++ ifa_free(&ia6->ia_ifa);
++ } else {
++ ia6 = in6_ifawithifp(deliverifp, &ip6->ip6_dst);
++ if (ia6) {
++ if (!ip6_setdstifaddr(m, ia6)) {
++ /*
++ * XXX maybe we should drop the packet here,
++ * as we could not provide enough information
++ * to the upper layers.
++ */
++ }
++ ifa_free(&ia6->ia_ifa);
+ }
+- ifa_free(&ia6->ia_ifa);
+ }
+ }
+
+Index: sys/netinet/tcp_input.c
+===================================================================
+--- sys/netinet/tcp_input.c.orig
++++ sys/netinet/tcp_input.c
+@@ -512,6 +512,8 @@ tcp6_input(struct mbuf **mp, int *offp, int proto)
+ (caddr_t)&ip6->ip6_dst - (caddr_t)ip6);
+ return IPPROTO_DONE;
+ }
++ if (ia6)
++ ifa_free(&ia6->ia_ifa);
+
+ tcp_input(m, *offp);
+ return IPPROTO_DONE;
+@@ -1240,7 +1242,8 @@ relocked:
+ rstreason = BANDLIM_RST_OPENPORT;
+ goto dropwithreset;
+ }
+- ifa_free(&ia6->ia_ifa);
++ if (ia6)
++ ifa_free(&ia6->ia_ifa);
+ }
+ #endif /* INET6 */
+ /*
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.0-sysctluint.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.0-sysctluint.patch
new file mode 100644
index 000000000000..751a77c843bb
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.0-sysctluint.patch
@@ -0,0 +1,13 @@
+u_int is defined in sys/types.h
+makes header usable alone.
+
+--- sys/sys/sysctl.h.old 2012-05-25 11:08:53.000000000 -0400
++++ sys/sys/sysctl.h 2012-05-25 11:09:16.000000000 -0400
+@@ -788,6 +788,7 @@
+ struct sysctl_req *);
+ #else /* !_KERNEL */
+ #include <sys/cdefs.h>
++#include <sys/types.h> /* for u_int */
+
+ __BEGIN_DECLS
+ int sysctl(const int *, u_int, void *, size_t *, const void *, size_t);
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-ciss.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-ciss.patch
new file mode 100644
index 000000000000..697984b92e74
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-ciss.patch
@@ -0,0 +1,65 @@
+Index: sys/dev/ciss/ciss.c
+===================================================================
+--- sys/dev/ciss/ciss.c (revision 264510)
++++ sys/dev/ciss/ciss.c (revision 264511)
+@@ -180,8 +180,6 @@
+ static void ciss_cam_poll(struct cam_sim *sim);
+ static void ciss_cam_complete(struct ciss_request *cr);
+ static void ciss_cam_complete_fixup(struct ciss_softc *sc, struct ccb_scsiio *csio);
+-static struct cam_periph *ciss_find_periph(struct ciss_softc *sc,
+- int bus, int target);
+ static int ciss_name_device(struct ciss_softc *sc, int bus, int target);
+
+ /* periodic status monitoring */
+@@ -3398,27 +3396,6 @@
+
+
+ /********************************************************************************
+- * Find a peripheral attached at (target)
+- */
+-static struct cam_periph *
+-ciss_find_periph(struct ciss_softc *sc, int bus, int target)
+-{
+- struct cam_periph *periph;
+- struct cam_path *path;
+- int status;
+-
+- status = xpt_create_path(&path, NULL, cam_sim_path(sc->ciss_cam_sim[bus]),
+- target, 0);
+- if (status == CAM_REQ_CMP) {
+- periph = cam_periph_find(path, NULL);
+- xpt_free_path(path);
+- } else {
+- periph = NULL;
+- }
+- return(periph);
+-}
+-
+-/********************************************************************************
+ * Name the device at (target)
+ *
+ * XXX is this strictly correct?
+@@ -3427,12 +3404,22 @@
+ ciss_name_device(struct ciss_softc *sc, int bus, int target)
+ {
+ struct cam_periph *periph;
++ struct cam_path *path;
++ int status;
+
+ if (CISS_IS_PHYSICAL(bus))
+ return (0);
+- if ((periph = ciss_find_periph(sc, bus, target)) != NULL) {
++
++ status = xpt_create_path(&path, NULL, cam_sim_path(sc->ciss_cam_sim[bus]),
++ target, 0);
++
++ if (status == CAM_REQ_CMP) {
++ mtx_lock(&sc->ciss_mtx);
++ periph = cam_periph_find(path, NULL);
+ sprintf(sc->ciss_logical[bus][target].cl_name, "%s%d",
+ periph->periph_name, periph->unit_number);
++ mtx_unlock(&sc->ciss_mtx);
++ xpt_free_path(path);
+ return(0);
+ }
+ sc->ciss_logical[bus][target].cl_name[0] = 0;
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-3077.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-3077.patch
new file mode 100644
index 000000000000..23f68ed9c3db
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-3077.patch
@@ -0,0 +1,26 @@
+Index: sys/netinet/in_mcast.c
+===================================================================
+--- sys/netinet/in_mcast.c (revision 254252)
++++ sys/netinet/in_mcast.c (working copy)
+@@ -1648,6 +1648,8 @@
+ * has asked for, but we always tell userland how big the
+ * buffer really needs to be.
+ */
++ if (msfr.msfr_nsrcs > in_mcast_maxsocksrc)
++ msfr.msfr_nsrcs = in_mcast_maxsocksrc;
+ tss = NULL;
+ if (msfr.msfr_srcs != NULL && msfr.msfr_nsrcs > 0) {
+ tss = malloc(sizeof(struct sockaddr_storage) * msfr.msfr_nsrcs,
+Index: sys/netinet6/in6_mcast.c
+===================================================================
+--- sys/netinet6/in6_mcast.c (revision 254252)
++++ sys/netinet6/in6_mcast.c (working copy)
+@@ -1625,6 +1625,8 @@
+ * has asked for, but we always tell userland how big the
+ * buffer really needs to be.
+ */
++ if (msfr.msfr_nsrcs > in6_mcast_maxsocksrc)
++ msfr.msfr_nsrcs = in6_mcast_maxsocksrc;
+ tss = NULL;
+ if (msfr.msfr_srcs != NULL && msfr.msfr_nsrcs > 0) {
+ tss = malloc(sizeof(struct sockaddr_storage) * msfr.msfr_nsrcs,
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-3266.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-3266.patch
new file mode 100644
index 000000000000..0d1a89419e5f
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-3266.patch
@@ -0,0 +1,13 @@
+Index: sys/fs/nfsserver/nfs_nfsdport.c
+===================================================================
+--- sys/fs/nfsserver/nfs_nfsdport.c (revision 249651)
++++ sys/fs/nfsserver/nfs_nfsdport.c (working copy)
+@@ -1568,6 +1568,8 @@ nfsrvd_readdir(struct nfsrv_descript *nd, int isdg
+ nd->nd_repstat = NFSERR_BAD_COOKIE;
+ #endif
+ }
++ if (!nd->nd_repstat && vp->v_type != VDIR)
++ nd->nd_repstat = NFSERR_NOTDIR;
+ if (nd->nd_repstat == 0 && cnt == 0) {
+ if (nd->nd_flag & ND_NFSV2)
+ /* NFSv2 does not have NFSERR_TOOSMALL */
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-5209.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-5209.patch
new file mode 100644
index 000000000000..e6710e3bcb8b
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-5209.patch
@@ -0,0 +1,19 @@
+Index: sys/netinet/sctp_output.c
+===================================================================
+--- sys/netinet/sctp_output.c (revision 254337)
++++ sys/netinet/sctp_output.c (revision 254338)
+@@ -5406,6 +5406,14 @@
+ }
+ SCTP_BUF_LEN(m) = sizeof(struct sctp_init_chunk);
+
++ /*
++ * We might not overwrite the identification[] completely and on
++ * some platforms time_entered will contain some padding. Therefore
++ * zero out the cookie to avoid putting uninitialized memory on the
++ * wire.
++ */
++ memset(&stc, 0, sizeof(struct sctp_state_cookie));
++
+ /* the time I built cookie */
+ (void)SCTP_GETTIME_TIMEVAL(&stc.time_entered);
+
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-5691.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-5691.patch
new file mode 100644
index 000000000000..9aef1503f770
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-5691.patch
@@ -0,0 +1,89 @@
+Index: sys/net/if.c
+===================================================================
+--- sys/net/if.c (revision 254941)
++++ sys/net/if.c (working copy)
+@@ -2553,11 +2553,23 @@
+ CURVNET_RESTORE();
+ return (EOPNOTSUPP);
+ }
++
++ /*
++ * Pass the request on to the socket control method, and if the
++ * latter returns EOPNOTSUPP, directly to the interface.
++ *
++ * Make an exception for the legacy SIOCSIF* requests. Drivers
++ * trust SIOCSIFADDR et al to come from an already privileged
++ * layer, and do not perform any credentials checks or input
++ * validation.
++ */
+ #ifndef COMPAT_43
+ error = ((*so->so_proto->pr_usrreqs->pru_control)(so, cmd,
+ data,
+ ifp, td));
+- if (error == EOPNOTSUPP && ifp != NULL && ifp->if_ioctl != NULL)
++ if (error == EOPNOTSUPP && ifp != NULL && ifp->if_ioctl != NULL &&
++ cmd != SIOCSIFADDR && cmd != SIOCSIFBRDADDR &&
++ cmd != SIOCSIFDSTADDR && cmd != SIOCSIFNETMASK)
+ error = (*ifp->if_ioctl)(ifp, cmd, data);
+ #else
+ {
+@@ -2601,7 +2613,9 @@
+ data,
+ ifp, td));
+ if (error == EOPNOTSUPP && ifp != NULL &&
+- ifp->if_ioctl != NULL)
++ ifp->if_ioctl != NULL &&
++ cmd != SIOCSIFADDR && cmd != SIOCSIFBRDADDR &&
++ cmd != SIOCSIFDSTADDR && cmd != SIOCSIFNETMASK)
+ error = (*ifp->if_ioctl)(ifp, cmd, data);
+ switch (ocmd) {
+
+Index: sys/netinet6/in6.c
+===================================================================
+--- sys/netinet6/in6.c (revision 254941)
++++ sys/netinet6/in6.c (working copy)
+@@ -431,6 +431,18 @@
+ case SIOCGIFSTAT_ICMP6:
+ sa6 = &ifr->ifr_addr;
+ break;
++ case SIOCSIFADDR:
++ case SIOCSIFBRDADDR:
++ case SIOCSIFDSTADDR:
++ case SIOCSIFNETMASK:
++ /*
++ * Although we should pass any non-INET6 ioctl requests
++ * down to driver, we filter some legacy INET requests.
++ * Drivers trust SIOCSIFADDR et al to come from an already
++ * privileged layer, and do not perform any credentials
++ * checks or input validation.
++ */
++ return (EINVAL);
+ default:
+ sa6 = NULL;
+ break;
+Index: sys/netnatm/natm.c
+===================================================================
+--- sys/netnatm/natm.c (revision 254941)
++++ sys/netnatm/natm.c (working copy)
+@@ -339,6 +339,21 @@
+ npcb = (struct natmpcb *)so->so_pcb;
+ KASSERT(npcb != NULL, ("natm_usr_control: npcb == NULL"));
+
++ switch (cmd) {
++ case SIOCSIFADDR:
++ case SIOCSIFBRDADDR:
++ case SIOCSIFDSTADDR:
++ case SIOCSIFNETMASK:
++ /*
++ * Although we should pass any non-ATM ioctl requests
++ * down to driver, we filter some legacy INET requests.
++ * Drivers trust SIOCSIFADDR et al to come from an already
++ * privileged layer, and do not perform any credentials
++ * checks or input validation.
++ */
++ return (EINVAL);
++ }
++
+ if (ifp == NULL || ifp->if_ioctl == NULL)
+ return (EOPNOTSUPP);
+ return ((*ifp->if_ioctl)(ifp, cmd, arg));
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-5710.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-5710.patch
new file mode 100644
index 000000000000..83f30e84fe9e
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2013-5710.patch
@@ -0,0 +1,28 @@
+Index: sys/fs/nullfs/null_vnops.c
+===================================================================
+--- sys/fs/nullfs/null_vnops.c (revision 254941)
++++ sys/fs/nullfs/null_vnops.c (working copy)
+@@ -858,6 +858,15 @@
+ return (error);
+ }
+
++static int
++null_link(struct vop_link_args *ap)
++{
++
++ if (ap->a_tdvp->v_mount != ap->a_vp->v_mount)
++ return (EXDEV);
++ return (null_bypass((struct vop_generic_args *)ap));
++}
++
+ /*
+ * Global vfs data structures
+ */
+@@ -871,6 +880,7 @@
+ .vop_getwritemount = null_getwritemount,
+ .vop_inactive = null_inactive,
+ .vop_islocked = vop_stdislocked,
++ .vop_link = null_link,
+ .vop_lock1 = null_lock,
+ .vop_lookup = null_lookup,
+ .vop_open = null_open,
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2014-1453.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2014-1453.patch
new file mode 100644
index 000000000000..fe9e97efd298
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-cve-2014-1453.patch
@@ -0,0 +1,70 @@
+Index: sys/fs/nfsserver/nfs_nfsdserv.c
+===================================================================
+--- sys/fs/nfsserver/nfs_nfsdserv.c (revision 264251)
++++ sys/fs/nfsserver/nfs_nfsdserv.c (working copy)
+@@ -1457,10 +1457,23 @@ nfsrvd_rename(struct nfsrv_descript *nd, int isdgr
+ nfsvno_relpathbuf(&fromnd);
+ goto out;
+ }
++ /*
++ * Unlock dp in this code section, so it is unlocked before
++ * tdp gets locked. This avoids a potential LOR if tdp is the
++ * parent directory of dp.
++ */
+ if (nd->nd_flag & ND_NFSV4) {
+ tdp = todp;
+ tnes = *toexp;
+- tdirfor_ret = nfsvno_getattr(tdp, &tdirfor, nd->nd_cred, p, 0);
++ if (dp != tdp) {
++ NFSVOPUNLOCK(dp, 0);
++ tdirfor_ret = nfsvno_getattr(tdp, &tdirfor, nd->nd_cred,
++ p, 0); /* Might lock tdp. */
++ } else {
++ tdirfor_ret = nfsvno_getattr(tdp, &tdirfor, nd->nd_cred,
++ p, 1);
++ NFSVOPUNLOCK(dp, 0);
++ }
+ } else {
+ tfh.nfsrvfh_len = 0;
+ error = nfsrv_mtofh(nd, &tfh);
+@@ -1481,10 +1494,12 @@ nfsrvd_rename(struct nfsrv_descript *nd, int isdgr
+ tnes = *exp;
+ tdirfor_ret = nfsvno_getattr(tdp, &tdirfor, nd->nd_cred,
+ p, 1);
++ NFSVOPUNLOCK(dp, 0);
+ } else {
++ NFSVOPUNLOCK(dp, 0);
+ nd->nd_cred->cr_uid = nd->nd_saveduid;
+ nfsd_fhtovp(nd, &tfh, LK_EXCLUSIVE, &tdp, &tnes, NULL,
+- 0, p);
++ 0, p); /* Locks tdp. */
+ if (tdp) {
+ tdirfor_ret = nfsvno_getattr(tdp, &tdirfor,
+ nd->nd_cred, p, 1);
+@@ -1499,7 +1514,7 @@ nfsrvd_rename(struct nfsrv_descript *nd, int isdgr
+ if (error) {
+ if (tdp)
+ vrele(tdp);
+- vput(dp);
++ vrele(dp);
+ nfsvno_relpathbuf(&fromnd);
+ nfsvno_relpathbuf(&tond);
+ goto out;
+@@ -1514,7 +1529,7 @@ nfsrvd_rename(struct nfsrv_descript *nd, int isdgr
+ }
+ if (tdp)
+ vrele(tdp);
+- vput(dp);
++ vrele(dp);
+ nfsvno_relpathbuf(&fromnd);
+ nfsvno_relpathbuf(&tond);
+ goto out;
+@@ -1523,7 +1538,7 @@ nfsrvd_rename(struct nfsrv_descript *nd, int isdgr
+ /*
+ * Done parsing, now down to business.
+ */
+- nd->nd_repstat = nfsvno_namei(nd, &fromnd, dp, 1, exp, p, &fdirp);
++ nd->nd_repstat = nfsvno_namei(nd, &fromnd, dp, 0, exp, p, &fdirp);
+ if (nd->nd_repstat) {
+ if (nd->nd_flag & ND_NFSV3) {
+ nfsrv_wcc(nd, fdirfor_ret, &fdirfor, fdiraft_ret,
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-exec.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-exec.patch
new file mode 100644
index 000000000000..c36bed59b39e
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-exec.patch
@@ -0,0 +1,66 @@
+Index: sys/kern/kern_exec.c
+===================================================================
+--- sys/kern/kern_exec.c (revision 266979)
++++ sys/kern/kern_exec.c (working copy)
+@@ -280,6 +280,7 @@ kern_execve(td, args, mac_p)
+ struct mac *mac_p;
+ {
+ struct proc *p = td->td_proc;
++ struct vmspace *oldvmspace;
+ int error;
+
+ AUDIT_ARG_ARGV(args->begin_argv, args->argc,
+@@ -296,6 +297,8 @@ kern_execve(td, args, mac_p)
+ PROC_UNLOCK(p);
+ }
+
++ KASSERT((td->td_pflags & TDP_EXECVMSPC) == 0, ("nested execve"));
++ oldvmspace = td->td_proc->p_vmspace;
+ error = do_execve(td, args, mac_p);
+
+ if (p->p_flag & P_HADTHREADS) {
+@@ -310,6 +313,12 @@ kern_execve(td, args, mac_p)
+ thread_single_end();
+ PROC_UNLOCK(p);
+ }
++ if ((td->td_pflags & TDP_EXECVMSPC) != 0) {
++ KASSERT(td->td_proc->p_vmspace != oldvmspace,
++ ("oldvmspace still used"));
++ vmspace_free(oldvmspace);
++ td->td_pflags &= ~TDP_EXECVMSPC;
++ }
+
+ return (error);
+ }
+Index: sys/sys/proc.h
+===================================================================
+--- sys/sys/proc.h (revision 266979)
++++ sys/sys/proc.h (working copy)
+@@ -968,4 +968,5 @@ curthread_pflags_restore(int save)
+
+ #endif /* _KERNEL */
+
++#define TDP_EXECVMSPC 0x40000000 /* Execve destroyed old vmspace */
+ #endif /* !_SYS_PROC_H_ */
+Index: sys/vm/vm_map.c
+===================================================================
+--- sys/vm/vm_map.c (revision 266979)
++++ sys/vm/vm_map.c (working copy)
+@@ -3631,6 +3631,8 @@ vmspace_exec(struct proc *p, vm_offset_t minuser,
+ struct vmspace *oldvmspace = p->p_vmspace;
+ struct vmspace *newvmspace;
+
++ KASSERT((curthread->td_pflags & TDP_EXECVMSPC) == 0,
++ ("vmspace_exec recursed"));
+ newvmspace = vmspace_alloc(minuser, maxuser);
+ if (newvmspace == NULL)
+ return (ENOMEM);
+@@ -3647,7 +3649,7 @@ vmspace_exec(struct proc *p, vm_offset_t minuser,
+ PROC_VMSPACE_UNLOCK(p);
+ if (p == curthread->td_proc)
+ pmap_activate(curthread);
+- vmspace_free(oldvmspace);
++ curthread->td_pflags |= TDP_EXECVMSPC;
+ return (0);
+ }
+
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-gentoo.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-gentoo.patch
new file mode 100644
index 000000000000..b02d8b68870c
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-gentoo.patch
@@ -0,0 +1,21 @@
+diff -Nur sys.orig/conf/kern.mk sys/conf/kern.mk
+--- sys.orig/conf/kern.mk 2012-07-12 13:26:37.000000000 +0900
++++ sys/conf/kern.mk 2012-07-16 02:32:19.000000000 +0900
+@@ -5,7 +5,7 @@
+ #
+ CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \
+ -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual \
+- -Wundef -Wno-pointer-sign -fformat-extensions \
++ -Wundef -Wno-pointer-sign \
+ -Wmissing-include-dirs -fdiagnostics-show-option \
+ ${CWARNEXTRA}
+ #
+@@ -52,7 +52,7 @@
+ #
+ .if ${MACHINE_CPUARCH} == "i386"
+ .if ${MK_CLANG_IS_CC} == "no" && ${CC:T:Mclang} != "clang"
+-CFLAGS+= -mno-align-long-strings -mpreferred-stack-boundary=2
++CFLAGS+= -mpreferred-stack-boundary=2
+ .else
+ CFLAGS+= -mno-aes -mno-avx
+ .endif
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-ktrace.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-ktrace.patch
new file mode 100644
index 000000000000..0fb6df7600ef
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-ktrace.patch
@@ -0,0 +1,12 @@
+Index: sys/kern/kern_ktrace.c
+===================================================================
+--- sys/kern/kern_ktrace.c (revision 266771)
++++ sys/kern/kern_ktrace.c (working copy)
+@@ -119,6 +119,7 @@ static int data_lengths[] = {
+ 0, /* KTR_SYSCTL */
+ sizeof(struct ktr_proc_ctor), /* KTR_PROCCTOR */
+ 0, /* KTR_PROCDTOR */
++ 0, /* unused */
+ sizeof(struct ktr_fault), /* KTR_FAULT */
+ sizeof(struct ktr_faultend), /* KTR_FAULTEND */
+ };
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-mmap-2014.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-mmap-2014.patch
new file mode 100644
index 000000000000..fd4040a88166
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-mmap-2014.patch
@@ -0,0 +1,20 @@
+Index: sys/vm/vm_map.c
+===================================================================
+--- sys/vm/vm_map.c (revision 259950)
++++ sys/vm/vm_map.c (revision 259951)
+@@ -1207,6 +1207,7 @@ charged:
+ }
+ else if ((prev_entry != &map->header) &&
+ (prev_entry->eflags == protoeflags) &&
++ (cow & (MAP_ENTRY_GROWS_DOWN | MAP_ENTRY_GROWS_UP)) == 0 &&
+ (prev_entry->end == start) &&
+ (prev_entry->wired_count == 0) &&
+ (prev_entry->cred == cred ||
+@@ -3339,7 +3340,6 @@ vm_map_stack(vm_map_t map, vm_offset_t addrbos, vm
+ * NOTE: We explicitly allow bi-directional stacks.
+ */
+ orient = cow & (MAP_STACK_GROWS_DOWN|MAP_STACK_GROWS_UP);
+- cow &= ~orient;
+ KASSERT(orient != 0, ("No stack grow direction"));
+
+ if (addrbos < vm_map_min(map) ||
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-mmap.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-mmap.patch
new file mode 100644
index 000000000000..ef2d0a78206b
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-mmap.patch
@@ -0,0 +1,20 @@
+http://www.freebsd.org/security/advisories/FreeBSD-SA-13:06.mmap.asc
+https://bugs.gentoo.org/show_bug.cgi?id=473688
+
+Index: sys/vm/vm_map.c
+===================================================================
+--- sys/vm/vm_map.c (revision 251636)
++++ sys/vm/vm_map.c (working copy)
+@@ -3761,6 +3761,12 @@ RetryLookup:;
+ vm_map_unlock_read(map);
+ return (KERN_PROTECTION_FAILURE);
+ }
++ if ((fault_typea & VM_PROT_COPY) != 0 &&
++ (entry->max_protection & VM_PROT_WRITE) == 0 &&
++ (entry->eflags & MAP_ENTRY_COW) == 0) {
++ vm_map_unlock_read(map);
++ return (KERN_PROTECTION_FAILURE);
++ }
+
+ /*
+ * If this page is not pageable, we have to get it for all possible
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-nfsserver.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-nfsserver.patch
new file mode 100644
index 000000000000..767588fc86f6
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-nfsserver.patch
@@ -0,0 +1,16 @@
+http://www.freebsd.org/security/advisories/FreeBSD-SA-13:08.nfsserver.asc
+https://bugs.gentoo.org/show_bug.cgi?id=478314
+
+Index: sys/kern/vfs_export.c
+===================================================================
+--- sys/kern/vfs_export.c (revision 253367)
++++ sys/kern/vfs_export.c (working copy)
+@@ -208,7 +208,7 @@
+ np->netc_anon = crget();
+ np->netc_anon->cr_uid = argp->ex_anon.cr_uid;
+ crsetgroups(np->netc_anon, argp->ex_anon.cr_ngroups,
+- np->netc_anon->cr_groups);
++ argp->ex_anon.cr_groups);
+ np->netc_anon->cr_prison = &prison0;
+ prison_hold(np->netc_anon->cr_prison);
+ np->netc_numsecflavors = argp->ex_numsecflavors;
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-random.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-random.patch
new file mode 100644
index 000000000000..bb3caba00137
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-random.patch
@@ -0,0 +1,27 @@
+Index: sys/dev/random/probe.c
+===================================================================
+--- sys/dev/random/probe.c (revision 260523)
++++ sys/dev/random/probe.c (working copy)
+@@ -30,6 +30,8 @@ __FBSDID("$FreeBSD$");
+
+ #include <sys/types.h>
+ #include <sys/param.h>
++#include <sys/systm.h>
++#include <sys/kernel.h>
+ #include <sys/malloc.h>
+ #include <sys/random.h>
+ #include <sys/selinfo.h>
+@@ -57,7 +59,12 @@ random_ident_hardware(struct random_systat *systat
+ /* Then go looking for hardware */
+ #if defined(__amd64__) || (defined(__i386__) && !defined(PC98))
+ if (via_feature_rng & VIA_HAS_RNG) {
+- *systat = random_nehemiah;
++ int enable;
++
++ enable = 0;
++ TUNABLE_INT_FETCH("hw.nehemiah_rng_enable", &enable);
++ if (enable)
++ *systat = random_nehemiah;
+ }
+ #endif
+ }
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-tcp.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-tcp.patch
new file mode 100644
index 000000000000..2f82a5f98a58
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.1-tcp.patch
@@ -0,0 +1,32 @@
+Index: sys/netinet/tcp_reass.c
+===================================================================
+--- sys/netinet/tcp_reass.c (revision 264836)
++++ sys/netinet/tcp_reass.c (working copy)
+@@ -211,7 +211,7 @@ tcp_reass(struct tcpcb *tp, struct tcphdr *th, int
+ * Investigate why and re-evaluate the below limit after the behaviour
+ * is understood.
+ */
+- if (th->th_seq != tp->rcv_nxt &&
++ if ((th->th_seq != tp->rcv_nxt || !TCPS_HAVEESTABLISHED(tp->t_state)) &&
+ tp->t_segqlen >= (so->so_rcv.sb_hiwat / tp->t_maxseg) + 1) {
+ V_tcp_reass_overflows++;
+ TCPSTAT_INC(tcps_rcvmemdrop);
+@@ -234,7 +234,7 @@ tcp_reass(struct tcpcb *tp, struct tcphdr *th, int
+ */
+ te = uma_zalloc(V_tcp_reass_zone, M_NOWAIT);
+ if (te == NULL) {
+- if (th->th_seq != tp->rcv_nxt) {
++ if (th->th_seq != tp->rcv_nxt || !TCPS_HAVEESTABLISHED(tp->t_state)) {
+ TCPSTAT_INC(tcps_rcvmemdrop);
+ m_freem(m);
+ *tlenp = 0;
+@@ -282,7 +282,8 @@ tcp_reass(struct tcpcb *tp, struct tcphdr *th, int
+ TCPSTAT_INC(tcps_rcvduppack);
+ TCPSTAT_ADD(tcps_rcvdupbyte, *tlenp);
+ m_freem(m);
+- uma_zfree(V_tcp_reass_zone, te);
++ if (te != &tqs)
++ uma_zfree(V_tcp_reass_zone, te);
+ tp->t_segqlen--;
+ /*
+ * Try to present any queued data
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-9.2-gentoo-gcc.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.2-gentoo-gcc.patch
new file mode 100644
index 000000000000..9076fd2b595d
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-9.2-gentoo-gcc.patch
@@ -0,0 +1,13 @@
+diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh
+index e504f75..7aa63df 100644
+--- a/sys/conf/newvers.sh
++++ b/sys/conf/newvers.sh
+@@ -86,7 +86,7 @@ fi
+ touch version
+ v=`cat version` u=${USER:-root} d=`pwd` h=${HOSTNAME:-`hostname`} t=`date`
+ i=`${MAKE:-make} -V KERN_IDENT`
+-compiler_v=$($(${MAKE:-make} -V CC) -v 2>&1 | grep 'version')
++compiler_v=$($(${MAKE:-make} -V CC) -v 2>&1 | grep 'version' | tail -n 1)
+
+ for dir in /bin /usr/bin /usr/local/bin; do
+ if [ -x "${dir}/svnversion" ] ; then
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-cve-2012-0217.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-cve-2012-0217.patch
new file mode 100644
index 000000000000..0bf1b611a091
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-cve-2012-0217.patch
@@ -0,0 +1,26 @@
+Index: sys/amd64/amd64/trap.c
+===================================================================
+--- sys/amd64/amd64/trap.c.orig
++++ sys/amd64/amd64/trap.c (working copy)
+@@ -972,4 +972,21 @@
+ syscallname(td->td_proc, sa.code)));
+
+ syscallret(td, error, &sa);
++
++ /*
++ * If the user-supplied value of %rip is not a canonical
++ * address, then some CPUs will trigger a ring 0 #GP during
++ * the sysret instruction. However, the fault handler would
++ * execute with the user's %gs and %rsp in ring 0 which would
++ * not be safe. Instead, preemptively kill the thread with a
++ * SIGBUS.
++ */
++ if (td->td_frame->tf_rip >= VM_MAXUSER_ADDRESS) {
++ ksiginfo_init_trap(&ksi);
++ ksi.ksi_signo = SIGBUS;
++ ksi.ksi_code = BUS_OBJERR;
++ ksi.ksi_trapno = T_PROTFLT;
++ ksi.ksi_addr = (void *)td->td_frame->tf_rip;
++ trapsignal(td, &ksi);
++ }
+ }
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-ubin-10.3-bmake-workaround.patch b/sys-freebsd/freebsd-sources/files/freebsd-ubin-10.3-bmake-workaround.patch
new file mode 100644
index 000000000000..c0ca444b042d
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-ubin-10.3-bmake-workaround.patch
@@ -0,0 +1,13 @@
+diff --git a/usr.bin/bmake/Makefile b/usr.bin/bmake/Makefile
+index 6c6d8c2..22fec7a 100644
+--- a/usr.bin/bmake/Makefile
++++ b/usr.bin/bmake/Makefile
+@@ -5,7 +5,7 @@
+
+ .sinclude "Makefile.inc"
+
+-SRCTOP?= ${.CURDIR:H:H}
++SRCTOP= ${.CURDIR:H:H}
+
+ # look here first for config.h
+ CFLAGS+= -I${.CURDIR}
diff --git a/sys-freebsd/freebsd-sources/freebsd-sources-10.3-r6.ebuild b/sys-freebsd/freebsd-sources/freebsd-sources-10.3-r6.ebuild
new file mode 100644
index 000000000000..a5c5083ebc43
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/freebsd-sources-10.3-r6.ebuild
@@ -0,0 +1,175 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit bsdmk freebsd flag-o-matic toolchain-funcs
+
+DESCRIPTION="FreeBSD kernel sources"
+SLOT="0"
+LICENSE="BSD zfs? ( CDDL )"
+
+IUSE="+build-kernel debug dtrace zfs"
+
+# Security Advisory and Errata patches.
+UPSTREAM_PATCHES=( "SA-16:15/sysarch-01.patch"
+ "SA-16:18/atkbd.patch"
+ "SA-16:19/sendmsg.patch"
+ "SA-16:20/linux.patch"
+ "SA-16:21/stat.patch"
+ "EN-16:07/ipi.patch"
+ "EN-16:08/zfs.patch"
+ "EN-16:11/vmbus.patch"
+ "EN-16:12/hv_storvsc.patch"
+ "EN-16:13/vmbus.patch"
+ "EN-16:14/hv_storvsc.patch"
+ "EN-16:15/vmbus.patch"
+ "EN-16:16/hv_storvsc.patch"
+ "EN-16:17/vm.patch" )
+
+if [[ ${PV} != *9999* ]]; then
+ KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+ SRC_URI="${SRC_URI}
+ $(freebsd_upstream_patches)"
+fi
+
+EXTRACTONLY="
+ sys/
+ contrib/bmake/
+ usr.bin/bmake/
+"
+
+RDEPEND="dtrace? ( >=sys-freebsd/freebsd-cddl-9.2_rc1 )
+ =sys-freebsd/freebsd-mk-defs-${RV}*
+ !sys-freebsd/virtio-kmod
+ !sys-fs/fuse4bsd
+ !<sys-freebsd/freebsd-sources-9.2_beta1"
+DEPEND="build-kernel? (
+ dtrace? ( >=sys-freebsd/freebsd-cddl-9.2_rc1 )
+ >=sys-freebsd/freebsd-usbin-9.1
+ =sys-freebsd/freebsd-mk-defs-${RV}*
+ )"
+
+RESTRICT="strip binchecks"
+
+S="${WORKDIR}/sys"
+
+KERN_BUILD=GENTOO
+
+PATCHES=( "${FILESDIR}/${PN}-9.0-disable-optimization.patch"
+ "${FILESDIR}/${PN}-10.0-gentoo.patch"
+ "${FILESDIR}/${PN}-6.0-flex-2.5.31.patch"
+ "${FILESDIR}/${PN}-8.0-subnet-route-pr40133.patch"
+ "${FILESDIR}/${PN}-7.1-includes.patch"
+ "${FILESDIR}/${PN}-9.0-sysctluint.patch"
+ "${FILESDIR}/${PN}-9.2-gentoo-gcc.patch"
+ "${FILESDIR}/${PN}-10.1-gcc48.patch" )
+
+pkg_setup() {
+ # Add the required source files.
+ use zfs && EXTRACTONLY+="cddl/ "
+
+ # WITHOUT_SSP= is required to boot kernel that compiled with newer gcc, bug #477914
+ [[ $(tc-getCC) == *gcc* ]] && mymakeopts="${mymakeopts} WITHOUT_SSP="
+ use zfs || mymakeopts="${mymakeopts} WITHOUT_CDDL="
+}
+
+src_prepare() {
+ local conf="${S}/$(tc-arch-kernel)/conf/${KERN_BUILD}"
+
+ cd "${WORKDIR}" || die
+ epatch "${FILESDIR}/freebsd-ubin-10.3-bmake-workaround.patch"
+ cd "${S}" || die
+
+ # This replaces the gentoover patch, it doesn't need reapply every time.
+ sed -i -e 's:^REVISION=.*:REVISION="'${PVR}'":' \
+ -e 's:^BRANCH=.*:BRANCH="Gentoo":' \
+ -e 's:^VERSION=.*:VERSION="${TYPE} ${BRANCH} ${REVISION}":' \
+ "${S}/conf/newvers.sh"
+
+ # __FreeBSD_cc_version comes from FreeBSD's gcc.
+ # on 10.0-RELEASE it's 1000001.
+ # FYI, can get it from gnu/usr.bin/cc/cc_tools/freebsd-native.h.
+ sed -e "s:-D_KERNEL:-D_KERNEL -D__FreeBSD_cc_version=1000001:g" \
+ -i "${S}/conf/kern.pre.mk" \
+ -i "${S}/conf/kmod.mk" || die "Couldn't set __FreeBSD_cc_version"
+
+ # Remove -Werror
+ sed -e "s:-Werror:-Wno-error:g" \
+ -i "${S}/conf/kern.pre.mk" \
+ -i "${S}/conf/kmod.mk" || die
+
+ # Set the kernel configuration using USE flags.
+ cp -f "${FILESDIR}/config-GENTOO" "${conf}" || die
+ use debug || echo 'nomakeoptions DEBUG' >> "${conf}"
+ use dtrace || echo 'nomakeoptions WITH_CTF' >> "${conf}"
+
+ # Only used with USE=build-kernel, let the kernel build with its own flags, its safer.
+ unset LDFLAGS CFLAGS CXXFLAGS ASFLAGS KERNEL
+}
+
+src_configure() {
+ if use build-kernel ; then
+ tc-export CC
+ cd "${S}/$(tc-arch-kernel)/conf" || die
+ config ${KERN_BUILD} || die
+ fi
+}
+
+src_compile() {
+ if use build-kernel ; then
+ if has_version "<sys-freebsd/freebsd-ubin-10.0"; then
+ cd "${WORKDIR}"/usr.bin/bmake || die
+ CC=${CHOST}-gcc freebsd_src_compile
+ export BMAKE="${WORKDIR}/usr.bin/bmake/make"
+ fi
+ cd "${S}/$(tc-arch-kernel)/compile/${KERN_BUILD}" || die
+ freebsd_src_compile depend
+ freebsd_src_compile
+ else
+ einfo "Nothing to compile.."
+ fi
+}
+
+src_install() {
+ if use build-kernel ; then
+ cd "${S}/$(tc-arch-kernel)/compile/${KERN_BUILD}" || die
+ freebsd_src_install
+ rm -rf "${S}/$(tc-arch-kernel)/compile/${KERN_BUILD}"
+ cd "${S}"
+ fi
+
+ insinto "/usr/src/sys"
+ doins -r "${S}/".
+ if use zfs ; then
+ insinto "/usr/src/cddl"
+ doins -r "${WORKDIR}/cddl/".
+ fi
+}
+
+pkg_preinst() {
+ if [[ -L "${ROOT}/usr/src/sys" ]]; then
+ einfo "/usr/src/sys is a symlink, removing it..."
+ rm -f "${ROOT}/usr/src/sys"
+ fi
+
+ if use sparc-fbsd ; then
+ ewarn "WARNING: kldload currently causes kernel panics"
+ ewarn "on sparc64. This is probably a gcc-4.1 issue, but"
+ ewarn "we need gcc-4.1 to compile the kernel correctly :/"
+ ewarn "Please compile all modules you need into the kernel"
+ fi
+
+ ewarn "If you want manual compile (not recommended), please don't forget the following step."
+ if ! use sparc-fbsd ; then
+ ewarn "export CC=clang"
+ ewarn "export CXX=clang++"
+ fi
+ if ! use zfs ; then
+ ewarn "export WITHOUT_CDDL="
+ ewarn "Note, Please set USE=zfs if you want to enable modules of CDDL license."
+ fi
+ if ! use dtrace && ! has_version '>=sys-freebsd/freebsd-cddl-9.2_beta1' ; then
+ ewarn "GENERIC config require sys-freebsd/freebsd-cddl. Please emerge it."
+ fi
+}
diff --git a/sys-freebsd/freebsd-sources/freebsd-sources-11.0-r1.ebuild b/sys-freebsd/freebsd-sources/freebsd-sources-11.0-r1.ebuild
new file mode 100644
index 000000000000..773c3f974a36
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/freebsd-sources-11.0-r1.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit bsdmk freebsd flag-o-matic toolchain-funcs
+
+DESCRIPTION="FreeBSD kernel sources"
+SLOT="0"
+LICENSE="BSD dtrace? ( CDDL ) zfs? ( CDDL )"
+
+IUSE="+build-kernel debug dtrace zfs"
+
+# Security Advisory and Errata patches.
+UPSTREAM_PATCHES=( "SA-16:15/sysarch-01.patch" )
+
+if [[ ${PV} != *9999* ]]; then
+ KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+ SRC_URI="${SRC_URI}
+ $(freebsd_upstream_patches)"
+fi
+
+EXTRACTONLY="
+ sys/
+ contrib/bmake/
+ usr.bin/bmake/
+"
+
+RDEPEND="dtrace? ( >=sys-freebsd/freebsd-cddl-9.2_rc1 )
+ =sys-freebsd/freebsd-mk-defs-${RV}*
+ !sys-freebsd/virtio-kmod
+ !sys-fs/fuse4bsd
+ !<sys-freebsd/freebsd-sources-9.2_beta1"
+DEPEND="build-kernel? (
+ dtrace? ( >=sys-freebsd/freebsd-cddl-9.2_rc1 )
+ >=sys-freebsd/freebsd-usbin-9.1
+ =sys-freebsd/freebsd-mk-defs-${RV}*
+ )"
+
+RESTRICT="strip binchecks"
+
+S="${WORKDIR}/sys"
+
+KERN_BUILD=GENTOO
+
+PATCHES=( "${FILESDIR}/${PN}-9.0-disable-optimization.patch"
+ "${FILESDIR}/${PN}-6.0-flex-2.5.31.patch"
+ "${FILESDIR}/${PN}-8.0-subnet-route-pr40133.patch"
+ "${FILESDIR}/${PN}-7.1-includes.patch"
+ "${FILESDIR}/${PN}-9.0-sysctluint.patch"
+ "${FILESDIR}/${PN}-11.0-gentoo.patch"
+ "${FILESDIR}/${PN}-11.0-gentoo-gcc.patch"
+ "${FILESDIR}/${PN}-10.1-gcc48.patch" )
+
+pkg_setup() {
+ # Add the required source files.
+ use dtrace && EXTRACTONLY+="cddl/ "
+
+ # WITHOUT_SSP= is required to boot kernel that compiled with newer gcc, bug #477914
+ [[ $(tc-getCC) == *gcc* ]] && mymakeopts="${mymakeopts} WITHOUT_SSP= WITHOUT_FORMAT_EXTENSIONS="
+ use dtrace || mymakeopts="${mymakeopts} WITHOUT_CDDL="
+ use zfs || mymakeopts="${mymakeopts} WITHOUT_ZFS="
+}
+
+src_prepare() {
+ local conf="${S}/$(tc-arch-kernel)/conf/${KERN_BUILD}"
+
+ cd "${WORKDIR}" || die
+ epatch "${FILESDIR}/freebsd-ubin-10.3-bmake-workaround.patch"
+ cd "${S}" || die
+
+ # This replaces the gentoover patch, it doesn't need reapply every time.
+ sed -i -e 's:^REVISION=.*:REVISION="'${PVR}'":' \
+ -e 's:^BRANCH=.*:BRANCH="Gentoo":' \
+ -e 's:^VERSION=.*:VERSION="${TYPE} ${BRANCH} ${REVISION}":' \
+ "${S}/conf/newvers.sh"
+
+ # __FreeBSD_cc_version comes from FreeBSD's gcc.
+ # on 11.0-RELEASE it's 1100001.
+ # FYI, can get it from gnu/usr.bin/cc/cc_tools/freebsd-native.h.
+ sed -e "s:-D_KERNEL:-D_KERNEL -D__FreeBSD_cc_version=1100001:g" \
+ -i "${S}/conf/kern.pre.mk" \
+ -i "${S}/conf/kmod.mk" || die "Couldn't set __FreeBSD_cc_version"
+
+ # Remove -Werror
+ sed -e "s:-Werror:-Wno-error:g" \
+ -i "${S}/conf/kern.pre.mk" \
+ -i "${S}/conf/kmod.mk" || die
+
+ # Set the kernel configuration using USE flags.
+ cp -f "${FILESDIR}/config-GENTOO" "${conf}" || die
+ use debug || echo 'nomakeoptions DEBUG' >> "${conf}"
+ use dtrace || echo 'nomakeoptions WITH_CTF' >> "${conf}"
+
+ # hyperv fails to compile on x86-fbsd.
+ if use x86-fbsd && [[ $(tc-getCC) == *gcc* ]] ; then
+ echo 'nodevice hyperv' >> "${conf}"
+ dummy_mk modules/hyperv
+ fi
+
+ # Only used with USE=build-kernel, let the kernel build with its own flags, its safer.
+ unset LDFLAGS CFLAGS CXXFLAGS ASFLAGS KERNEL
+}
+
+src_configure() {
+ if use build-kernel ; then
+ tc-export CC
+ cd "${S}/$(tc-arch-kernel)/conf" || die
+ config ${KERN_BUILD} || die
+ fi
+}
+
+src_compile() {
+ if use build-kernel ; then
+ if has_version "<sys-freebsd/freebsd-ubin-10.0"; then
+ cd "${WORKDIR}"/usr.bin/bmake || die
+ CC=${CHOST}-gcc freebsd_src_compile
+ export BMAKE="${WORKDIR}/usr.bin/bmake/make"
+ fi
+ cd "${S}/$(tc-arch-kernel)/compile/${KERN_BUILD}" || die
+ freebsd_src_compile depend
+ freebsd_src_compile
+ else
+ einfo "Nothing to compile.."
+ fi
+}
+
+src_install() {
+ if use build-kernel ; then
+ cd "${S}/$(tc-arch-kernel)/compile/${KERN_BUILD}" || die
+ freebsd_src_install
+ rm -rf "${S}/$(tc-arch-kernel)/compile/${KERN_BUILD}"
+ cd "${S}"
+ fi
+
+ insinto "/usr/src/sys"
+ doins -r "${S}/".
+ if use dtrace ; then
+ insinto "/usr/src/cddl"
+ doins -r "${WORKDIR}/cddl/".
+ fi
+}
+
+pkg_preinst() {
+ if [[ -L "${ROOT}/usr/src/sys" ]]; then
+ einfo "/usr/src/sys is a symlink, removing it..."
+ rm -f "${ROOT}/usr/src/sys"
+ fi
+
+ if use sparc-fbsd ; then
+ ewarn "WARNING: kldload currently causes kernel panics"
+ ewarn "on sparc64. This is probably a gcc-4.1 issue, but"
+ ewarn "we need gcc-4.1 to compile the kernel correctly :/"
+ ewarn "Please compile all modules you need into the kernel"
+ fi
+
+ ewarn "If you want manual compile (not recommended), please don't forget the following step."
+ if ! use sparc-fbsd ; then
+ ewarn "export CC=clang"
+ ewarn "export CXX=clang++"
+ fi
+ if ! use zfs ; then
+ ewarn "export WITHOUT_CDDL="
+ ewarn "Note, Please set USE=zfs if you want to enable modules of CDDL license."
+ fi
+ if ! use dtrace && ! has_version '>=sys-freebsd/freebsd-cddl-9.2_beta1' ; then
+ ewarn "GENERIC config require sys-freebsd/freebsd-cddl. Please emerge it."
+ fi
+}
diff --git a/sys-freebsd/freebsd-sources/freebsd-sources-11.1_p1.ebuild b/sys-freebsd/freebsd-sources/freebsd-sources-11.1_p1.ebuild
new file mode 100644
index 000000000000..4c48fd28a2c5
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/freebsd-sources-11.1_p1.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit bsdmk freebsd flag-o-matic toolchain-funcs
+
+DESCRIPTION="FreeBSD kernel sources"
+SLOT="0"
+LICENSE="BSD dtrace? ( CDDL ) zfs? ( CDDL )"
+
+IUSE="+build-kernel debug dtrace zfs"
+
+# Security Advisory and Errata patches.
+UPSTREAM_PATCHES=( "EN-17:07/vnet.patch"
+ "EN-17:08/pf.patch" )
+
+if [[ ${PV} != *9999* ]]; then
+ KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+ SRC_URI="${SRC_URI}
+ $(freebsd_upstream_patches)"
+fi
+
+EXTRACTONLY="
+ sys/
+ contrib/bmake/
+ usr.bin/bmake/
+"
+
+RDEPEND="dtrace? ( >=sys-freebsd/freebsd-cddl-9.2_rc1 )
+ =sys-freebsd/freebsd-mk-defs-${RV}*
+ !sys-freebsd/virtio-kmod
+ !sys-fs/fuse4bsd
+ !<sys-freebsd/freebsd-sources-9.2_beta1"
+DEPEND="build-kernel? (
+ dtrace? ( >=sys-freebsd/freebsd-cddl-9.2_rc1 )
+ >=sys-freebsd/freebsd-usbin-9.1
+ =sys-freebsd/freebsd-mk-defs-${RV}*
+ )"
+
+RESTRICT="strip binchecks"
+
+S="${WORKDIR}/sys"
+
+KERN_BUILD=GENTOO
+
+PATCHES=( "${FILESDIR}/${PN}-9.0-disable-optimization.patch"
+ "${FILESDIR}/${PN}-6.0-flex-2.5.31.patch"
+ "${FILESDIR}/${PN}-8.0-subnet-route-pr40133.patch"
+ "${FILESDIR}/${PN}-7.1-includes.patch"
+ "${FILESDIR}/${PN}-9.0-sysctluint.patch"
+ "${FILESDIR}/${PN}-11.0-gentoo.patch"
+ "${FILESDIR}/${PN}-11.0-gentoo-gcc.patch"
+ "${FILESDIR}/${PN}-10.1-gcc48.patch" )
+
+pkg_setup() {
+ # Add the required source files.
+ use dtrace && EXTRACTONLY+="cddl/ "
+
+ # WITHOUT_SSP= is required to boot kernel that compiled with newer gcc, bug #477914
+ [[ $(tc-getCC) == *gcc* ]] && mymakeopts="${mymakeopts} WITHOUT_SSP= WITHOUT_FORMAT_EXTENSIONS="
+ use dtrace || mymakeopts="${mymakeopts} WITHOUT_CDDL="
+ use zfs || mymakeopts="${mymakeopts} WITHOUT_ZFS="
+}
+
+src_prepare() {
+ local conf="${S}/$(tc-arch-kernel)/conf/${KERN_BUILD}"
+
+ cd "${WORKDIR}" || die
+ epatch "${FILESDIR}/freebsd-ubin-10.3-bmake-workaround.patch"
+ cd "${S}" || die
+
+ # This replaces the gentoover patch, it doesn't need reapply every time.
+ sed -i -e 's:^REVISION=.*:REVISION="'${PVR}'":' \
+ -e 's:^BRANCH=.*:BRANCH="Gentoo":' \
+ -e 's:^VERSION=.*:VERSION="${TYPE} ${BRANCH} ${REVISION}":' \
+ "${S}/conf/newvers.sh"
+
+ # __FreeBSD_cc_version comes from FreeBSD's gcc.
+ # on 11.0-RELEASE it's 1100001.
+ # FYI, we can get it from gnu/usr.bin/cc/cc_tools/freebsd-native.h.
+ sed -e "s:-D_KERNEL:-D_KERNEL -D__FreeBSD_cc_version=1100001:g" \
+ -i "${S}/conf/kern.pre.mk" \
+ -i "${S}/conf/kmod.mk" || die "Couldn't set __FreeBSD_cc_version"
+
+ # Remove -Werror
+ sed -e "s:-Werror:-Wno-error:g" \
+ -i "${S}/conf/kern.pre.mk" \
+ -i "${S}/conf/kmod.mk" || die
+
+ # Set the kernel configuration using USE flags.
+ cp -f "${FILESDIR}/config-GENTOO" "${conf}" || die
+ use debug || echo 'nomakeoptions DEBUG' >> "${conf}"
+ use dtrace || echo 'nomakeoptions WITH_CTF' >> "${conf}"
+
+ # hyperv fails to compile on x86-fbsd.
+ if use x86-fbsd && [[ $(tc-getCC) == *gcc* ]] ; then
+ echo 'nodevice hyperv' >> "${conf}"
+ dummy_mk modules/hyperv
+ fi
+
+ # Only used with USE=build-kernel, let the kernel build with its own flags, its safer.
+ unset LDFLAGS CFLAGS CXXFLAGS ASFLAGS KERNEL
+}
+
+src_configure() {
+ if use build-kernel ; then
+ tc-export CC
+ cd "${S}/$(tc-arch-kernel)/conf" || die
+ config ${KERN_BUILD} || die
+ fi
+}
+
+src_compile() {
+ if use build-kernel ; then
+ if has_version "<sys-freebsd/freebsd-ubin-10.0"; then
+ cd "${WORKDIR}"/usr.bin/bmake || die
+ CC=${CHOST}-gcc freebsd_src_compile
+ export BMAKE="${WORKDIR}/usr.bin/bmake/make"
+ fi
+ cd "${S}/$(tc-arch-kernel)/compile/${KERN_BUILD}" || die
+ freebsd_src_compile depend
+ freebsd_src_compile
+ else
+ einfo "Nothing to compile.."
+ fi
+}
+
+src_install() {
+ if use build-kernel ; then
+ cd "${S}/$(tc-arch-kernel)/compile/${KERN_BUILD}" || die
+ freebsd_src_install
+ rm -rf "${S}/$(tc-arch-kernel)/compile/${KERN_BUILD}"
+ cd "${S}"
+ fi
+
+ insinto "/usr/src/sys"
+ doins -r "${S}/".
+ if use dtrace ; then
+ insinto "/usr/src/cddl"
+ doins -r "${WORKDIR}/cddl/".
+ fi
+}
+
+pkg_preinst() {
+ if [[ -L "${ROOT}/usr/src/sys" ]]; then
+ einfo "/usr/src/sys is a symlink, removing it..."
+ rm -f "${ROOT}/usr/src/sys"
+ fi
+
+ if use sparc-fbsd ; then
+ ewarn "WARNING: kldload currently causes kernel panics"
+ ewarn "on sparc64. This is probably a gcc-4.1 issue, but"
+ ewarn "we need gcc-4.1 to compile the kernel correctly :/"
+ ewarn "Please compile all modules you need into the kernel"
+ fi
+
+ ewarn "If you want to manually compile (not recommended), please don't forget the following steps."
+ if ! use sparc-fbsd ; then
+ ewarn "export CC=clang"
+ ewarn "export CXX=clang++"
+ fi
+ if ! use zfs ; then
+ ewarn "export WITHOUT_CDDL="
+ ewarn "Note, Please set USE=zfs if you want to enable modules under the CDDL."
+ fi
+ if ! use dtrace && ! has_version '>=sys-freebsd/freebsd-cddl-9.2_beta1' ; then
+ ewarn "The GENERIC config requires sys-freebsd/freebsd-cddl. Please emerge it."
+ fi
+}
diff --git a/sys-freebsd/freebsd-sources/freebsd-sources-8.2-r2.ebuild b/sys-freebsd/freebsd-sources/freebsd-sources-8.2-r2.ebuild
new file mode 100644
index 000000000000..ccb0c43f6faf
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/freebsd-sources-8.2-r2.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit bsdmk freebsd flag-o-matic
+
+DESCRIPTION="FreeBSD kernel sources"
+SLOT="${PVR}"
+KEYWORDS="~sparc-fbsd ~x86-fbsd"
+
+IUSE="symlink"
+
+SRC_URI="mirror://gentoo/${SYS}.tar.bz2"
+
+RDEPEND=">=sys-freebsd/freebsd-mk-defs-8.0"
+DEPEND=""
+
+RESTRICT="strip binchecks"
+
+S="${WORKDIR}/sys"
+
+MY_PVR="${PVR}"
+
+[[ ${MY_PVR} == "${RV}" ]] && MY_PVR="${MY_PVR}-r0"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # This replaces the gentoover patch, it doesn't need reapply every time.
+ sed -i -e 's:^REVISION=.*:REVISION="'${PVR}'":' \
+ -e 's:^BRANCH=.*:BRANCH="Gentoo":' \
+ -e 's:^VERSION=.*:VERSION="${TYPE} ${BRANCH} ${REVISION}":' \
+ "${S}/conf/newvers.sh"
+
+ # __FreeBSD_cc_version comes from FreeBSD's gcc.
+ # on 8.2-RELEASE it's 800001.
+ sed -e "s:-D_KERNEL:-D_KERNEL -D__FreeBSD_cc_version=800001:g" \
+ -i "${S}/conf/kern.pre.mk" \
+ -i "${S}/conf/kmod.mk" || die "Couldn't set __FreeBSD_cc_version"
+
+ # Remove -Werror
+ sed -e "s:-Werror:-Wno-error:g" \
+ -i "${S}/conf/kern.pre.mk" \
+ -i "${S}/conf/kmod.mk" || die
+
+ epatch "${FILESDIR}/${PN}-8.0-gentoo.patch"
+ epatch "${FILESDIR}/${PN}-6.0-flex-2.5.31.patch"
+ sed -e 's/elf64-sparc/elf64-sparc-freebsd/g' -i "${S}/conf/ldscript.sparc64" || die
+ epatch "${FILESDIR}/${PN}-6.1-ntfs.patch"
+ epatch "${FILESDIR}/${PN}-7.2-debug-O2.patch"
+ epatch "${FILESDIR}/${PN}-7.1-types.h-fix.patch"
+ epatch "${FILESDIR}/${PN}-8.0-subnet-route-pr40133.patch"
+ epatch "${FILESDIR}/${PN}-7.1-includes.patch"
+ # http://security.FreeBSD.org/patches/SA-11:05/unix2.patch
+ epatch "${FILESDIR}"/${P}-unix2.patch
+
+ # By adding -DGENTOO_LIVECD to CFLAGS activate this stub
+ # vop_whiteout to tmpfs, so it can be used as an overlay
+ # unionfs filesystem over the cd9660 readonly filesystem.
+ epatch "${FILESDIR}/${PN}-7.0-tmpfs_whiteout_stub.patch"
+
+ # See https://sourceware.org/bugzilla/show_bug.cgi?id=5391
+ # ld doesn't provide symbols constructed as the __start_set_(s) ones
+ # are on FreeBSD modules.
+ # This patch adds code to generate a list of these and adds them
+ # as undefined references to ld's commandline to get them.
+ # Without this kernel modules will not load.
+ epatch "${FILESDIR}/${PN}-7.1-binutils_link.patch"
+
+ epatch "${FILESDIR}/${PN}-cve-2012-0217.patch"
+ epatch "${FILESDIR}/${PN}-9.0-ipv6refcount.patch"
+}
+
+src_compile() {
+ einfo "Nothing to compile.."
+}
+
+src_install() {
+ insinto "/usr/src/sys-${MY_PVR}"
+ doins -r "${S}/"*
+}
+
+pkg_postinst() {
+ if [[ ! -L "${ROOT}/usr/src/sys" ]]; then
+ einfo "/usr/src/sys symlink doesn't exist; creating symlink to sys-${MY_PVR}..."
+ ln -sf "sys-${MY_PVR}" "${ROOT}/usr/src/sys" || \
+ eerror "Couldn't create ${ROOT}/usr/src/sys symlink."
+ # just in case...
+ [[ -L ""${ROOT}/usr/src/sys-${RV}"" ]] && rm "${ROOT}/usr/src/sys-${RV}"
+ ln -sf "sys-${MY_PVR}" "${ROOT}/usr/src/sys-${RV}" || \
+ eerror "Couldn't create ${ROOT}/usr/src/sys-${RV} symlink."
+ elif use symlink; then
+ einfo "Updating /usr/src/sys symlink to sys-${MY_PVR}..."
+ rm "${ROOT}/usr/src/sys" "${ROOT}/usr/src/sys-${RV}" || \
+ eerror "Couldn't remove previous symlinks, please fix manually."
+ ln -sf "sys-${MY_PVR}" "${ROOT}/usr/src/sys" || \
+ eerror "Couldn't create ${ROOT}/usr/src/sys symlink."
+ ln -sf "sys-${MY_PVR}" "${ROOT}/usr/src/sys-${RV}" || \
+ eerror "Couldn't create ${ROOT}/usr/src/sys-${RV} symlink."
+ fi
+
+ if use sparc-fbsd ; then
+ ewarn "WARNING: kldload currently causes kernel panics"
+ ewarn "on sparc64. This is probably a gcc-4.1 issue, but"
+ ewarn "we need gcc-4.1 to compile the kernel correctly :/"
+ ewarn "Please compile all modules you need into the kernel"
+ fi
+}
diff --git a/sys-freebsd/freebsd-sources/freebsd-sources-9.1-r3.ebuild b/sys-freebsd/freebsd-sources/freebsd-sources-9.1-r3.ebuild
new file mode 100644
index 000000000000..a36f195b6947
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/freebsd-sources-9.1-r3.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit bsdmk freebsd flag-o-matic
+
+DESCRIPTION="FreeBSD kernel sources"
+SLOT="${RV}"
+KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+
+IUSE="symlink"
+
+SRC_URI="mirror://gentoo/${SYS}.tar.bz2"
+
+RDEPEND="=sys-freebsd/freebsd-mk-defs-${RV}*"
+DEPEND=""
+
+RESTRICT="strip binchecks"
+
+S="${WORKDIR}/sys"
+
+PATCHES=( "${FILESDIR}/${PN}-9.0-disable-optimization.patch"
+ "${FILESDIR}/${PN}-9.1-gentoo.patch"
+ "${FILESDIR}/${PN}-6.0-flex-2.5.31.patch"
+ "${FILESDIR}/${PN}-6.1-ntfs.patch"
+ "${FILESDIR}/${PN}-7.1-types.h-fix.patch"
+ "${FILESDIR}/${PN}-8.0-subnet-route-pr40133.patch"
+ "${FILESDIR}/${PN}-7.1-includes.patch"
+ "${FILESDIR}/${PN}-9.0-sysctluint.patch"
+ "${FILESDIR}/${PN}-7.0-tmpfs_whiteout_stub.patch"
+ "${FILESDIR}/${PN}-9.1-cve-2013-3266.patch"
+ "${FILESDIR}/${PN}-9.1-mmap.patch"
+ "${FILESDIR}/${PN}-9.1-nfsserver.patch" )
+
+src_unpack() {
+ freebsd_src_unpack
+
+ # This replaces the gentoover patch, it doesn't need reapply every time.
+ sed -i -e 's:^REVISION=.*:REVISION="'${PVR}'":' \
+ -e 's:^BRANCH=.*:BRANCH="Gentoo":' \
+ -e 's:^VERSION=.*:VERSION="${TYPE} ${BRANCH} ${REVISION}":' \
+ "${S}/conf/newvers.sh"
+
+ # __FreeBSD_cc_version comes from FreeBSD's gcc.
+ # on 9.0-RELEASE it's 900001.
+ sed -e "s:-D_KERNEL:-D_KERNEL -D__FreeBSD_cc_version=900001:g" \
+ -i "${S}/conf/kern.pre.mk" \
+ -i "${S}/conf/kmod.mk" || die "Couldn't set __FreeBSD_cc_version"
+
+ # Remove -Werror
+ sed -e "s:-Werror:-Wno-error:g" \
+ -i "${S}/conf/kern.pre.mk" \
+ -i "${S}/conf/kmod.mk" || die
+}
+
+src_compile() {
+ einfo "Nothing to compile.."
+}
+
+src_install() {
+ insinto "/usr/src/sys-${RV}"
+ doins -r "${S}/"*
+}
+
+pkg_postinst() {
+ if [[ ! -L "${ROOT}/usr/src/sys" ]]; then
+ einfo "/usr/src/sys symlink doesn't exist; creating symlink to sys-${RV}..."
+ ln -sf "sys-${RV}" "${ROOT}/usr/src/sys" || \
+ eerror "Couldn't create ${ROOT}/usr/src/sys symlink."
+ elif use symlink; then
+ einfo "Updating /usr/src/sys symlink to sys-${RV}..."
+ rm "${ROOT}/usr/src/sys" || \
+ eerror "Couldn't remove previous symlinks, please fix manually."
+ ln -sf "sys-${RV}" "${ROOT}/usr/src/sys" || \
+ eerror "Couldn't create ${ROOT}/usr/src/sys symlink."
+ fi
+
+ if use sparc-fbsd ; then
+ ewarn "WARNING: kldload currently causes kernel panics"
+ ewarn "on sparc64. This is probably a gcc-4.1 issue, but"
+ ewarn "we need gcc-4.1 to compile the kernel correctly :/"
+ ewarn "Please compile all modules you need into the kernel"
+ fi
+}
diff --git a/sys-freebsd/freebsd-sources/freebsd-sources-9.1-r9.ebuild b/sys-freebsd/freebsd-sources/freebsd-sources-9.1-r9.ebuild
new file mode 100644
index 000000000000..798f1f370f0b
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/freebsd-sources-9.1-r9.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit bsdmk freebsd flag-o-matic
+
+DESCRIPTION="FreeBSD kernel sources"
+SLOT="${RV}"
+KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+
+IUSE="symlink"
+
+SRC_URI="mirror://gentoo/${SYS}.tar.bz2
+ https://dev.gentoo.org/~naota/patch/${P}-en-13-03.patch"
+
+RDEPEND="=sys-freebsd/freebsd-mk-defs-${RV}*"
+DEPEND=""
+
+RESTRICT="strip binchecks"
+
+S="${WORKDIR}/sys"
+
+PATCHES=( "${FILESDIR}/${PN}-9.0-disable-optimization.patch"
+ "${FILESDIR}/${PN}-9.1-gentoo.patch"
+ "${FILESDIR}/${PN}-6.0-flex-2.5.31.patch"
+ "${FILESDIR}/${PN}-6.1-ntfs.patch"
+ "${FILESDIR}/${PN}-7.1-types.h-fix.patch"
+ "${FILESDIR}/${PN}-8.0-subnet-route-pr40133.patch"
+ "${FILESDIR}/${PN}-7.1-includes.patch"
+ "${FILESDIR}/${PN}-9.0-sysctluint.patch"
+ "${FILESDIR}/${PN}-7.0-tmpfs_whiteout_stub.patch"
+ "${FILESDIR}/${PN}-9.1-cve-2013-3266.patch"
+ "${FILESDIR}/${PN}-9.1-mmap.patch"
+ "${FILESDIR}/${PN}-9.1-nfsserver.patch"
+ "${DISTDIR}/${PN}-9.1-en-13-03.patch"
+ "${FILESDIR}/${PN}-9.1-cve-2013-3077.patch"
+ "${FILESDIR}/${PN}-9.1-cve-2013-5209.patch"
+ "${FILESDIR}/${PN}-9.1-cve-2013-5691.patch"
+ "${FILESDIR}/${PN}-9.1-cve-2013-5710.patch"
+ "${FILESDIR}/${PN}-9.1-cve-2014-1453.patch"
+ "${FILESDIR}/${PN}-9.1-random.patch"
+ "${FILESDIR}/${PN}-9.1-mmap-2014.patch"
+ "${FILESDIR}/${PN}-9.1-tcp.patch"
+ "${FILESDIR}/${PN}-9.1-ciss.patch"
+ "${FILESDIR}/${PN}-9.1-exec.patch"
+ "${FILESDIR}/${PN}-9.1-ktrace.patch" )
+
+src_unpack() {
+ freebsd_src_unpack
+
+ # This replaces the gentoover patch, it doesn't need reapply every time.
+ sed -i -e 's:^REVISION=.*:REVISION="'${PVR}'":' \
+ -e 's:^BRANCH=.*:BRANCH="Gentoo":' \
+ -e 's:^VERSION=.*:VERSION="${TYPE} ${BRANCH} ${REVISION}":' \
+ "${S}/conf/newvers.sh"
+
+ # __FreeBSD_cc_version comes from FreeBSD's gcc.
+ # on 9.0-RELEASE it's 900001.
+ sed -e "s:-D_KERNEL:-D_KERNEL -D__FreeBSD_cc_version=900001:g" \
+ -i "${S}/conf/kern.pre.mk" \
+ -i "${S}/conf/kmod.mk" || die "Couldn't set __FreeBSD_cc_version"
+
+ # Remove -Werror
+ sed -e "s:-Werror:-Wno-error:g" \
+ -i "${S}/conf/kern.pre.mk" \
+ -i "${S}/conf/kmod.mk" || die
+}
+
+src_compile() {
+ einfo "Nothing to compile.."
+}
+
+src_install() {
+ insinto "/usr/src/sys-${RV}"
+ doins -r "${S}/"*
+}
+
+pkg_postinst() {
+ if [[ ! -L "${ROOT}/usr/src/sys" ]]; then
+ einfo "/usr/src/sys symlink doesn't exist; creating symlink to sys-${RV}..."
+ ln -sf "sys-${RV}" "${ROOT}/usr/src/sys" || \
+ eerror "Couldn't create ${ROOT}/usr/src/sys symlink."
+ elif use symlink; then
+ einfo "Updating /usr/src/sys symlink to sys-${RV}..."
+ rm "${ROOT}/usr/src/sys" || \
+ eerror "Couldn't remove previous symlinks, please fix manually."
+ ln -sf "sys-${RV}" "${ROOT}/usr/src/sys" || \
+ eerror "Couldn't create ${ROOT}/usr/src/sys symlink."
+ fi
+
+ if use sparc-fbsd ; then
+ ewarn "WARNING: kldload currently causes kernel panics"
+ ewarn "on sparc64. This is probably a gcc-4.1 issue, but"
+ ewarn "we need gcc-4.1 to compile the kernel correctly :/"
+ ewarn "Please compile all modules you need into the kernel"
+ fi
+}
diff --git a/sys-freebsd/freebsd-sources/metadata.xml b/sys-freebsd/freebsd-sources/metadata.xml
new file mode 100644
index 000000000000..3860e8098ad6
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>bsd@gentoo.org</email>
+ <name>BSD Project</name>
+ </maintainer>
+ <use>
+ <flag name="build-kernel">Build and install a kernel (recommended).</flag>
+ <flag name="dtrace">Enable DTrace support.</flag>
+ <flag name="zfs">Enable ZFS support.</flag>
+ </use>
+</pkgmetadata>