Skip to content

Commit

Permalink
Bug 1261264 - Apply GCC PR64905 to fix miscompilation with -fomit-fra…
Browse files Browse the repository at this point in the history
…me-pointer. r=froydnj

The new GCC tarball was built on
https://tools.taskcluster.net/task-inspector/#ADIOXxgZQ7-9HuqEYZc3mw/0
  • Loading branch information
glandium committed Apr 7, 2016
1 parent d2cfd52 commit a172eec
Show file tree
Hide file tree
Showing 21 changed files with 72 additions and 60 deletions.
6 changes: 3 additions & 3 deletions b2g/config/aries/releng-aries.tt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[
{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": "True"
Expand Down
6 changes: 3 additions & 3 deletions b2g/config/dolphin/releng-dolphin.tt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[
{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": "True"
Expand Down
6 changes: 3 additions & 3 deletions b2g/config/emulator-ics/releng-emulator-ics.tt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[
{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": true
Expand Down
6 changes: 3 additions & 3 deletions b2g/config/emulator-jb/releng-emulator-jb.tt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[
{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": true
Expand Down
6 changes: 3 additions & 3 deletions b2g/config/emulator-kk/releng-emulator-kk.tt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[
{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": true
Expand Down
6 changes: 3 additions & 3 deletions b2g/config/emulator-l/releng-emulator-l.tt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[
{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": true
Expand Down
6 changes: 3 additions & 3 deletions b2g/config/emulator-x86-kk/releng-emulator-kk.tt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[
{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": true
Expand Down
6 changes: 3 additions & 3 deletions b2g/config/emulator-x86-l/releng-emulator-l.tt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[
{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": true
Expand Down
6 changes: 3 additions & 3 deletions b2g/config/emulator/releng-emulator.tt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[
{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": true
Expand Down
6 changes: 3 additions & 3 deletions b2g/config/flame-kk/releng-flame-kk.tt
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
"comment": "v18D"
},
{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": "True"
Expand Down
6 changes: 3 additions & 3 deletions b2g/config/flame/releng-flame.tt
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
"algorithm": "sha512"
},
{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": "True"
Expand Down
6 changes: 3 additions & 3 deletions b2g/config/nexus-4-kk/releng-mako.tt
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
"filename": "lge-mako-kot49h-f59c98be.tgz"
},
{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": "True"
Expand Down
6 changes: 3 additions & 3 deletions b2g/config/nexus-4/releng-mako.tt
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
"filename": "lge-mako-jwr66v-985845e4.tgz"
},
{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": "True"
Expand Down
6 changes: 3 additions & 3 deletions b2g/config/nexus-5-l/releng-nexus5.tt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": "True"
Expand Down
6 changes: 3 additions & 3 deletions b2g/config/tooltool-manifests/linux32/releng.manifest
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[
{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": true
Expand Down
6 changes: 3 additions & 3 deletions browser/config/tooltool-manifests/linux32/releng.manifest
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[
{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": true
Expand Down
6 changes: 3 additions & 3 deletions browser/config/tooltool-manifests/linux64/releng.manifest
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[
{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": true
Expand Down
11 changes: 11 additions & 0 deletions build/unix/build-gcc/PR64905.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- trunk/gcc/lra-eliminations.c 2015/02/04 20:00:48 220415
+++ trunk/gcc/lra-eliminations.c 2015/02/04 20:02:21 220416
@@ -182,6 +182,8 @@
if (! value
&& ep->from == FRAME_POINTER_REGNUM && ep->to == STACK_POINTER_REGNUM)
frame_pointer_needed = 1;
+ if (!frame_pointer_needed)
+ REGNO_POINTER_ALIGN (HARD_FRAME_POINTER_REGNUM) = 0;
}

/* Map: eliminable "from" register -> its current elimination,
2 changes: 2 additions & 0 deletions build/unix/build-gcc/build-gcc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ cd gcc-$gcc_version

./contrib/download_prerequisites

patch -p1 < "${this_path}/PR64905.patch" || exit 1

cd ..
mkdir gcc-objdir
cd gcc-objdir
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@
"unpack": true
},
{
"version": "gcc 4.8.5",
"size": 81065660,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": true
Expand Down
11 changes: 5 additions & 6 deletions mobile/android/config/tooltool-manifests/android/releng.manifest
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,12 @@
"filename": "jsshell.tar.xz"
},
{
"version": "gcc 4.8.5",
"size": 81065660,
"visibility": "public",
"unpack": true,
"digest": "db26f498ab56a3b5c65d7cda290cbb74174af9f2d021ca9c158f53b0382924ccf5ed9638d41eef449434aa9383a9113994d9729d9dd910321d1f35f9411eae38",
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz"
"filename": "gcc.tar.xz",
"unpack": true
},
{
"size": 30899096,
Expand Down

0 comments on commit a172eec

Please sign in to comment.