~mvo/snapd/+git/snapd-mvo:no-pie-on-armhf

Last commit made on 2019-04-11
Get this branch:
git clone -b no-pie-on-armhf https://git.launchpad.net/~mvo/snapd/+git/snapd-mvo

Branch merges

Branch information

Name:
no-pie-on-armhf
Repository:
lp:~mvo/snapd/+git/snapd-mvo

Recent commits

15359e6... by Michael Vogt

packaging: rework disable of -buildmode=pie on 32bit systems

Use the dpkg-architecture command to determine if the system
is 32bit and if so do *not* use -buildmode=pie. Also update
the test to look at 32/64 bit instead of using `uname -m`.

e4104e5... by Michael Vogt

ubuntu: disable -buildmode=pie on armhf to fix memory issue

This PR disables -buildmode=pie on ARM only and leaves it
on for the other arches (for now).

Building go binaries with -buildmode=pie causes issue on ARM
32bit boards. This was originally reported by a customer and
tracked in LP #1822738.

The issue is that the new GC in 1.7+ allocates a large chunk
of memory (>150Mb in our case) on ARM systems when using
buildmode=pie on the low-memory system where this was observed.

The following happens:
1. We build snap/snapd with -buildmode=pie
2. There is a bug in the malloc.go code in 1.10
3. Because the board this runs on has too little ram the kernel
   relocates it from a relatively low memory start address to a pretty
   high one. Because the GO memory system assumes it initially owns
   all the memory from the point where it start to the start it creates
   a huge GC bitmap memory region.
4. Because the pi2 does have enough ram the kernel does not relocate it
   so we cannot observe the error there.

Using -buildmode=pie is not super important on GO according to
one of the authors:
https://groups.google.com/forum/#!topic/golang-nuts/Jd9tlNc6jUE

The relevant LP bug:
https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1822738

1e76aa8... by Paweł Stołowski

Merge pull request #6698 from stolowski/hotplug-key

overlord/ifacestate: introduce HotplugKey type use short key in change summaries

376dc0a... by Paweł Stołowski

Use unicode for ... for HotplugKey and also for HotplugDeviceInfo.

3793507... by Michael Vogt

Merge pull request #6577 from mvo5/remodel-v0-download-install-ordering

many: make Remodel() download everything first before installing

c815495... by Michael Vogt

state: fix typo

76ef0cc... by Michael Vogt

devicestate: improve/simplify extractDownloadInstallEdgesFromTs

This also adds error checking. Thanks to Zyga for the review feedback.

73075df... by Michael Vogt

snapstate: make DownloadAndChecksDoneEdge const

615d13f... by Michael Vogt

devicestate: improve comments from review feedback

018eddb... by Zygmunt Krynicki

Merge pull request #6702 from zyga/fix/refresh-app-awareness-test

tests: fixes discovered debugging refresh-app-awareness