Merge pull request #7971 from asergi/fx56

Firefox 56
This commit is contained in:
Juan RP 2017-10-08 17:56:31 +02:00 committed by GitHub
commit 8f26310c32
7 changed files with 127 additions and 459 deletions

View File

@ -1,6 +1,6 @@
# Template file for 'firefox-i18n'
pkgname=firefox-i18n
version=55.0.2
version=56.0.1
revision=1
build_style=meta
homepage="https://www.mozilla.org/firefox/"
@ -136,97 +136,97 @@ _pkgtmpl() {
}
checksum="
bfb4a7cdabd4de84f0fb9afd7088c63a5bf9fabcf029043ce29ca31e5445aa99
9a184de60398afbb2ebc295bdeab3d380d279f10058e740f24a3698f58352ff9
0a2c0635cb5c93ee19f1349ee030deda1eb8424712139ea7dac907c6802163a5
59fec790b299d60a79ff1c65f33badbc72ec35996415e556886c89c8eabf162f
d86959041861745cf4ab092099a4589efc0e92c1e108fa4742a6df38d68bbf62
dd59a8c8f8b98da06f4d396e7fda15321b4997cd56b74a68ad92d99bc587c9cc
afc69881d209ee9fbb6132ae6fa6aeb419d97ef59ff11947b49a1639b8ecd7d0
c6bf8ca17e8fd12fa043c2467ee64aff590c30afa8739479faff4b1cffe1da38
40a1381e347e117dc1bdf153ac5edd58b4afd9326dcebc7305f795e2ec87c3dc
b005201e63d39f880940e925e3b3d4b3db2ceedcf778568ddbf56547a3570e10
762820b3c1761f164a4fdd19988f12469804d79b01baf1acdfc72aca1ff279cf
93f2788cf935f8e911f36f83762a31c28b01acddff46061cc0aab9124fe4909a
b999ef74b583a07afaf37f9287ac71a571fbc18b0575220f2a45c55b5ccd785c
9659631f5e6758339352b709393c449bb64b83313bb8d7884d260dff9bd03a6d
afe2e530b011c42c6016b29a275393f6cc2f5759f77fda142d0cebf9656f5549
747555a52c9a2730b1758bdb6b292e0763f348b8edd63981de5359edfda64a66
05c9a6af92169e3c96e6ec086f9208701ab343e4ae2bd5e9cab2ef2e1847063d
9e51e34764588b9568d1bae8c10a78bd093af240707fd1da99bdbcc73ca24891
f976be213b1bd161a3dc8429580e2565490781c6dfe63d7660a9c929680dbda0
f9b1e337d9bd37392729dcea8817c57091bc651b9725cb5f283ac803a3bc1a90
f850003853c1c93c560ba48df4f208292c2a6b7e69d3b24ca4fdb54c03d11023
f2e5be6fef803229bd6d46bbf6ac6a53cd48995aecb4089055846a2116a09875
4821f12b5a7543d4284a091425b8edbde0877d7c58ec5bea8483e055f2a4f695
3d9ae4ae510bac83e8afd780b392648d840a668daa6c8aaa053239c0aeb08cd9
8b5aec1fa22944e6b03f0afc3a20ead5068c3a11331c36e6648f19d3d9f8bd49
35d65264214e1ec2fd29a63657d83bfb0f5c39e494414e6188572457244daec6
8832427bf10acdc2862b7c40b188da515969644347b789834b762fe48e40eddb
ca9c14ff64cf4e4350d1fa3988cd62ff2af9442fd3b9f29db27717acd1f2048b
de81730bc1342b46f1b4efd492e1ad34f68d87d8b08fd6c18a9ef7d593f9d950
82528a4430d928f43fb22e230d84f40ad2dce69a1de05167911dc34f40f161ae
408570b28e435c5a13fd680cfd5c935ce7e368366ff1ad8d83b1a36153b5797a
d0e74715212faa1aec8802830bb2a7345be88cbf9e40e809a0dd3dc9dd5f70ea
7d1f12435a321403c4126455ac765ae672d38f9b7de7e712dde01b1a36be032b
508a3b31e1640ad526679fc88f8a4880e961702647e69a1a729c59be6aa508a1
f7a9ae993e3ddba9059ca908feb09c789f589c849144d97e0510796fd9698401
c6195293c22ee63afc93c013b6812d5b8916e5bfcb5d69d435c96cf767aa6c4e
f30b15373157cc539e337edbad29b79e0397049bb00eff6cdbbbbc5bc22ab15d
e0ef3361910c4c78ad273be5a3169619d6aac11d47b9aba94d5e526aea920b75
412cebca178f8c1ebef5da9d55051ade5ca61f57d298ed97d1f83e23d3d786b1
6f6e6db35e1dfd8e9d321fea75ad2e263f78d66119d0fc57639fb83aa6ba6373
d64031df09998b827aa09977ee9c07b50054f4caf864608077eeeddef2f4a8d3
f692107175337753f8cd153576142211d0ac380539a660481dc2fd15883390c9
766c2eaa8cf73a033b6beb9001b8e19f97e7c4464aa543fc25ea53eb41c19514
69c20124670aafdd216f7b4982f55771603a72efd007420a1baec299d6fc616d
22723b8195eeb0d93d98e8b47f296982e6b34021b7313107b1f14200d4ba6fc8
b6813598a6018f993bf69b0a507d3f66986a36c47987d6068a305afa3ae85ef3
aae9cfb28813295d1d511dc26c790dc88b13f8781612c8f14556ff01505df73e
ac15a346d6f85d96e9df737346f5103955d72ef3ead75676ab228e4c208c35af
4247bb15e96239ec7c04020b3581afd573b2700a1e36180f296b4b182f984cae
2d80c0646508e0b8c7ca749fd5d48a9ccd585a5f8a0f4d50bc37826dfd37fcb2
32453552cb85c7507bfec4ddddbe6eedc11edd73a816d49f3c7c6ac37b5cc294
a4b6a2ddb9a6136e989370d7f350d44b96e2f19336bc0d7e53e15261cc7a733a
436e7b2ef41c8737b1ed6f2d962ed8f57b15a4f3f69ac7c1c016d7dae919fb67
2f4e1c23eb506e12e43097c7338896c0bbab3c31508ffb393bcedb0a5e3318b8
052c64e85a5c8f212de6b2a2343949ed9fc71d0b576af9e758ed1a6d7aac6180
2769feec48f1e8d5c4102c9c7178e021df31c38229c293f2ba54502b6adbddac
b4e1eb8a9f1f97e04c929f3068c5bc5d6915747b8680aa8bdd22cdb82cebb775
ce352cbea0b218e852d09f7c644ddd4470906d8a6dc69fc91f1a20fd915788a0
b8ecfbdad46ce8ecdf6dd3c640010873ea0dfffaf8709a9a9a5b09c47e417e34
1fdf44120ccac809cef11e96e2ab905bcb2cdd299bfb0ef47f86dba7bed10779
e5821456e92e43fb5a4e55d1fb9ed5233ea73c5d00fda1dac7c3aa79d41ca78b
3ec887c7024eb954f0c89edf51e521ed57e209f388bcbab4b79c8fccc18e4d8e
2a704d9f28bf3b2b08bc4bcfbdcd452d0400d7823ec0e727f3040519264b76be
fc983bfffff3f06b43f3c8104dcb1f828a28e312696f428e74ab9756fcdb7cea
0763c540529962b74bd829eab79d56a126a57002f00b65a7b4ddeb429c4b6b96
c9f07b8943758282bcadea50afca33c8a63ded415e2649b0ca18166ef066f966
0d81e93a7a696677a6a0acf390ffce22de063919e7e1aa3ceaf83692685f0e38
ae947b30da46fd27b36257aa021dad16810ad053195aa0e5e6e7e353fc3caf94
e5b7c72907e19605a1415d2c3787e9fd36409545e7189b4afa7311db061e0923
277b31996462cfd1a001a333b99c538b409b89643aff7649090d37b14ea5ca44
a2f6eacf6f683c01b74adaab8335db7d2aeb38829f0129b8b3bd22a2c5ccbc35
b308601a27898eb4cceeb6ca853fbc34bf152ee805921d05a17e72fb9dfa091b
44f369e06bc35ad5c99d01fac8852e8c1ae0597a3355814e8f1bd3430ed38434
24d9d9bd2264331368d7e384ea48d3ab2f5c5083e74b33a45c3e377c036276c4
2cbd0b9bd38b563dd3a95b0e687992efbbc0d4370fe3cebdb10a782fff4669c7
1e0d626207c035571e8af87245b71aa236f16546d96588af624558fe04754248
9c800ccd0779e7b07fc8f9752c6555671c0debc234989ceac982529b1caba112
c177b9c277b2ae3d127fc5dea23bf1de78885a2305c7a336c15201adac858f1b
d7c6e8ee51b34e4de7a71f74f000f10318ba7198906f879ae3c722d0502aefa9
6730ca8f59d766b368a233a5fef21833b2a577ec9d08191820ee499fc64badb3
43f3607e7945c355048feed882b5368f8711d06d8b4b91940dc47368d9c861e6
0b6613125d4a4bb9b48727f4b01f9d457ff90cf7456fc2b8fa3a460e0aa9e0a1
1eca19fd55f485b4536bb3c09da1427f6def8a8e04d202259abc396e73188997
97fe6567c451504c4fd09ffba935ec7baa9c0d484f17b82b930ffbb43d601bb7
b8caa6fdb34281b2d71cf05d4dc15e0982cb26b2aaa83e3f7057e84a5034e13a
c44d952fa3c941d9670b677c8dcd41ecb589b9cb258df7e397c0df5c982ce1d6
f9f873e91f5254e265bae5203d8b49494d68111ca2f45d3a71388c5c1c0eb266
634f87351c726dd08127d7e6687b2d86cf255806fc98be9505e50080e4330d33
08e005c5cc4b7c8b61e3a2df65119c3e4e3239b557af1386997bf75d27935e22
61c08b0f2c59e5709caff710265fe854e540c8d1bb4da1e5505f59a3f9dd5cff
6fd1f6e564b23a91a34667bfca528696b09e4aa4adcfa168286de55eb7f938cb
0a8c5541b5e084e64ded93f94c19b5ad483cea9425cbc7519082f3fd6886a377
a77bff1d91123cf255192e6d9998a879af2c4e8fff8bb228ff9c3df9229d62fe
5f3ed7ac4cd06305dab1b484716eecc067a97d2b6f2cfe16f82108b991b1a943"
5a0769818c14878be1fc46c040fdd8c856914df481886270cd416389921e9862
55ed0d5eeeb5038bc7cdbfaf64e38a5151b21331b6396b1b1bd67039290a1cd5
6d802d8c8fef1e3900443eee558dd54e2dbf9b5d548e4aaf6aa70efe53216971
eb07898a24acdbaa317bd7457abb6520e59b9fecd8fe7e66755e3f36b25d6c98
3f0087df47d8f6faa492b580d7a3f3cec17ecaa74720c94e68a258171c94fe39
d5f77499d40153bfbc74713c61f3c6fecdf117a6e5240981a2bf822f974519e6
3cf8984a42788b2627146fe64cd2bfca7597640ee1bf9f1ad268cbdce0b2b54c
011d719bf75c77bf2c5cf56f246aaf58067b175151deee9ef9dee9e90b96bc17
01070a5c87a1c39b8f39f2f5b7bd143b662526642d90098542f5b6eb17b69c69
ac18f71b01726dab12bbe200ba20282d98a5523f9d1dbea35869e3be43b12178
106d600b21c6877a11d028a7b2025c3ed8efa0eb4cf887621d579442138c273a
bc0a7456a118a2e01f408c0968ef8b9ae1c3992f50e5d190677b254881ccf127
dfce1edaa95d5d537f50b2ec71b41c2258699990ca7ff51f180d3fc7f3b4239d
d8056cbb6888fb408644fc19829c82b78f9bce429d2bc2d6a43124cb03b7d888
dd5f141283676803730ddc2810f7bb645960b345bfe3afa6d38aea2cc6754cdd
4c024e4244f2ba82e99435fcb368fa07a4426a49346599cecbfc5e83ba056bb6
57e43f3c40c54127f1485710a72d6dab400389c0736e1b02d5314108f782e10f
59e1abb36fdb7d47e74fd10d6033b86b9fa68acbfdc05d3da9e67378b7eb3b26
f955f85aca61ffffebfbce54940b20177f272e7ff9c8096e274aef3154bf24ab
1d3cb3448d68aa2fbd97d0d7771da47e141008595b78399c87f16615bbc8ef79
fa77a8345f7a67a4ed480e6f702d32180fdbc1afc11ad0bad21ec9d6f52db168
84c43b02c0ac41c4e4b8878ac1c29d620d9924c8fc8d0355591351edf9935349
fe1763e1c86d954c6ada561a884df22d10e88cf9c6339281b3750155cc05f425
6c0ecb3ff1e954d947dbabd80e9cc74969e5b19fec4a970006934f44bc28e619
74ea18f4ac0adf3b4b246a6fbace1a863fa8d4a9c608a21cae7eedb6ea7f8060
e1575e775c52c6d74148167dcaebd9805201f975871d8073e60854d919f3db9d
8ecbb09d40c99823ff971f319a9012cae609207408e39f207b85e563c35d3c84
b5d4691b663c223ac7e4d62b530fb9a94d1fab67d5c9ecfb6b8982451ab236fb
aec75604d1071ef585f1462ca33b9bf2b6c9299d6d49b2ffc01096462c3794c4
a7c7fdf6cdfd44e5f8786d587360d2aa022cde980fc17e67a4caa136197150df
ed48e6df6381b74b6bb9525fc2401a39ccdb99eaf705ee41811eee81db4b13ac
61d78db454d888a95c9dc731ffcbb6a6981c9de164a539b6d6d05dd5b52b4fcd
c50d38ccc0b57b68ab98fefa8537f34f8b594c67139335826e4f17ee0e6773fd
278f60e6f3e4b2c52365a172509a4e372aa062409b46c7706002fe69693b51aa
303dc412abde1e69f44bf8f24fe7f8951ce42cc27be76c9d17eb44a4b1832bb4
7a420f2f0c65f8fef734c7f5731f4cdb0e2900ea7559e99bb382ab33c5e713f6
a2934ac63c494a0b3e0d22f622a2e4b53b96df4bffa8d053517da8299c7173e8
b6a97f15d16b7ac69d3b1073d9c11ac6b20436188f3f0978a9115bc04b6ee2df
54a990f5b50e065e4c3e13eda4fb2f25107693db14860e8ea0aa2236ef1e0cbe
edae7658377dc3431149baaafb716bb411deeeb61d935254fc192188fa226f6e
b175317b939d97ead4166bf61f8eb8381948fba4a006d4463e80d19028c0cedc
69c49d9f467d426e41d32626ebca768e56c7861e6352c24519d9a0b4ca8c24cf
fd75cea0e56a1bb346f71a902d487c2509f8904899492ee1f958af4e7df2c249
04c0a9baa1ec3e19c14bc17d3d17a47ea53c993f3a81c4b3347e6a96492141bb
77dfa6996b9a0b821066d80508d3fbf68d2335190f5600f5699d012fffd2fbdf
32c183296a65eb0b10ace20c8b35d0a37d10278fabd4b9826ed16bebba4e8936
44e685f7353997fe77176e9f60e90725603f3453857fc18906ba99a7f3241b58
67635d7c4cd289813783cb692c56ee4e4ffee71adbb3d9de9f87338203fb8e80
c6087dad575452d8a4000a6e1e3d7fe4152b86fa84add96288b4fa4e50f8d85f
1a78b44d14d7f8d42c16b62539026c6ff1016dd8b249abf6bfd5a7691d840ac1
72b665fb904a8c9b6a0d52ad8d00d6e6bab4cc5e4b80ec0fc8aeb4c6eec0767b
7db1c1c2a96ea24f5cb431061bc8e35edf4614841b4aba4d94ff772d12956cd7
7fcdfd89576f4bddd306fa086be78829f2d51ea8b8b711c08b38e3eee1ffc61b
cf68f9ccead4f294b34b65d834fca8958bc2a37c87f99caf3b2b505b9983391d
5ea6da095c7e6b2926be1344f9b0a5940d9e3c4afc7f069d090554e7ee505a2c
d13f5fab53fe4c4a7c542f764d95312e77e82334b3f23503057acbd404a93403
0325f0fc9944836effe4e8eddc4c5c7ed42e43e09dd7256dfc07c07dbd6391e2
1fc0e47bb89335b6c53439e3b6d4fc0194822865acf7a4056ed779d4a77b0c3b
fc688802b4746dba520dee4c671d6f326e540aea0608e18c38f0f2eaefacb4e4
fba7bdde1975652c41b3bcab2dc469d11be9ef232c2873034de371b1fc76f543
150368f961ab2bf857ed6595515fd3b92620f7d9c15aca7b3e675ce0ea740253
8e430484eb3630f48cf00dd594b4b3cac2e1982fa30edb905137f35b8ab6c961
eb87db03918f7ff2eab63cdb9228af635c756add32a182d58ad531489d60405a
a4d4a5d410b421991b6935624651638679395fc7f82865649d0d2669244ad8cd
d5d17bef7724b6f4fb0f9a96b779e8840491de65a865d126edfeb66d49198100
580979d39ef1bd11960e9a9619b59dddff15b3636071ca9dfea7a215ca744078
b9a5d83079adb7f4b4bbdad55d88055ca6981849a76db0d027e0dff562118089
165667535c09f079820d14a46fd72191e5fb1def75963c3a47bc80b8dab89fc7
ed42b684815c2bce7271afe55f7a06cde02cd399a278c0e54a3dbe840eb0a372
306d2554a6f6143d09e37be0714ea7bb170569e09514b2dcb6de3ec44fdd84cd
029a92c54db643481dcfdbab08016a569622e3d80ff12961dacad3a68faafbbb
051ca15a827eb86a49fc899b08d90e447d5f6e3909642835c9c7163cd6aa8688
bf68302a604749211cdc2255073d1d755727afdbefa054118c322292c6d369fe
156edd762bbeaf980211f91516ac3e7967bdaaab2cfdccf61238fdcf726ef5b2
2f2399082c4e7cff27f1d77fd7bd76acda1e3b61d4f14b87efc7dd2abb317586
afa7826fa3d68464960d3129eb64e17df73e8a41b4e8a6f6688e76111d2a941a
62201c8e4c4ac140cb5e82fd699059de719f90ba77a41ba396971d65c0ba9e35
385612528745dcc87df53770a8d52a573d69e71ea5275a40afd5be0108754bae
4d1a6cf70a5415a947f630ee41060ebbfea85271ce1dac9f3329fcf8c376115a
4c5b93d99e038e86e8461ebfb1bcc4bfb7e52430d385bcb27354826fd7f1af09
f203ef6d205f6b69c706399a1013e94a4fb4017ffed9cff1c47ccd60eec02f0f
d029c776769e327356304886e17846ec79568a9aeac47f779bd2e0a24229ce4f
fef5561cb30d850319544df750d717bf6a63f95ba2b981e0d8dd0857a20e0e2d
a8819d2e17a9388bc2bf9f33219a85350470eb4c12fc3c752f90514198c68033
ba97a17431b9626e5f63fce46d7daf50944a95eb36ecd82d1baffacf71981381
06a0ef7059b2d272f2cd4817d4b821e12baf0667bcf9226f95154e0f2f1ad4c0
57a0036f4d34487642e25011208f7bc2f7dec57e2e53003d30eae8eee54fd24b
1b4f6c67df638d197a4a335e4804c2ace7f4418143fb315f8b1869d0f58427d5
e9d58bb00b3c5ab1fd3e733dad500fc5b16f8687a5c734be3005d3224fce6b2b
d1825e387c642e7138769e4ce93bb87f37c11af485d4f2304946c87cd3d5b561
4cf4623f5444494c004e0e68bb1fa6b7fa19c4312b64ca5853b18f21fbc881c3
d1180cc0ed1e5d06ebd13e3349374d72d43d609047f61f1e69b1cc9306aec8be
b50a88457241bd88e7e18dcd909d216fa37f52017f5d33f4721ec774ec57c845
b812f005d3a87a80b228e9e01ff2daecb43fa781793cf73a4178cde54172b368"

View File

@ -43,6 +43,7 @@ ac_add_options --disable-profiling
ac_add_options --enable-optimize="$CFLAGS"
ac_add_options --enable-pie
ac_add_options --enable-release
ac_add_options --enable-official-branding
ac_add_options --enable-safe-browsing
ac_add_options --enable-application=browser

View File

@ -1,184 +0,0 @@
# HG changeset patch
# User Jed Davis <jld@mozilla.com>
# Date 1499804607 21600
# Node ID a8f06d32af317f7db813252afbaae05a13d8863a
# Parent 5cac7af6804c46f6e74547a0fed3c1cb27abc134
Bug 1376653 - Loosen restrictions on clone flags for musl. r=gcp
I've made this non-ifdef'ed, and removed currently unused ifdef'ed cases
for old Android versions, because I'd rather have less code that we're
not even compile-testing than save a few cycles on a non-critical path.
MozReview-Commit-ID: B4Wn1elyK4f
diff --git security/sandbox/linux/SandboxFilter.cpp security/sandbox/linux/SandboxFilter.cpp
--- security/sandbox/linux/SandboxFilter.cpp
+++ security/sandbox/linux/SandboxFilter.cpp
@@ -120,35 +120,29 @@ public:
virtual ResultExpr ClonePolicy(ResultExpr failPolicy) const {
// Allow use for simple thread creation (pthread_create) only.
// WARNING: s390 and cris pass the flags in the second arg -- see
// CLONE_BACKWARDS2 in arch/Kconfig in the kernel source -- but we
// don't support seccomp-bpf on those archs yet.
Arg<int> flags(0);
- // The glibc source hasn't changed the thread creation clone flags
- // since 2004, so this *should* be safe to hard-code. Bionic's
- // value has changed a few times, and has converged on the same one
- // as glibc; allow any of them.
- static const int flags_common = CLONE_VM | CLONE_FS | CLONE_FILES |
- CLONE_SIGHAND | CLONE_THREAD | CLONE_SYSVSEM;
- static const int flags_modern = flags_common | CLONE_SETTLS |
+ // The exact flags used can vary. CLONE_DETACHED is used by musl
+ // and by old versions of Android (<= JB 4.2), but it's been
+ // ignored by the kernel since the beginning of the Git history.
+ //
+ // If we ever need to support Android <= KK 4.4 again, SETTLS
+ // and the *TID flags will need to be made optional.
+ static const int flags_required = CLONE_VM | CLONE_FS | CLONE_FILES |
+ CLONE_SIGHAND | CLONE_THREAD | CLONE_SYSVSEM | CLONE_SETTLS |
CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID;
+ static const int flags_optional = CLONE_DETACHED;
- // Can't use CASES here because its decltype magic infers const
- // int instead of regular int and bizarre voluminous errors issue
- // forth from the depths of the standard library implementation.
- return Switch(flags)
-#ifdef ANDROID
- .Case(flags_common | CLONE_DETACHED, Allow()) // <= JB 4.2
- .Case(flags_common, Allow()) // JB 4.3 or KK 4.4
-#endif
- .Case(flags_modern, Allow()) // Android L or glibc
- .Default(failPolicy);
+ return If((flags & ~flags_optional) == flags_required, Allow())
+ .Else(failPolicy);
}
virtual ResultExpr PrctlPolicy() const {
// Note: this will probably need PR_SET_VMA if/when it's used on
// Android without being overridden by an allow-all policy, and
// the constant will need to be defined locally.
Arg<int> op(0);
return Switch(op)
# HG changeset patch
# User Jed Davis <jld@mozilla.com>
# Date 1499813988 21600
# Node ID 9b5bb669d1283995fd8d01fe779bd8646cb2cd92
# Parent a8f06d32af317f7db813252afbaae05a13d8863a
Bug 1376653 - Unconditionalize the tkill() polyfill. r=gcp
MozReview-Commit-ID: JzLWCRQ9Keg
diff --git security/sandbox/linux/SandboxFilter.cpp security/sandbox/linux/SandboxFilter.cpp
--- security/sandbox/linux/SandboxFilter.cpp
+++ security/sandbox/linux/SandboxFilter.cpp
@@ -87,25 +87,24 @@ protected:
typedef const sandbox::arch_seccomp_data& ArgsRef;
static intptr_t BlockedSyscallTrap(ArgsRef aArgs, void *aux) {
MOZ_ASSERT(!aux);
return -ENOSYS;
}
private:
-#if defined(ANDROID) && ANDROID_VERSION < 16
// Bug 1093893: Translate tkill to tgkill for pthread_kill; fixed in
// bionic commit 10c8ce59a (in JB and up; API level 16 = Android 4.1).
+ // Bug 1376653: musl also needs this, and security-wise it's harmless.
static intptr_t TKillCompatTrap(const sandbox::arch_seccomp_data& aArgs,
void *aux)
{
return syscall(__NR_tgkill, getpid(), aArgs.args[0], aArgs.args[1]);
}
-#endif
static intptr_t SetNoNewPrivsTrap(ArgsRef& aArgs, void* aux) {
if (gSetSandboxFilter == nullptr) {
// Called after BroadcastSetThreadSandbox finished, therefore
// not our doing and not expected.
return BlockedSyscallTrap(aArgs, nullptr);
}
// Signal that the filter is already in place.
@@ -236,21 +235,19 @@ public:
// Send signals within the process (raise(), profiling, etc.)
case __NR_tgkill: {
Arg<pid_t> tgid(0);
return If(tgid == getpid(), Allow())
.Else(InvalidSyscall());
}
-#if defined(ANDROID) && ANDROID_VERSION < 16
// Polyfill with tgkill; see above.
case __NR_tkill:
return Trap(TKillCompatTrap, nullptr);
-#endif
// Yield
case __NR_sched_yield:
return Allow();
// Thread creation.
case __NR_clone:
return ClonePolicy(InvalidSyscall());
# HG changeset patch
# User Jed Davis <jld@mozilla.com>
# Date 1499814186 21600
# Node ID f68747fe8a15bc355f6380b760d747d52a9f4d26
# Parent 9b5bb669d1283995fd8d01fe779bd8646cb2cd92
Bug 1376653 - Fix handling of architecture differences for getdents. r=gcp
MozReview-Commit-ID: ArGStWwkJAg
diff --git security/sandbox/linux/SandboxFilterUtil.h security/sandbox/linux/SandboxFilterUtil.h
--- security/sandbox/linux/SandboxFilterUtil.h
+++ security/sandbox/linux/SandboxFilterUtil.h
@@ -100,34 +100,38 @@ public:
#ifdef __NR_stat64
#define CASES_FOR_stat case __NR_stat64
#define CASES_FOR_lstat case __NR_lstat64
#define CASES_FOR_fstat case __NR_fstat64
#define CASES_FOR_fstatat case __NR_fstatat64
#define CASES_FOR_statfs case __NR_statfs64: case __NR_statfs
#define CASES_FOR_fstatfs case __NR_fstatfs64: case __NR_fstatfs
#define CASES_FOR_fcntl case __NR_fcntl64
-// We're using the 32-bit version on 32-bit desktop for some reason.
-#define CASES_FOR_getdents case __NR_getdents64: case __NR_getdents
// FIXME: we might not need the compat cases for these on non-Android:
#define CASES_FOR_lseek case __NR_lseek: case __NR__llseek
#define CASES_FOR_ftruncate case __NR_ftruncate: case __NR_ftruncate64
#else
#define CASES_FOR_stat case __NR_stat
#define CASES_FOR_lstat case __NR_lstat
#define CASES_FOR_fstatat case __NR_newfstatat
#define CASES_FOR_fstat case __NR_fstat
#define CASES_FOR_fstatfs case __NR_fstatfs
#define CASES_FOR_statfs case __NR_statfs
#define CASES_FOR_fcntl case __NR_fcntl
-#define CASES_FOR_getdents case __NR_getdents
#define CASES_FOR_lseek case __NR_lseek
#define CASES_FOR_ftruncate case __NR_ftruncate
#endif
+// getdents is not like the other FS-related syscalls with a "64" variant
+#ifdef __NR_getdents
+#define CASES_FOR_getdents case __NR_getdents64: case __NR_getdents
+#else
+#define CASES_FOR_getdents case __NR_getdents64
+#endif
+
#ifdef __NR_sigprocmask
#define CASES_FOR_sigprocmask case __NR_sigprocmask: case __NR_rt_sigprocmask
#define CASES_FOR_sigaction case __NR_sigaction: case __NR_rt_sigaction
#define CASES_FOR_sigreturn case __NR_sigreturn: case __NR_rt_sigreturn
#else
#define CASES_FOR_sigprocmask case __NR_rt_sigprocmask
#define CASES_FOR_sigaction case __NR_rt_sigaction
#define CASES_FOR_sigreturn case __NR_rt_sigreturn

View File

@ -28,14 +28,15 @@
--- tools/profiler/core/platform-linux-android.cpp.orig
+++ tools/profiler/core/platform-linux-android.cpp
@@ -505,8 +505,10 @@
MOZ_ASSERT(mIsSynchronous);
MOZ_ASSERT(aContext);
@@ -534,9 +534,11 @@
void
Registers::SyncPopulate()
{
+#if defined(__GLIBC__)
if (!getcontext(aContext)) {
FillInSample(*this, aContext);
if (!getcontext(&sSyncUContext)) {
PopulateRegsFromContext(*this, &sSyncUContext);
}
+#endif
}
#endif

View File

@ -1,163 +0,0 @@
# HG changeset patch
# User Lee Salzman <lsalzman@mozilla.com>
# Date 1504120456 14400
# Wed Aug 30 15:14:16 2017 -0400
# Node ID 708d52f954b6d7ca2497fcb5b5084c6483300e89
# Parent 33224536ce20d942576cd4b9ffb350d6dce397bc
clip FreeType glyph bitmap to mask in Skia
MozReview-Commit-ID: 9NqLj9SkHFo
diff --git a/gfx/skia/skia/src/ports/SkFontHost_FreeType_common.cpp b/gfx/skia/skia/src/ports/SkFontHost_FreeType_common.cpp
--- gfx/skia/skia/src/ports/SkFontHost_FreeType_common.cpp
+++ gfx/skia/skia/src/ports/SkFontHost_FreeType_common.cpp
@@ -390,65 +390,131 @@ void SkScalerContext_FreeType_Base::gene
const SkMatrix& bitmapTransform)
{
const bool doBGR = SkToBool(fRec.fFlags & SkScalerContext::kLCD_BGROrder_Flag);
const bool doVert = SkToBool(fRec.fFlags & SkScalerContext::kLCD_Vertical_Flag);
switch ( face->glyph->format ) {
case FT_GLYPH_FORMAT_OUTLINE: {
FT_Outline* outline = &face->glyph->outline;
- FT_BBox bbox;
- FT_Bitmap target;
int dx = 0, dy = 0;
if (fRec.fFlags & SkScalerContext::kSubpixelPositioning_Flag) {
dx = SkFixedToFDot6(glyph.getSubXFixed());
dy = SkFixedToFDot6(glyph.getSubYFixed());
// negate dy since freetype-y-goes-up and skia-y-goes-down
dy = -dy;
}
- FT_Outline_Get_CBox(outline, &bbox);
- /*
- what we really want to do for subpixel is
- offset(dx, dy)
- compute_bounds
- offset(bbox & !63)
- but that is two calls to offset, so we do the following, which
- achieves the same thing with only one offset call.
- */
- FT_Outline_Translate(outline, dx - ((bbox.xMin + dx) & ~63),
- dy - ((bbox.yMin + dy) & ~63));
+
+ memset(glyph.fImage, 0, glyph.rowBytes() * glyph.fHeight);
if (SkMask::kLCD16_Format == glyph.fMaskFormat) {
+ FT_Outline_Translate(outline, dx, dy);
FT_Error err = FT_Render_Glyph(face->glyph, doVert ? FT_RENDER_MODE_LCD_V :
FT_RENDER_MODE_LCD);
if (err) {
SK_TRACEFTR(err, "Could not render glyph.");
- sk_bzero(glyph.fImage, glyph.computeImageSize());
return;
}
+
SkMask mask;
glyph.toMask(&mask);
+#ifdef SK_SHOW_TEXT_BLIT_COVERAGE
+ memset(mask.fImage, 0x80, mask.fBounds.height() * mask.fRowBytes);
+#endif
+ FT_GlyphSlotRec& ftGlyph = *face->glyph;
+
+ if (!SkIRect::Intersects(mask.fBounds,
+ SkIRect::MakeXYWH( ftGlyph.bitmap_left,
+ -ftGlyph.bitmap_top,
+ ftGlyph.bitmap.width,
+ ftGlyph.bitmap.rows)))
+ {
+ return;
+ }
+
+ // If the FT_Bitmap extent is larger, discard bits of the bitmap outside the mask.
+ // If the SkMask extent is larger, shrink mask to fit bitmap (clearing discarded).
+ unsigned char* origBuffer = ftGlyph.bitmap.buffer;
+ // First align the top left (origin).
+ if (-ftGlyph.bitmap_top < mask.fBounds.fTop) {
+ int32_t topDiff = mask.fBounds.fTop - (-ftGlyph.bitmap_top);
+ ftGlyph.bitmap.buffer += ftGlyph.bitmap.pitch * topDiff;
+ ftGlyph.bitmap.rows -= topDiff;
+ ftGlyph.bitmap_top = -mask.fBounds.fTop;
+ }
+ if (ftGlyph.bitmap_left < mask.fBounds.fLeft) {
+ int32_t leftDiff = mask.fBounds.fLeft - ftGlyph.bitmap_left;
+ ftGlyph.bitmap.buffer += leftDiff;
+ ftGlyph.bitmap.width -= leftDiff;
+ ftGlyph.bitmap_left = mask.fBounds.fLeft;
+ }
+ if (mask.fBounds.fTop < -ftGlyph.bitmap_top) {
+ mask.fImage += mask.fRowBytes * (-ftGlyph.bitmap_top - mask.fBounds.fTop);
+ mask.fBounds.fTop = -ftGlyph.bitmap_top;
+ }
+ if (mask.fBounds.fLeft < ftGlyph.bitmap_left) {
+ mask.fImage += sizeof(uint16_t) * (ftGlyph.bitmap_left - mask.fBounds.fLeft);
+ mask.fBounds.fLeft = ftGlyph.bitmap_left;
+ }
+ // Origins aligned, clean up the width and height.
+ int ftVertScale = (doVert ? 3 : 1);
+ int ftHoriScale = (doVert ? 1 : 3);
+ if (mask.fBounds.height() * ftVertScale < SkToInt(ftGlyph.bitmap.rows)) {
+ ftGlyph.bitmap.rows = mask.fBounds.height() * ftVertScale;
+ }
+ if (mask.fBounds.width() * ftHoriScale < SkToInt(ftGlyph.bitmap.width)) {
+ ftGlyph.bitmap.width = mask.fBounds.width() * ftHoriScale;
+ }
+ if (SkToInt(ftGlyph.bitmap.rows) < mask.fBounds.height() * ftVertScale) {
+ mask.fBounds.fBottom = mask.fBounds.fTop + ftGlyph.bitmap.rows / ftVertScale;
+ }
+ if (SkToInt(ftGlyph.bitmap.width) < mask.fBounds.width() * ftHoriScale) {
+ mask.fBounds.fRight = mask.fBounds.fLeft + ftGlyph.bitmap.width / ftHoriScale;
+ }
if (fPreBlend.isApplicable()) {
- copyFT2LCD16<true>(face->glyph->bitmap, mask, doBGR,
+ copyFT2LCD16<true>(ftGlyph.bitmap, mask, doBGR,
fPreBlend.fR, fPreBlend.fG, fPreBlend.fB);
} else {
- copyFT2LCD16<false>(face->glyph->bitmap, mask, doBGR,
+ copyFT2LCD16<false>(ftGlyph.bitmap, mask, doBGR,
fPreBlend.fR, fPreBlend.fG, fPreBlend.fB);
}
+ // Restore the buffer pointer so FreeType can properly free it.
+ ftGlyph.bitmap.buffer = origBuffer;
} else {
+ FT_BBox bbox;
+ FT_Bitmap target;
+ FT_Outline_Get_CBox(outline, &bbox);
+ /*
+ what we really want to do for subpixel is
+ offset(dx, dy)
+ compute_bounds
+ offset(bbox & !63)
+ but that is two calls to offset, so we do the following, which
+ achieves the same thing with only one offset call.
+ */
+ FT_Outline_Translate(outline, dx - ((bbox.xMin + dx) & ~63),
+ dy - ((bbox.yMin + dy) & ~63));
+
target.width = glyph.fWidth;
target.rows = glyph.fHeight;
target.pitch = glyph.rowBytes();
target.buffer = reinterpret_cast<uint8_t*>(glyph.fImage);
target.pixel_mode = compute_pixel_mode( (SkMask::Format)fRec.fMaskFormat);
target.num_grays = 256;
- memset(glyph.fImage, 0, glyph.rowBytes() * glyph.fHeight);
FT_Outline_Get_Bitmap(face->glyph->library, outline, &target);
+#ifdef SK_SHOW_TEXT_BLIT_COVERAGE
+ for (int y = 0; y < glyph.fHeight; ++y) {
+ for (int x = 0; x < glyph.fWidth; ++x) {
+ uint8_t& a = ((uint8_t*)glyph.fImage)[(glyph.rowBytes() * y) + x];
+ a = SkTMax<uint8_t>(a, 0x20);
+ }
+ }
+#endif
}
} break;
case FT_GLYPH_FORMAT_BITMAP: {
FT_Pixel_Mode pixel_mode = static_cast<FT_Pixel_Mode>(face->glyph->bitmap.pixel_mode);
SkMask::Format maskFormat = static_cast<SkMask::Format>(glyph.fMaskFormat);
// Assume that the other formats do not exist.

View File

@ -1,28 +1,28 @@
# Template build file for 'firefox'.
pkgname=firefox
version=55.0.3
revision=2
version=56.0.1
revision=1
short_desc="Mozilla Firefox web browser"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="https://www.mozilla.org/firefox/"
license="MPL-2.0, GPL-2, LGPL-2.1"
distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
checksum=891836df85f8798c49f7b25661820f64d1311d59703c716eda471819b93ccda2
checksum=ece052c9385ac6ccf58edb213b875f4793014c431f7e40de146bcd2dbcb0a3cb
only_for_archs="i686 i686-musl x86_64 x86_64-musl"
nopie=yes
lib32disabled=yes
hostmakedepends="autoconf213 unzip zip pkg-config perl python yasm rust cargo"
makedepends="
nss-devel libjpeg-turbo-devel gtk+-devel icu-devel pixman-devel
hostmakedepends="autoconf213 unzip zip pkg-config perl python yasm rust cargo
llvm clang"
makedepends="nss-devel libjpeg-turbo-devel gtk+-devel icu-devel pixman-devel
sqlite-devel libevent-devel libnotify-devel libvpx-devel libXrender-devel
hunspell-devel libXcomposite-devel libSM-devel libXt-devel libXdamage-devel
$(vopt_if alsa alsa-lib-devel) $(vopt_if dbus dbus-glib-devel)
$(vopt_if gtk3 gtk+3-devel) $(vopt_if pulseaudio pulseaudio-devel)
$(vopt_if startup_notification startup-notification-devel)
$(vopt_if xscreensaver libXScrnSaver-devel)"
depends="nss>=3.32 desktop-file-utils hicolor-icon-theme"
depends="nss>=3.32.1 desktop-file-utils hicolor-icon-theme"
conflicts="firefox-esr>=0"
build_options="alsa dbus gtk3 pulseaudio startup_notification xscreensaver"
@ -48,10 +48,23 @@ post_extract() {
do_build() {
cp "${FILESDIR}/mozconfig" "${wrksrc}/.mozconfig"
case "$XBPS_TARGET_MACHINE" in
x86_64*)
# https://bugzilla.mozilla.org/show_bug.cgi?id=1341234
echo "ac_add_options BINDGEN_CFLAGS='-I/usr/include/nspr -I/usr/include/pixman-1'" >>.mozconfig
# needed to enable stylo at runtime by default
echo "ac_add_options --enable-stylo" >>.mozconfig
;;
i686*)
# https://bugzilla.mozilla.org/show_bug.cgi?id=1401093
echo "ac_add_options --disable-stylo" >>.mozconfig
;;
esac
case "$XBPS_TARGET_MACHINE" in
*-musl)
echo "ac_add_options --disable-jemalloc" >>.mozconfig
echo "ac_add_options --enable-gold=no" >>.mozconfig
echo "ac_add_options --disable-gold" >>.mozconfig
;;
esac

View File

@ -3,7 +3,7 @@
_nsprver=4.16
pkgname=nss
version=3.32
version=3.32.1
revision=1
hostmakedepends="perl"
makedepends="zlib-devel nspr-devel sqlite-devel"
@ -13,7 +13,7 @@ maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.mozilla.org/projects/security/pki/nss/"
license="MPL-2.0"
distfiles="${MOZILLA_SITE}/security/nss/releases/NSS_${version//\./_}_RTM/src/nss-${version}.tar.gz"
checksum=35c6f381cc96bb25e4f924469f6ba3e57b3a16e0c2fb7e295a284a00d57ed335
checksum=4de59ca7f5bf4a56fbcfdbb4a054f254ba9f408f56476957404a091048624652
do_build() {
# Respect LDFLAGS