Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-26 Thread Ilias Tsitsimpis
On Tue, Jun 25, 2019 at 09:44PM, Paul Gevers wrote:
> It helps if you can check if all the packages that you expect migrate.

Yep, everything (except for taffybar) has migrated.

Thanks,

-- 
Ilias



Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-25 Thread Ilias Tsitsimpis
Hey Paul,

It looks like everything has been rebuilt without errors. Moreover,
git-annex now works, so I assume that the problem has been resolved.

Could you please unblock ghc/8.4.4+dfsg1-3 as well as every Haskell
package that was rebuilt on armel? One exception to the above is the
taffybar package, which has a newer version in unstable than in testing,
and was on my binNMU list by mistake. Thankfully, this is a leaf package
(no other Haskell libraries depend on it) so it is safe to first allow
all other packages to migrate to testing and then binNMU it directly on
testing.

Please let me know if there is anything else I can do to help.

Cheers,

-- 
Ilias



Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-25 Thread Ilias Tsitsimpis
On Tue, Jun 25, 2019 at 09:24AM, Emanuele Olivetti wrote:
> I am very happy to announce that git-annex v.7.20190129-3+b1 for armel
> works perfectly on my QNAP TS-219P (armv5tel)!

Great news! Thank you for helping us out with this.

Best,

-- 
Ilias



Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-25 Thread Emanuele Olivetti
Dear Ilias,

I am very happy to announce that git-annex v.7.20190129-3+b1 for armel
works perfectly on my QNAP TS-219P (armv5tel)!

I ran the extensive test suite within git-annex, with "git-annex test" and
all the 227 tests passed without error - here is the last line of that
execution:

All 227 tests passed (1699.83s)

Please find attached entire (compressed) log of >2k lines, captured with
"nohup git-annex test 2>&1 > git-annex-test.output &".

And here follows the transcript of the installation of git-annex from sid,
confirming that it's the version you generated:

drakestail:/tmp/test# apt install -t sid git-annex
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  aria2 git git-man git-remote-gcrypt libaria2-0 libcom-err2 libcomerr2
libcurl3-gnutls liberror-perl libgssapi-krb5-2 libk5crypto3 libkrb5-3
libkrb5support0 libpcre2-8-0 nocache
Suggested packages:
  git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui
gitk gitweb git-cvs git-mediawiki git-svn xdot bup adb tor magic-wormhole
tahoe-lafs uftp youtube-dl rclone krb5-doc krb5-user
The following NEW packages will be installed:
  aria2 git git-annex git-man git-remote-gcrypt libaria2-0 libcom-err2
liberror-perl libpcre2-8-0 nocache
The following packages will be upgraded:
  libcomerr2 libcurl3-gnutls libgssapi-krb5-2 libk5crypto3 libkrb5-3
libkrb5support0
6 upgraded, 10 newly installed, 0 to remove and 869 not upgraded.
Need to get 20.9 MB of archives.
After this operation, 111 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://ftp.it.debian.org/debian sid/main armel libcom-err2 armel
1.45.2-1 [68.9 kB]
Get:2 http://ftp.it.debian.org/debian sid/main armel libcomerr2 armel
1.45.2-1 [65.5 kB]
Get:3 http://ftp.it.debian.org/debian buster/main armel libaria2-0
armel 1.34.0-4 [916 kB]
Get:4 http://ftp.it.debian.org/debian buster/main armel aria2 armel
1.34.0-4 [362 kB]
Get:5 http://ftp.it.debian.org/debian buster/main armel
libgssapi-krb5-2 armel 1.17-3 [136 kB]
Get:6 http://ftp.it.debian.org/debian buster/main armel libkrb5-3 armel
1.17-3 [319 kB]
Get:7 http://ftp.it.debian.org/debian buster/main armel libk5crypto3
armel 1.17-3 [118 kB]
Get:8 http://ftp.it.debian.org/debian buster/main armel libkrb5support0
armel 1.17-3 [62.2 kB]
Get:9 http://ftp.it.debian.org/debian buster/main armel libcurl3-gnutls
armel 7.64.0-4 [292 kB]
Get:10 http://ftp.it.debian.org/debian buster/main armel libpcre2-8-0
armel 10.32-5 [185 kB]
Get:11 http://ftp.it.debian.org/debian buster/main armel liberror-perl
all 0.17027-2 [30.9 kB]
Get:12 http://ftp.it.debian.org/debian buster/main armel git-man all
1:2.20.1-2 [1,619 kB]
Get:13 http://ftp.it.debian.org/debian buster/main armel git armel
1:2.20.1-2 [4,402 kB]
Get:14 http://ftp.it.debian.org/debian sid/main armel git-annex armel
7.20190129-3+b1 [12.3 MB]
Get:15 http://ftp.it.debian.org/debian buster/main armel
git-remote-gcrypt all 1.2-1 [15.8 kB]
Get:16 http://ftp.it.debian.org/debian buster/main armel nocache armel
1.1-1 [17.7 kB]
Fetched 20.9 MB in 3s (5,498 kB/s)
Reading changelogs... Done
(Reading database ... 100879 files and directories currently installed.)
Preparing to unpack .../libcomerr2_1.45.2-1_armel.deb ...
Unpacking libcomerr2:armel (1.45.2-1) over (1.43.4-2) ...
Selecting previously unselected package libcom-err2:armel.
Preparing to unpack .../libcom-err2_1.45.2-1_armel.deb ...
Unpacking libcom-err2:armel (1.45.2-1) ...
Setting up libcom-err2:armel (1.45.2-1) ...
Selecting previously unselected package libaria2-0:armel.
(Reading database ... 100882 files and directories currently installed.)
Preparing to unpack .../00-libaria2-0_1.34.0-4_armel.deb ...
Unpacking libaria2-0:armel (1.34.0-4) ...
Selecting previously unselected package aria2.
Preparing to unpack .../01-aria2_1.34.0-4_armel.deb ...
Unpacking aria2 (1.34.0-4) ...
Preparing to unpack .../02-libgssapi-krb5-2_1.17-3_armel.deb ...
Unpacking libgssapi-krb5-2:armel (1.17-3) over (1.15-1+deb9u1) ...
Preparing to unpack .../03-libkrb5-3_1.17-3_armel.deb ...
Unpacking libkrb5-3:armel (1.17-3) over (1.15-1+deb9u1) ...
Preparing to unpack .../04-libk5crypto3_1.17-3_armel.deb ...
Unpacking libk5crypto3:armel (1.17-3) over (1.15-1+deb9u1) ...
Preparing to unpack .../05-libkrb5support0_1.17-3_armel.deb ...
Unpacking libkrb5support0:armel (1.17-3) over (1.15-1+deb9u1) ...
Preparing to unpack .../06-libcurl3-gnutls_7.64.0-4_armel.deb ...
Unpacking libcurl3-gnutls:armel (7.64.0-4) over (7.52.1-5+deb9u9) ...
Selecting previously unselected package libpcre2-8-0:armel.
Preparing to unpack .../07-libpcre2-8-0_10.32-5_armel.deb ...
Unpacking libpcre2-8-0:armel (10.32-5) ...

Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-24 Thread Ilias Tsitsimpis
Hi Emanuele,

On Thu, Jun 20, 2019 at 12:05AM, Emanuele Olivetti wrote:
> Indeed, I'll be very happy to test git-annex!

Could you please test git-annex version 7.20190129-3+b1 from unstable?

Thanks,

-- 
Ilias



Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-22 Thread Ilias Tsitsimpis
On Fri, Jun 21, 2019 at 09:10PM, Paul Gevers wrote:
> Scheduling as we speak. Can you please keep an eye on it and ping this
> bug if you spot something not going well or when everything is finished?

Thank you Paul. Looking at armel's buildd status page [1], it looks like
we are half way there, with ~500 packages remaining (Dep-Wait +
Needs-Build), and without any failures so far.

I will keep an eye on it and ping you if anything changes.

[1] https://buildd.debian.org/status/architecture.php?a=armel=sid

Cheers,

-- 
Ilias



Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-21 Thread Paul Gevers
Control: retitle -1 unblock: ghc/8.4.4+dfsg1-3

Hi Ilias,

On 20-06-2019 04:20, Ilias Tsitsimpis wrote:
> Attached is the updated file.

Scheduling as we speak. Can you please keep an eye on it and ping this
bug if you spot something not going well or when everything is finished?
It's unclear to me how I should track that properly.

Paul



signature.asc
Description: OpenPGP digital signature


Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-19 Thread Emanuele Olivetti
On Wed, Jun 19, 2019 at 11:33 PM Ilias Tsitsimpis 
wrote:

>
> On Mon, Jun 17, 2019 at 12:00AM, Emanuele Olivetti wrote:
> > Let me know if I can help more.
>
> Dear Emanuele,
>
> Thank you for taking the time to test and verify my packages. Can I ping
> you one last time to test that git-annex will work after we rebuild it?
>
>
>
Dear Ilias,

Indeed, I'll be very happy to test git-annex!
Looking forward to receiving your message. And thanks again for taking care
of this issue.

Best,

Emanuele


Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-17 Thread Paul Gevers
Control: tags -1 confirmed

Dear Ilias,

Please go ahead with uploading the reviewed ghc to unstable and remove
the moreinfo tag when it is available so we can schedule the binNMU's.

Paul



signature.asc
Description: OpenPGP digital signature


Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-16 Thread Emanuele Olivetti
Dear Paul,

Indeed I confirm that "happy" provided by Debian buster/sid does not work
on my hardware (armv5tel Kirkwood Feroceon). Just tested now after removing
Ilias' deb package and reinstalling the previous one:

drakestail:/opt/bug_ghc_armel# apt remove happy
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  happy
0 upgraded, 0 newly installed, 1 to remove and 1 not upgraded.
After this operation, 2,598 kB disk space will be freed.
Do you want to continue? [Y/n]
(Reading database ... 100878 files and directories currently installed.)
Removing happy (1.19.9-6+armel0) ...
Processing triggers for man-db (2.7.6.1-2) ...
drakestail:/opt/bug_ghc_armel# apt clean
drakestail:/etc/apt/sources.list.d# apt install -t testing happy
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  haskell-doc
The following NEW packages will be installed:
  happy
0 upgraded, 1 newly installed, 0 to remove and 860 not upgraded.
Need to get 528 kB of archives.
After this operation, 2,582 kB of additional disk space will be used.
Get:1 http://ftp.it.debian.org/debian buster/main armel happy armel
1.19.9-6 [528 kB]
Fetched 528 kB in 0s (2,650 kB/s)
Selecting previously unselected package happy.
(Reading database ... 100743 files and directories currently installed.)
Preparing to unpack .../happy_1.19.9-6_armel.deb ...
Unpacking happy (1.19.9-6) ...
Setting up happy (1.19.9-6) ...
Processing triggers for man-db (2.7.6.1-2) ...
drakestail:/etc/apt/sources.list.d# gdb -q -ex 'b *(0x1ab0ac)' -ex
'run' -ex 'x/i $pc' -ex 'quit' --args happy example.y
Reading symbols from happy...(no debugging symbols found)...done.
Breakpoint 1 at 0x1ab0ac
Starting program: /usr/bin/happy example.y
[Thread debugging using libthread_db enabled]
Using host libthread_db library
"/lib/arm-linux-gnueabi/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
0x001addc4 in ?? ()
=> 0x1addc4:uxthr1, r2
A debugging session is active.

Inferior 1 [process 13711] will be killed.

Quit anyway? (y or n) y

Let me know if I can help more.

Best,

Emanuele


On Sun, Jun 16, 2019 at 9:48 PM Paul Gevers  wrote:

> Hi Emanuele,
>
> On 16-06-2019 20:25, Emanuele Olivetti wrote:
> > I've just followed your instructions, downloaded and installed the
> > current happy (and also ghc and the other packages) in the usual way:
> >
> >   dpkg -i 
> >   apt install -f
> >
> > then tested the example files as indicated:
> >
> >   drakestail:/opt/bug_ghc_armel# gdb -q -ex 'b *(0x1ab0ac)' -ex 'run'
> > -ex 'x/i $pc' -ex 'quit' --args happy example.y
> >   Reading symbols from happy...(no debugging symbols found)...done.
> >   Breakpoint 1 at 0x1ab0ac
> >   Starting program: /bin/happy example.y
> >   [Thread debugging using libthread_db enabled]
> >   Using host libthread_db library
> > "/lib/arm-linux-gnueabi/libthread_db.so.1".
> >   [Inferior 1 (process 10654) exited normally]
> >   No registers.
> >
> > Everything works fine!
>
> Can you confirm that it *didn't* work with the version in sid/buster on
> your system?
>
> Paul
>
>


Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-16 Thread Paul Gevers
Hi Emanuele,

On 16-06-2019 20:25, Emanuele Olivetti wrote:
> I've just followed your instructions, downloaded and installed the
> current happy (and also ghc and the other packages) in the usual way:
> 
>   dpkg -i  
>   apt install -f
> 
> then tested the example files as indicated:
> 
>   drakestail:/opt/bug_ghc_armel# gdb -q -ex 'b *(0x1ab0ac)' -ex 'run'
> -ex 'x/i $pc' -ex 'quit' --args happy example.y
>   Reading symbols from happy...(no debugging symbols found)...done.
>   Breakpoint 1 at 0x1ab0ac
>   Starting program: /bin/happy example.y
>   [Thread debugging using libthread_db enabled]
>   Using host libthread_db library
> "/lib/arm-linux-gnueabi/libthread_db.so.1".
>   [Inferior 1 (process 10654) exited normally]
>   No registers.
> 
> Everything works fine!

Can you confirm that it *didn't* work with the version in sid/buster on
your system?

Paul



signature.asc
Description: OpenPGP digital signature


Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-16 Thread Emanuele Olivetti
Dear Ililas and Paul,

Thank you for your great work.

I've just followed your instructions, downloaded and installed the current
happy (and also ghc and the other packages) in the usual way:

  dpkg -i 
  apt install -f

then tested the example files as indicated:

  drakestail:/opt/bug_ghc_armel# gdb -q -ex 'b *(0x1ab0ac)' -ex 'run' -ex
'x/i $pc' -ex 'quit' --args happy example.y
  Reading symbols from happy...(no debugging symbols found)...done.
  Breakpoint 1 at 0x1ab0ac
  Starting program: /bin/happy example.y
  [Thread debugging using libthread_db enabled]
  Using host libthread_db library
"/lib/arm-linux-gnueabi/libthread_db.so.1".
  [Inferior 1 (process 10654) exited normally]
  No registers.

Everything works fine!
Please find attached the resulting example.hs.

Moreover "objdump -d /bin/happy |grep  uxth" returns nothing, as expected.

Hashes of the downloaded files:

  drakestail:/opt/bug_ghc_armel# sha256sum *.deb example.*
  5d8dae44d79545aeee34755baa6c51ffe80db8309051978aaa9ac8857d6efde9
 ghc_8.4.4+dfsg1-2+armel0_armel.deb
  bffaf0957deb767d75e251f92dd8a59c6277c5b986241219fbb26ea3400284fa
 ghc-doc_8.4.4+dfsg1-2+armel0_all.deb
  8fde49d87ad410ae5fec77ac89af4da11f4a2dd0924f0085a2f5f9c6e93fc09c
 ghc-prof_8.4.4+dfsg1-2+armel0_armel.deb
  c560c02e7369c08de18f7151bcb53245a1c7f4ab83e9c07265beef7ca0e24921
 happy_1.19.9-6+armel0_armel.deb
  499108b544ad71ae4e801d05910dbc46b6701bac9f33eba5f58ab68f92541a58
 example.hs
  7b2f0a55e15e3db4188cde1410b1b21bcefeb092b2bc2f44bc95612bf7c60457
 example.y

Thanks again,

Emanuele



On Sat, Jun 15, 2019 at 10:46 AM Paul Gevers  wrote:

> Hi Emanuel,
>
> On 14-06-2019 18:07, Ilias Tsitsimpis wrote:
> > I have uploaded both ghc and happy here, in case you need Emanuele to
> > verify that the current version of happy fails, whereas the new one
> > works:
> >
> > https://www.iliastsi.net/ghc/ghc_8.4.4+dfsg1-2+armel0_armel.deb
> >   sha256:
> 5d8dae44d79545aeee34755baa6c51ffe80db8309051978aaa9ac8857d6efde9
> > https://www.iliastsi.net/ghc/ghc-doc_8.4.4+dfsg1-2+armel0_all.deb
> >   sha256:
> bffaf0957deb767d75e251f92dd8a59c6277c5b986241219fbb26ea3400284fa
> > https://www.iliastsi.net/ghc/ghc-prof_8.4.4+dfsg1-2+armel0_armel.deb
> >   sha256:
> 8fde49d87ad410ae5fec77ac89af4da11f4a2dd0924f0085a2f5f9c6e93fc09c
> > https://www.iliastsi.net/ghc/happy_1.19.9-6+armel0_armel.deb
> >   sha256:
> c560c02e7369c08de18f7151bcb53245a1c7f4ab83e9c07265beef7ca0e24921
>
> Could you please do the check that Ilias proposes? I.e. install the
> current happy and run it on the example code and see that it fails.
> Install the package from Ilias and see that it works?
>
> > So, it seems that the proposed patch does indeed resolve the issue.
>
> I agree with you, however I'd like to see the results of the check by
> Emanuele.
>
> > Unfortunately, I cannot provide any guarantee that it will not introduce
> > any bugs that weren't there before, but I believe the only way to find
> > out is to upload a fixed version of GHC on unstable and schedule the
> > required binNMUs. If all of them succeed, we can then unblock them.
>
> Guarantees like that have very little value. We are trying to weight the
> risk versus the gain. Please go ahead if and when Emanuele reports
> positive results.
>
> Paul
>
>
{-# OPTIONS_GHC -w #-}
module Main where
import qualified Data.Array as Happy_Data_Array
import qualified Data.Bits as Bits
import Control.Applicative(Applicative(..))
import Control.Monad (ap)

-- parser produced by Happy Version 1.19.9

data HappyAbsSyn t4 t5 t6 t7
	= HappyTerminal (Token)
	| HappyErrorToken Int
	| HappyAbsSyn4 t4
	| HappyAbsSyn5 t5
	| HappyAbsSyn6 t6
	| HappyAbsSyn7 t7

happyExpList :: Happy_Data_Array.Array Int Int
happyExpList = Happy_Data_Array.listArray (0,49) ([1664,1025,0,1,0,768,24576,0,0,0,0,2100,32768,3072,24578,16,131,1048,256,1664,1,6,48,0,0,0,1024,53248,32,0,0
	])

{-# NOINLINE happyExpListPerState #-}
happyExpListPerState st =
token_strs_expected
  where token_strs = ["error","%dummy","%start_calc","Exp","Exp1","Term","Factor","let","in","int","var","'='","'+'","'-'","'*'","'/'","'('","')'","%eof"]
bit_start = st * 19
bit_end = (st + 1) * 19
read_bit = readArrayBit happyExpList
bits = map read_bit [bit_start..bit_end - 1]
bits_indexed = zip bits [0..18]
token_strs_expected = concatMap f bits_indexed
f (False, _) = []
f (True, nr) = [token_strs !! nr]

action_0 (8) = happyShift action_2
action_0 (10) = happyShift action_7
action_0 (11) = happyShift action_8
action_0 (17) = happyShift action_9
action_0 (4) = happyGoto action_3
action_0 (5) = happyGoto action_4
action_0 (6) = happyGoto action_5
action_0 (7) = happyGoto action_6
action_0 _ = happyFail (happyExpListPerState 0)

action_1 (8) = happyShift action_2
action_1 _ = happyFail (happyExpListPerState 1)

action_2 (11) = happyShift action_15
action_2 _ = happyFail (happyExpListPerState 2)

action_3 (19) = happyAccept

Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-15 Thread Paul Gevers
Hi Emanuel,

On 14-06-2019 18:07, Ilias Tsitsimpis wrote:
> I have uploaded both ghc and happy here, in case you need Emanuele to
> verify that the current version of happy fails, whereas the new one
> works:
> 
> https://www.iliastsi.net/ghc/ghc_8.4.4+dfsg1-2+armel0_armel.deb
>   sha256: 
> 5d8dae44d79545aeee34755baa6c51ffe80db8309051978aaa9ac8857d6efde9 
> https://www.iliastsi.net/ghc/ghc-doc_8.4.4+dfsg1-2+armel0_all.deb
>   sha256: bffaf0957deb767d75e251f92dd8a59c6277c5b986241219fbb26ea3400284fa
> https://www.iliastsi.net/ghc/ghc-prof_8.4.4+dfsg1-2+armel0_armel.deb
>   sha256: 8fde49d87ad410ae5fec77ac89af4da11f4a2dd0924f0085a2f5f9c6e93fc09c
> https://www.iliastsi.net/ghc/happy_1.19.9-6+armel0_armel.deb
>   sha256: c560c02e7369c08de18f7151bcb53245a1c7f4ab83e9c07265beef7ca0e24921

Could you please do the check that Ilias proposes? I.e. install the
current happy and run it on the example code and see that it fails.
Install the package from Ilias and see that it works?

> So, it seems that the proposed patch does indeed resolve the issue.

I agree with you, however I'd like to see the results of the check by
Emanuele.

> Unfortunately, I cannot provide any guarantee that it will not introduce
> any bugs that weren't there before, but I believe the only way to find
> out is to upload a fixed version of GHC on unstable and schedule the
> required binNMUs. If all of them succeed, we can then unblock them.

Guarantees like that have very little value. We are trying to weight the
risk versus the gain. Please go ahead if and when Emanuele reports
positive results.

Paul



signature.asc
Description: OpenPGP digital signature


Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-14 Thread Ilias Tsitsimpis
Hi again,

Sorry for the late reply. Hopefully we can still fix this.

On Sat, Jun 08, 2019 at 10:35PM, Paul Gevers wrote:
> I *think* we could also binNMU in experimental. And we could just try a
> couple of packages that you know that won't work right now.

I tried to find a package which has as fewer Haskell dependencies as
possible and found happy, which build-depends only on ghc.

The current version of happy on ARMEL is broken:

objdump -d /usr/bin/happy |grep  uxth
  15c0ac:   e6ff1072uxthr1, r2
  15c184:   e6ff2073uxthr2, r3
  1ab0ac:   e6ff107euxthr1, lr
  1ab0e8:   e6ff1073uxthr1, r3
  1ab158:   e6ff107euxthr1, lr
  1ab19c:   e6ff1073uxthr1, r3
  ...

(notice that the UXTH command is supported only on ARMv6 or later [1])

[1] http://infocenter.arm.com/help/topic/com.arm.doc.dui0489i/CIHHJCFE.html

and I can trigger the above instruction with:

$ gdb -q -ex 'b *(0x1ab0ac)' -ex 'run' -ex 'x/i $pc' -ex 'quit' --args 
happy example.y
Reading symbols from happy...(no debugging symbols found)...done.
Breakpoint 1 at 0x1ab0ac
Starting program: /usr/bin/happy example.y
[Thread debugging using libthread_db enabled]
Using host libthread_db library 
"/lib/arm-linux-gnueabi/libthread_db.so.1".

Breakpoint 1, 0x001ab0ac in ?? ()
=> 0x1ab0ac:uxthr1, lr
A debugging session is active.

Inferior 1 [process 29559] will be killed.

Quit anyway? (y or n) y

As input, I used the attached example taken from [2].

[2] https://www.haskell.org/happy/doc/html/sec-using.html

I then rebuild ghc with the proposed patch on abel, and used that to
rebuild happy. The final binary does not contain the UXTH instruction.

I have uploaded both ghc and happy here, in case you need Emanuele to
verify that the current version of happy fails, whereas the new one
works:

https://www.iliastsi.net/ghc/ghc_8.4.4+dfsg1-2+armel0_armel.deb
  sha256: 5d8dae44d79545aeee34755baa6c51ffe80db8309051978aaa9ac8857d6efde9 
https://www.iliastsi.net/ghc/ghc-doc_8.4.4+dfsg1-2+armel0_all.deb
  sha256: bffaf0957deb767d75e251f92dd8a59c6277c5b986241219fbb26ea3400284fa
https://www.iliastsi.net/ghc/ghc-prof_8.4.4+dfsg1-2+armel0_armel.deb
  sha256: 8fde49d87ad410ae5fec77ac89af4da11f4a2dd0924f0085a2f5f9c6e93fc09c
https://www.iliastsi.net/ghc/happy_1.19.9-6+armel0_armel.deb
  sha256: c560c02e7369c08de18f7151bcb53245a1c7f4ab83e9c07265beef7ca0e24921

So, it seems that the proposed patch does indeed resolve the issue.
Unfortunately, I cannot provide any guarantee that it will not introduce
any bugs that weren't there before, but I believe the only way to find
out is to upload a fixed version of GHC on unstable and schedule the
required binNMUs. If all of them succeed, we can then unblock them.

-- 
Ilias
{
module Main where
}

%name calc
%tokentype { Token }
%error { parseError }

%token 
  let { TokenLet }
  in  { TokenIn }
  int { TokenInt $$ }
  var { TokenVar $$ }
  '=' { TokenEq }
  '+' { TokenPlus }
  '-' { TokenMinus }
  '*' { TokenTimes }
  '/' { TokenDiv }
  '(' { TokenOB }
  ')' { TokenCB }

%%

Exp   : let var '=' Exp in Exp  { Let $2 $4 $6 }
  | Exp1{ Exp1 $1 }

Exp1  : Exp1 '+' Term   { Plus $1 $3 }
  | Exp1 '-' Term   { Minus $1 $3 }
  | Term{ Term $1 }

Term  : Term '*' Factor { Times $1 $3 }
  | Term '/' Factor { Div $1 $3 }
  | Factor  { Factor $1 }

Factor
  : int { Int $1 }
  | var { Var $1 }
  | '(' Exp ')' { Brack $2 }

{

parseError :: [Token] -> a
parseError _ = error "Parse error"

data Exp  
  = Let String Exp Exp
  | Exp1 Exp1
  deriving Show

data Exp1 
  = Plus Exp1 Term 
  | Minus Exp1 Term 
  | Term Term
  deriving Show

data Term 
  = Times Term Factor 
  | Div Term Factor 
  | Factor Factor
  deriving Show

data Factor 
  = Int Int 
  | Var String 
  | Brack Exp
  deriving Show

data Token
  = TokenLet
  | TokenIn
  | TokenInt Int
  | TokenVar String
  | TokenEq
  | TokenPlus
  | TokenMinus
  | TokenTimes
  | TokenDiv
  | TokenOB
  | TokenCB
 deriving Show


lexer :: String -> [Token]
lexer [] = []
lexer (c:cs) 
  | isSpace c = lexer cs
  | isAlpha c = lexVar (c:cs)
  | isDigit c = lexNum (c:cs)
lexer ('=':cs) = TokenEq : lexer cs
lexer ('+':cs) = TokenPlus : lexer cs
lexer ('-':cs) = TokenMinus : lexer cs
lexer ('*':cs) = TokenTimes : lexer cs
lexer ('/':cs) = 

Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-08 Thread Paul Gevers
Hi,

On 08-06-2019 22:11, Ilias Tsitsimpis wrote:
> It is a bit big, but if everything goes well, it should be painless
> (i.e., just schedule the binNMUs).

And unblock all of them, yes. And hope that with the rebuild we're not
introducing bugs in one of these packages that weren't there before.

> On Fri, Jun 07, 2019 at 07:55PM, Paul Gevers wrote:
>> Maybe use experimental for this run then? Or debomatic (which I use to
>> compile for my QNAP as well).
> 
> In order to use experimental, we will have to prepare source-full uploads
> for 1017 packages, right?

I *think* we could also binNMU in experimental. And we could just try a
couple of packages that you know that won't work right now.

> I am not familiar with debomatic, could you
> please elaborate on this?

http://debomatic-armel.debian.net/ says: For build account requests
please mail dktrkr...@debian.org. Then one can upload the package there
and rebuild some packages there. A tester (Emanuele) can download the
packages from there, or you could even generate a (temporary) archive on
e.g. people.debian.org like more people do when they call for tests.

Paul



signature.asc
Description: OpenPGP digital signature


Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-08 Thread Ilias Tsitsimpis
Hi Paul,

On Thu, Jun 06, 2019 at 05:06PM, Paul Gevers wrote:
> Am I correct when I say this is no regression? I.e. it has always been
> like that?

I am not sure about this. The current mechanism of using the
llvm-targets file was introduced in version 8.4.1 [1] replacing the
previously hard-coded data layouts. So the faulty Debian patch was
introduced during the buster development cycle.

[1] https://github.com/ghc/ghc/commit/22733532171

> > 2) binNMU on armel, all packages that were built with ghc
> 
> How much are we talking about? This might be a bit big.

$ grep-dctrl -F Build-Depends ghc -s Package \
  /var/lib/apt/lists/deb.debian.org_debian_dists_buster_main_source_Sources \
  | wc -l
1017

It is a bit big, but if everything goes well, it should be painless
(i.e., just schedule the binNMUs).

On Fri, Jun 07, 2019 at 07:55PM, Paul Gevers wrote:
> Maybe use experimental for this run then? Or debomatic (which I use to
> compile for my QNAP as well).

In order to use experimental, we will have to prepare source-full uploads
for 1017 packages, right? I am not familiar with debomatic, could you
please elaborate on this?

Thanks,

-- 
Ilias



Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-07 Thread Paul Gevers
Hi,

On 06-06-2019 23:14, Emanuele Olivetti wrote:
> Indeed it would be too difficult for me to directly apply the proposed
> patch and recompile all the needed packages - my armv5tel machine (QNAP
> TS-219P) is too underpowered for that. For example, I tried to recompile
> git-annex from sources but ran out of memory multiple times: the system
> has just 512Mb.

Maybe use experimental for this run then? Or debomatic (which I use to
compile for my QNAP as well).

Paul



signature.asc
Description: OpenPGP digital signature


Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-06 Thread Emanuele Olivetti
Dear Paul,

Thank you for your reply,

On Thu, Jun 6, 2019 at 5:06 PM Paul Gevers  wrote:

> [...]
> @Emanuele, did you now very that it worked? Or is your message more of
> the type: I can verify it when I have the packages? In that later case,
> is there a chance we can get a verification done before accepting this
> unblock?
> [...]


Indeed, I can verify when I have the packages but I'll need some guidance.

Indeed it would be too difficult for me to directly apply the proposed
patch and recompile all the needed packages - my armv5tel machine (QNAP
TS-219P) is too underpowered for that. For example, I tried to recompile
git-annex from sources but ran out of memory multiple times: the system has
just 512Mb.

Best,

Emanuele


Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-06-06 Thread Paul Gevers
Control: tags -1 moreinfo

Hi Ilias,

On Sun, 12 May 2019 14:40:09 +0300 Ilias Tsitsimpis > Due to a
misconfiguration of ghc, where it uses the 'arm1136jf-s' ARM11
> core family on armel, all Haskell packages are currently miscompiled and
> will only work on a subset of armel machines (the ones that use the
> ARMv6 architecture or newer). This has been reported as #915333.

Am I correct when I say this is no regression? I.e. it has always been
like that?

> 1) Upload ghc/8.4.4+dfsg1-3 to unstable with the following fix:
> 
>   diff --git a/p/ghc/debian/patches/llvm-arm-unknown-linux-gnueabi.patch 
> b/p/ghc/debian/patches/llvm-arm-unknown-linux-gnueabi.patch
>   index 10fe15d0e4..0ac3a43a64 100644
>   --- a/p/ghc/debian/patches/llvm-arm-unknown-linux-gnueabi.patch
>   +++ b/p/ghc/debian/patches/llvm-arm-unknown-linux-gnueabi.patch
>   @@ -8,7 +8,7 @@ Index: b/llvm-targets
> ,("x86_64-unknown-windows", ("e-m:w-i64:64-f80:128-n8:16:32:64-S128", 
> "x86-64", ""))
> ,("arm-unknown-linux-gnueabihf", 
> ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1176jzf-s", 
> "+strict-align"))
> ,("armv6-unknown-linux-gnueabihf", 
> ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1136jf-s", 
> "+strict-align"))
>   -+,("arm-unknown-linux-gnueabi", 
> ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1136jf-s", 
> "+strict-align"))
>   ++,("arm-unknown-linux-gnueabi", 
> ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm7tdmi", "+soft-float 
> -fp-only-sp -d16 -vfp2 -vfp3 -fp16 -vfp4 -fp-armv8 -neon -crypto 
> +strict-align"))
> ,("armv6l-unknown-linux-gnueabihf", 
> ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1176jzf-s", 
> "+strict-align"))
> ,("armv7-unknown-linux-gnueabihf", 
> ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", ""))
> ,("armv7a-unknown-linux-gnueabi", 
> ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", ""))

Which seems acceptable at a glance.

> 2) binNMU on armel, all packages that were built with ghc

How much are we talking about? This might be a bit big.

> Please note that I do not have the means to verify that the above fix is
> working (other than asking the bug reporter to test git-annex after step
> 2 has been completed), since our armel buildds/porterboxes are based on
> ARM v7 (this is why our tests run successfully on buildds and we didn't
> catch this earlier).

@Emanuele, did you now very that it worked? Or is your message more of
the type: I can verify it when I have the packages? In that later case,
is there a chance we can get a verification done before accepting this
unblock?

> How should we proceed? Do you think this is something worth fixing
> before releasing buster?

Not sure. And sorry for the delayed response.

Paul



signature.asc
Description: OpenPGP digital signature


Bug#928882: unblock: [pre-approval] ghc/8.4.4+dfsg1-3

2019-05-12 Thread Ilias Tsitsimpis
Package: release.debian.org
Severity: normal
User: release.debian@packages.debian.org
Usertags: unblock

Due to a misconfiguration of ghc, where it uses the 'arm1136jf-s' ARM11
core family on armel, all Haskell packages are currently miscompiled and
will only work on a subset of armel machines (the ones that use the
ARMv6 architecture or newer). This has been reported as #915333.

[#915333] https://bugs.debian.org/915333

In order to fix the above bug for buster, we have to:

1) Upload ghc/8.4.4+dfsg1-3 to unstable with the following fix:

diff --git a/p/ghc/debian/patches/llvm-arm-unknown-linux-gnueabi.patch 
b/p/ghc/debian/patches/llvm-arm-unknown-linux-gnueabi.patch
index 10fe15d0e4..0ac3a43a64 100644
--- a/p/ghc/debian/patches/llvm-arm-unknown-linux-gnueabi.patch
+++ b/p/ghc/debian/patches/llvm-arm-unknown-linux-gnueabi.patch
@@ -8,7 +8,7 @@ Index: b/llvm-targets
  ,("x86_64-unknown-windows", ("e-m:w-i64:64-f80:128-n8:16:32:64-S128", 
"x86-64", ""))
  ,("arm-unknown-linux-gnueabihf", 
("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1176jzf-s", 
"+strict-align"))
  ,("armv6-unknown-linux-gnueabihf", 
("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1136jf-s", 
"+strict-align"))
-+,("arm-unknown-linux-gnueabi", 
("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1136jf-s", 
"+strict-align"))
++,("arm-unknown-linux-gnueabi", 
("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm7tdmi", "+soft-float 
-fp-only-sp -d16 -vfp2 -vfp3 -fp16 -vfp4 -fp-armv8 -neon -crypto 
+strict-align"))
  ,("armv6l-unknown-linux-gnueabihf", 
("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "arm1176jzf-s", 
"+strict-align"))
  ,("armv7-unknown-linux-gnueabihf", 
("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", ""))
  ,("armv7a-unknown-linux-gnueabi", 
("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "generic", ""))

2) binNMU on armel, all packages that were built with ghc

3) unblock ghc and binNMU-ed packages

Please note that I do not have the means to verify that the above fix is
working (other than asking the bug reporter to test git-annex after step
2 has been completed), since our armel buildds/porterboxes are based on
ARM v7 (this is why our tests run successfully on buildds and we didn't
catch this earlier).

How should we proceed? Do you think this is something worth fixing
before releasing buster?

-- 
Ilias