summaryrefslogtreecommitdiff
path: root/pcr/xen
diff options
context:
space:
mode:
authorIsaac David <isacdaavid@isacdaavid.info>2017-07-11 20:16:53 -0500
committerIsaac David <isacdaavid@isacdaavid.info>2017-07-11 20:16:53 -0500
commit0456c137959a8ff1c896eeb7e9ac969b0ee27dfa (patch)
tree28e6ad186600e6e968d040d36aa72c78c249cb14 /pcr/xen
parent61badd1737ca9d9efce8ddc8a62dc10796d7f684 (diff)
downloadabslibre-0456c137959a8ff1c896eeb7e9ac969b0ee27dfa.tar.gz
abslibre-0456c137959a8ff1c896eeb7e9ac969b0ee27dfa.tar.bz2
abslibre-0456c137959a8ff1c896eeb7e9ac969b0ee27dfa.zip
pcr/xen: curlean slip
thank goodness Piwik and Gitlab are free. nothing of importance was copied anyway.
Diffstat (limited to 'pcr/xen')
-rw-r--r--pcr/xen/PKGBUILD6
-rw-r--r--pcr/xen/patch-gcc7-minios-udivmod.patch446
-rw-r--r--pcr/xen/patch-gcc7-vtpm-implicit-fallthrough.patch461
-rw-r--r--pcr/xen/patch-gcc7-vtpmmgr-make-inline-static.patch1570
4 files changed, 1237 insertions, 1246 deletions
diff --git a/pcr/xen/PKGBUILD b/pcr/xen/PKGBUILD
index c52c13c2f..52eb1f402 100644
--- a/pcr/xen/PKGBUILD
+++ b/pcr/xen/PKGBUILD
@@ -211,9 +211,9 @@ sha256sums=(
'2be4efb8be044c9b2459d09f5a6390fecb218ed4cb38964bce0674882817b91a'
'db21442e38be53d342c7574c7c17fb8ce45e57c11dd1ad99e60641ea4061653b'
'9135c1ca7aed28a86afc7a0feb2930bd95b4fabf865dd368e8912cc77d38fb33'
- '826cc633cd1a5b5ae88f50c3d94647a4a108747e946c398eb88f1dcc069be2b8'
- 'e5328145563a0e9a5f118f6d7b68468dca04d14bf97ab5699bf99d7d8b966f12'
- 'c2b004ad976c050ec19986cbca6586d2c137959f11a0c3494146a4ccb1e5f9d4'
+ '0ce9de822712e2b538dc144ba23b584970ac73b327277917b4afaa321c5b4b0c'
+ '5727d42575dfac1870d235fab23b8a230857cfdf44372bc1d98bb6384b752367'
+ 'b6fa5bff89242719b20747d7eb197d0aeb59f8a89e841137f0b0cab17de20686'
#pkgbuild files
'330bcc5ab22e982d37495b57176d306353c220fec7c2b6c4a78a9133382a623e'
diff --git a/pcr/xen/patch-gcc7-minios-udivmod.patch b/pcr/xen/patch-gcc7-minios-udivmod.patch
index 8b67c3415..868e63c20 100644
--- a/pcr/xen/patch-gcc7-minios-udivmod.patch
+++ b/pcr/xen/patch-gcc7-minios-udivmod.patch
@@ -1,415 +1,31 @@
-<!DOCTYPE html>
-<html class="" lang="en">
-<head prefix="og: http://ogp.me/ns#">
-<meta charset="utf-8">
-<meta content="IE=edge" http-equiv="X-UA-Compatible">
-<meta content="object" property="og:type">
-<meta content="GitLab" property="og:site_name">
-<meta content="patch-gcc7-minios-udivmod.patch · master · John Thomson / aur-xen" property="og:title">
-<meta content="Arch Linux PKGBUILD for Xen Project http://www.xenproject.org/ http://xenbits.xen.org/xsa/ Build in a clean chroot: https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot" property="og:description">
-<meta content="https://gitlab.com/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="og:image">
-<meta content="https://gitlab.com/johnth/aur-xen/blob/master/patch-gcc7-minios-udivmod.patch" property="og:url">
-<meta content="summary" property="twitter:card">
-<meta content="patch-gcc7-minios-udivmod.patch · master · John Thomson / aur-xen" property="twitter:title">
-<meta content="Arch Linux PKGBUILD for Xen Project http://www.xenproject.org/ http://xenbits.xen.org/xsa/ Build in a clean chroot: https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot" property="twitter:description">
-<meta content="https://gitlab.com/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="twitter:image">
-
-<title>patch-gcc7-minios-udivmod.patch · master · John Thomson / aur-xen · GitLab</title>
-<meta content="Arch Linux PKGBUILD for Xen Project http://www.xenproject.org/ http://xenbits.xen.org/xsa/ Build in a clean chroot: https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot" name="description">
-<link rel="shortcut icon" type="image/x-icon" href="/assets/favicon-075eba76312e8421991a0c1f89a89ee81678bcde72319dd3e8047e2a47cd3a42.ico" id="favicon" />
-<link rel="stylesheet" media="all" href="/assets/application-bf562c36db4b06702ba455fb509cdac15b6f7b5797112e8a3784394849c9bb3b.css" />
-<link rel="stylesheet" media="print" href="/assets/print-87b4ace0db1f79d91e4fe6e74435b66b71d70fee57ffbb72d0fade17374fcc6b.css" />
-
-
-<script>
-//<![CDATA[
-window.gon={};gon.api_version="v4";gon.default_avatar_url="https:\/\/gitlab.com\/assets\/no_avatar-849f9c04a3a0d0cea2424ae97b27447dc64a7dbfae83c036c45b403392f0e8ba.png";gon.max_file_size=10;gon.asset_host=null;gon.relative_url_root="";gon.shortcuts_path="\/help\/shortcuts";gon.user_color_scheme="white";gon.katex_css_url="\/assets\/katex-e46cafe9c3fa73920a7c2c063ee8bb0613e0cf85fd96a3aea25f8419c4bfcfba.css";gon.katex_js_url="\/assets\/katex-04bcf56379fcda0ee7c7a63f71d0fc15ffd2e014d017cd9d51fd6554dfccf40a.js";gon.sentry_dsn="https:\/\/526a2f38a53d44e3a8e69bfa001d1e8b@sentry.gitlap.com\/15";gon.gitlab_url="https:\/\/gitlab.com";gon.revision="44d109d";gon.gitlab_logo="\/assets\/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png";
-//]]>
-</script>
-<script src="/assets/webpack/runtime.1e4f1a3da7dfa5700156.bundle.js"></script>
-<script src="/assets/webpack/common.a208e8b828f4e7f4759b.bundle.js"></script>
-<script src="/assets/webpack/locale.3db4c8eef74bbad2de0a.bundle.js"></script>
-<script src="/assets/webpack/main.7ca17a24789acfd5a781.bundle.js"></script>
-<script src="/assets/webpack/raven.61375d9168165e89d174.bundle.js"></script>
-
-
-<script src="/assets/webpack/blob.0051a361f2a0188b534a.bundle.js"></script>
-
-
-<meta name="csrf-param" content="authenticity_token" />
-<meta name="csrf-token" content="8RFxZYtqx8pd4L1cIzXKym29kayNcTj2Lhj9oIzC6PJRk7gEJAgfhr+lCKa7/qMlWeVGZ25bHDMhLi+a7p3qXA==" />
-<meta content="origin-when-cross-origin" name="referrer">
-<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">
-<meta content="#474D57" name="theme-color">
-<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-5a9cee0e8a51212e70b90c87c12f382c428870c0ff67d1eb034d884b78d2dae7.png" />
-<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-a6eec6aeb9da138e507593b464fdac213047e49d3093fc30e90d9a995df83ba3.png" sizes="76x76" />
-<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-retina-72e2aadf86513a56e050e7f0f2355deaa19cc17ed97bbe5147847f2748e5a3e3.png" sizes="120x120" />
-<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-retina-8ebe416f5313483d9c1bc772b5bbe03ecad52a54eba443e5215a22caed2a16a2.png" sizes="152x152" />
-<link color="rgb(226, 67, 41)" href="/assets/logo-d36b5212042cebc89b96df4bf6ac24e43db316143e89926c0db839ff694d2de4.svg" rel="mask-icon">
-<meta content="/assets/msapplication-tile-1196ec67452f618d39cdd85e2e3a542f76574c071051ae7effbfde01710eb17d.png" name="msapplication-TileImage">
-<meta content="#30353E" name="msapplication-TileColor">
-
-
-<!-- Piwik -->
-<script>
- var _paq = _paq || [];
- _paq.push(['trackPageView']);
- _paq.push(['enableLinkTracking']);
- (function() {
- var u="//piwik.gitlab.com/";
- _paq.push(['setTrackerUrl', u+'piwik.php']);
- _paq.push(['setSiteId', 1]);
- var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
- g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
- })();
-</script>
-<noscript><p><img src="//piwik.gitlab.com/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
-<!-- End Piwik Code -->
-
-
-</head>
-
-<body class="" data-group="" data-page="projects:blob:show" data-project="aur-xen">
-
-
-<header class="navbar navbar-gitlab with-horizontal-nav">
-<div class="navbar-border"></div>
-<a class="sr-only gl-accessibility" href="#content-body" tabindex="1">Skip to content</a>
-<div class="container-fluid">
-<div class="header-content">
-<div class="dropdown global-dropdown">
-<button class="global-dropdown-toggle" data-toggle="dropdown" type="button">
-<span class="sr-only">Toggle navigation</span>
-<i aria-hidden="true" data-hidden="true" class="fa fa-bars"></i>
-</button>
-<div class="dropdown-menu-nav global-dropdown-menu">
-<ul>
-<li class="home"><a title="Projects" class="dashboard-shortcuts-projects" href="/explore"><div class="shortcut-mappings">
-<div class="key">
-<i aria-label="hidden" class="fa fa-arrow-up"></i>
-P
-</div>
-</div>
-<span>
-Projects
-</span>
-</a></li><li class=""><a title="Groups" class="dashboard-shortcuts-groups" href="/explore/groups"><div class="shortcut-mappings">
-<div class="key">
-<i aria-label="hidden" class="fa fa-arrow-up"></i>
-G
-</div>
-</div>
-<span>
-Groups
-</span>
-</a></li><li class=""><a title="Snippets" class="dashboard-shortcuts-snippets" href="/explore/snippets"><div class="shortcut-mappings">
-<div class="key">
-<i aria-label="hidden" class="fa fa-arrow-up"></i>
-S
-</div>
-</div>
-<span>
-Snippets
-</span>
-</a></li><li class="divider"></li>
-<li class=""><a title="Help" href="/help"><span>
-Help
-</span>
-</a></li></ul>
-
-</div>
-</div>
-<div class="header-logo">
-<a class="home" title="Dashboard" id="logo" href="/"><svg width="28" height="28" class="tanuki-logo" viewBox="0 0 36 36">
- <path class="tanuki-shape tanuki-left-ear" fill="#e24329" d="M2 14l9.38 9v-9l-4-12.28c-.205-.632-1.176-.632-1.38 0z"/>
- <path class="tanuki-shape tanuki-right-ear" fill="#e24329" d="M34 14l-9.38 9v-9l4-12.28c.205-.632 1.176-.632 1.38 0z"/>
- <path class="tanuki-shape tanuki-nose" fill="#e24329" d="M18,34.38 3,14 33,14 Z"/>
- <path class="tanuki-shape tanuki-left-eye" fill="#fc6d26" d="M18,34.38 11.38,14 2,14 6,25Z"/>
- <path class="tanuki-shape tanuki-right-eye" fill="#fc6d26" d="M18,34.38 24.62,14 34,14 30,25Z"/>
- <path class="tanuki-shape tanuki-left-cheek" fill="#fca326" d="M2 14L.1 20.16c-.18.565 0 1.2.5 1.56l17.42 12.66z"/>
- <path class="tanuki-shape tanuki-right-cheek" fill="#fca326" d="M34 14l1.9 6.16c.18.565 0 1.2-.5 1.56L18 34.38z"/>
-</svg>
-
-</a></div>
-<div class="title-container">
-<h1 class="title"><a href="/johnth">John Thomson</a> / <a class="project-item-select-holder" href="/johnth/aur-xen">aur-xen</a></h1>
-</div>
-<div class="navbar-collapse collapse">
-<ul class="nav navbar-nav">
-<li class="hidden-sm hidden-xs">
-<div class="has-location-badge search search-form">
-<form class="navbar-form" action="/search" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" /><div class="search-input-container">
-<div class="location-badge">This project</div>
-<div class="search-input-wrap">
-<div class="dropdown" data-url="/search/autocomplete">
-<input type="search" name="search" id="search" placeholder="Search" class="search-input dropdown-menu-toggle no-outline js-search-dashboard-options" spellcheck="false" tabindex="1" autocomplete="off" data-toggle="dropdown" data-issues-path="https://gitlab.com/dashboard/issues" data-mr-path="https://gitlab.com/dashboard/merge_requests" aria-label="Search" />
-<div class="dropdown-menu dropdown-select">
-<div class="dropdown-content"><ul>
-<li>
-<a class="is-focused dropdown-menu-empty-link">
-Loading...
-</a>
-</li>
-</ul>
-</div><div class="dropdown-loading"><i aria-hidden="true" data-hidden="true" class="fa fa-spinner fa-spin"></i></div>
-</div>
-<i class="search-icon"></i>
-<i class="clear-icon js-clear-input"></i>
-</div>
-</div>
-</div>
-<input type="hidden" name="group_id" id="group_id" class="js-search-group-options" />
-<input type="hidden" name="project_id" id="search_project_id" value="870008" class="js-search-project-options" data-project-path="aur-xen" data-name="aur-xen" data-issues-path="/johnth/aur-xen/issues" data-mr-path="/johnth/aur-xen/merge_requests" />
-<input type="hidden" name="search_code" id="search_code" value="true" />
-<input type="hidden" name="repository_ref" id="repository_ref" value="master" />
-
-<div class="search-autocomplete-opts hide" data-autocomplete-path="/search/autocomplete" data-autocomplete-project-id="870008" data-autocomplete-project-ref="master"></div>
-</form></div>
-
-</li>
-<li class="visible-sm-inline-block visible-xs-inline-block">
-<a title="Search" aria-label="Search" data-toggle="tooltip" data-placement="bottom" data-container="body" href="/search"><i aria-hidden="true" data-hidden="true" class="fa fa-search"></i>
-</a></li>
-<li>
-<div>
-<a class="btn btn-sign-in btn-success" href="/users/sign_in?redirect_to_referer=yes">Sign in</a>
-</div>
-</li>
-</ul>
-</div>
-<button class="navbar-toggle" type="button">
-<span class="sr-only">Toggle navigation</span>
-<i aria-hidden="true" data-hidden="true" class="fa fa-ellipsis-v"></i>
-</button>
-<div class="js-dropdown-menu-projects">
-<div class="dropdown-menu dropdown-select dropdown-menu-projects">
-<div class="dropdown-title"><span>Go to a project</span><button class="dropdown-title-button dropdown-menu-close" aria-label="Close" type="button"><i aria-hidden="true" data-hidden="true" class="fa fa-times dropdown-menu-close-icon"></i></button></div>
-<div class="dropdown-input"><input type="search" id="" class="dropdown-input-field" placeholder="Search your projects" autocomplete="off" /><i aria-hidden="true" data-hidden="true" class="fa fa-search dropdown-input-search"></i><i role="button" aria-hidden="true" data-hidden="true" class="fa fa-times dropdown-input-clear js-dropdown-input-clear"></i></div>
-<div class="dropdown-content"></div>
-<div class="dropdown-loading"><i aria-hidden="true" data-hidden="true" class="fa fa-spinner fa-spin"></i></div>
-</div>
-</div>
-
-</div>
-</div>
-</header>
-
-<script>
- var findFileURL = "/johnth/aur-xen/find_file/master";
-</script>
-
-<div class="page-with-sidebar">
-<div class="layout-nav">
-<div class="container-fluid">
-<div class="scrolling-tabs-container">
-<div class="fade-left">
-<i aria-hidden="true" data-hidden="true" class="fa fa-angle-left"></i>
-</div>
-<div class="fade-right">
-<i aria-hidden="true" data-hidden="true" class="fa fa-angle-right"></i>
-</div>
-<ul class="nav-links scrolling-tabs">
-<li class="home"><a title="Project" class="shortcuts-project" href="/johnth/aur-xen"><span>
-Project
-</span>
-</a></li><li class="active"><a title="Repository" class="shortcuts-tree" href="/johnth/aur-xen/tree/master"><span>
-Repository
-</span>
-</a></li><li class=""><a title="Issues" class="shortcuts-issues" href="/johnth/aur-xen/issues"><span>
-Issues
-<span class="badge count issue_counter">1</span>
-</span>
-</a></li><li class=""><a title="Merge Requests" class="shortcuts-merge_requests" href="/johnth/aur-xen/merge_requests"><span>
-Merge Requests
-<span class="badge count merge_counter js-merge-counter">0</span>
-</span>
-</a></li><li class=""><a title="Pipelines" class="shortcuts-pipelines" href="/johnth/aur-xen/pipelines"><span>
-Pipelines
-</span>
-</a></li><li class=""><a title="Wiki" class="shortcuts-wiki" href="/johnth/aur-xen/wikis/home"><span>
-Wiki
-</span>
-</a></li><li class=""><a title="Snippets" class="shortcuts-snippets" href="/johnth/aur-xen/snippets"><span>
-Snippets
-</span>
-</a></li><li class=""><a title="Settings" class="shortcuts-tree" href="/johnth/aur-xen/settings/members"><span>
-Settings
-</span>
-</a></li><li class="hidden">
-<a title="Activity" class="shortcuts-project-activity" href="/johnth/aur-xen/activity"><span>
-Activity
-</span>
-</a></li>
-<li class="hidden">
-<a title="Network" class="shortcuts-network" href="/johnth/aur-xen/network/master">Graph
-</a></li>
-<li class="hidden">
-<a title="Charts" class="shortcuts-repository-charts" href="/johnth/aur-xen/graphs/master/charts">Charts
-</a></li>
-<li class="hidden">
-<a class="shortcuts-new-issue" href="/johnth/aur-xen/issues/new">Create a new issue
-</a></li>
-<li class="hidden">
-<a title="Jobs" class="shortcuts-builds" href="/johnth/aur-xen/-/jobs">Jobs
-</a></li>
-<li class="hidden">
-<a title="Commits" class="shortcuts-commits" href="/johnth/aur-xen/commits/master">Commits
-</a></li>
-<li class="hidden">
-<a title="Issue Boards" class="shortcuts-issue-boards" href="/johnth/aur-xen/boards">Issue Boards</a>
-</li>
-</ul>
-</div>
-
-</div>
-</div>
-<div class="scrolling-tabs-container sub-nav-scroll">
-<div class="fade-left">
-<i aria-hidden="true" data-hidden="true" class="fa fa-angle-left"></i>
-</div>
-<div class="fade-right">
-<i aria-hidden="true" data-hidden="true" class="fa fa-angle-right"></i>
-</div>
-
-<div class="nav-links sub-nav scrolling-tabs">
-<ul class="container-fluid container-limited">
-<li class="active"><a href="/johnth/aur-xen/tree/master">Files
-</a></li><li class=""><a href="/johnth/aur-xen/commits/master">Commits
-</a></li><li class=""><a href="/johnth/aur-xen/branches">Branches
-</a></li><li class=""><a href="/johnth/aur-xen/tags">Tags
-</a></li><li class=""><a href="/johnth/aur-xen/graphs/master">Contributors
-</a></li><li class=""><a href="/johnth/aur-xen/network/master">Graph
-</a></li><li class=""><a href="/johnth/aur-xen/compare?from=master&amp;to=master">Compare
-</a></li><li class=""><a href="/johnth/aur-xen/graphs/master/charts">Charts
-</a></li><li class=""><a href="/johnth/aur-xen/path_locks">Locked Files
-</a></li></ul>
-</div>
-</div>
-
-<div class="content-wrapper page-with-layout-nav page-with-sub-nav">
-<div class="alert-wrapper">
-
-
-<div class="flash-container flash-container-page">
-</div>
-
-
-</div>
-<div class=" ">
-<div class="content" id="content-body">
-
-
-<div class="container-fluid container-limited">
-<div class="tree-holder" id="tree-holder">
-<div class="nav-block">
-<div class="tree-controls">
-<a class="btn btn-grouped shortcuts-find-file" rel="nofollow" href="/johnth/aur-xen/find_file/master"><i aria-hidden="true" data-hidden="true" class="fa fa-search"></i>
-<span>Find file</span>
-</a>
-<div class="btn-group prepend-left-10" role="group"><a class="btn js-blob-blame-link" href="/johnth/aur-xen/blame/master/patch-gcc7-minios-udivmod.patch">Blame</a><a class="btn" href="/johnth/aur-xen/commits/master/patch-gcc7-minios-udivmod.patch">History</a><a class="btn js-data-file-blob-permalink-url" href="/johnth/aur-xen/blob/717dc1c8e32c3c615652f2b40838d1cb12441073/patch-gcc7-minios-udivmod.patch">Permalink</a></div>
-</div>
-<div class="tree-ref-holder">
-<form class="project-refs-form" action="/johnth/aur-xen/refs/switch" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="destination" id="destination" value="blob" />
-<input type="hidden" name="path" id="path" value="patch-gcc7-minios-udivmod.patch" />
-<div class="dropdown">
-<button class="dropdown-menu-toggle js-project-refs-dropdown" type="button" data-toggle="dropdown" data-selected="master" data-ref="master" data-refs-url="/johnth/aur-xen/refs" data-field-name="ref" data-submit-form-on-click="true"><span class="dropdown-toggle-text ">master</span><i aria-hidden="true" data-hidden="true" class="fa fa-chevron-down"></i></button>
-<div class="dropdown-menu dropdown-menu-selectable git-revision-dropdown">
-<div class="dropdown-title"><span>Switch branch/tag</span><button class="dropdown-title-button dropdown-menu-close" aria-label="Close" type="button"><i aria-hidden="true" data-hidden="true" class="fa fa-times dropdown-menu-close-icon"></i></button></div>
-<div class="dropdown-input"><input type="search" id="" class="dropdown-input-field" placeholder="Search branches and tags" autocomplete="off" /><i aria-hidden="true" data-hidden="true" class="fa fa-search dropdown-input-search"></i><i role="button" aria-hidden="true" data-hidden="true" class="fa fa-times dropdown-input-clear js-dropdown-input-clear"></i></div>
-<div class="dropdown-content"></div>
-<div class="dropdown-loading"><i aria-hidden="true" data-hidden="true" class="fa fa-spinner fa-spin"></i></div>
-</div>
-</div>
-</form>
-</div>
-<ul class="breadcrumb repo-breadcrumb">
-<li>
-<a href="/johnth/aur-xen/tree/master">aur-xen
-</a></li>
-<li>
-<a href="/johnth/aur-xen/blob/master/patch-gcc7-minios-udivmod.patch"><strong>patch-gcc7-minios-udivmod.patch</strong>
-</a></li>
-</ul>
-</div>
-
-<div class="info-well hidden-xs">
-<div class="well-segment">
-<ul class="blob-commit-info">
-<li class="commit flex-list js-toggle-container" id="commit-1c8f2873">
-<div class="avatar-cell hidden-xs">
-<a href="mailto:git@johnthomson.fastmail.com.au"><img class="avatar has-tooltip s36 hidden-xs" alt="John Thomson&#39;s avatar" title="John Thomson" data-container="body" src="https://secure.gravatar.com/avatar/676a9943dfc35a8adfb1401efd8eb18c?s=72&amp;d=identicon" /></a>
-</div>
-<div class="commit-detail">
-<div class="commit-content">
-<a class="commit-row-message item-title" href="/johnth/aur-xen/commit/1c8f28733124a3d0a0156137a548426d0e3223c3">Add mini-os gcc7 patch</a>
-<span class="commit-row-message visible-xs-inline">
-&middot;
-1c8f2873
-</span>
-<div class="commiter">
-<a class="commit-author-link has-tooltip" title="git@johnthomson.fastmail.com.au" href="mailto:git@johnthomson.fastmail.com.au">John Thomson</a> committed <time class="js-timeago" title="Jun 27, 2017 6:51am" datetime="2017-06-27T06:51:03Z" data-toggle="tooltip" data-placement="top" data-container="body">Jun 27, 2017</time>
-</div>
-</div>
-<div class="commit-actions flex-row hidden-xs">
-<a class="commit-sha btn btn-transparent" href="/johnth/aur-xen/commit/1c8f28733124a3d0a0156137a548426d0e3223c3">1c8f2873</a>
-<button class="btn btn-clipboard btn-transparent" data-toggle="tooltip" data-placement="bottom" data-container="body" data-title="Copy commit SHA to clipboard" data-clipboard-text="1c8f28733124a3d0a0156137a548426d0e3223c3" type="button" title="Copy commit SHA to clipboard" aria-label="Copy commit SHA to clipboard"><i aria-hidden="true" aria-hidden="true" data-hidden="true" class="fa fa-clipboard"></i></button>
-<a class="btn btn-default" href="/johnth/aur-xen/blob/1c8f28733124a3d0a0156137a548426d0e3223c3/PKGBUILD">Browse File</a>
-</div>
-</div>
-</li>
-
-</ul>
-</div>
-
-</div>
-<div class="blob-content-holder" id="blob-content-holder">
-<article class="file-holder">
-<div class="js-file-title file-title-flex-parent">
-<div class="file-header-content">
-<i aria-hidden="true" data-hidden="true" class="fa fa-file-text-o fa-fw"></i>
-<strong class="file-title-name">
-patch-gcc7-minios-udivmod.patch
-</strong>
-<button class="btn btn-clipboard btn-transparent prepend-left-5" data-toggle="tooltip" data-placement="bottom" data-container="body" data-class="btn-clipboard btn-transparent prepend-left-5" data-title="Copy file path to clipboard" data-clipboard-text="{&quot;text&quot;:&quot;patch-gcc7-minios-udivmod.patch&quot;,&quot;gfm&quot;:&quot;`patch-gcc7-minios-udivmod.patch`&quot;}" type="button" title="Copy file path to clipboard" aria-label="Copy file path to clipboard"><i aria-hidden="true" aria-hidden="true" data-hidden="true" class="fa fa-clipboard"></i></button>
-<small>
-1.3 KB
-</small>
-</div>
-
-<div class="file-actions hidden-xs">
-
-<div class="btn-group" role="group"><button class="btn btn btn-sm js-copy-blob-source-btn" data-toggle="tooltip" data-placement="bottom" data-container="body" data-class="btn btn-sm js-copy-blob-source-btn" data-title="Copy source to clipboard" data-clipboard-target=".blob-content[data-blob-id=&#39;868e63c202da55f461eeb315048afac4ceb1973d&#39;]" type="button" title="Copy source to clipboard" aria-label="Copy source to clipboard"><i aria-hidden="true" aria-hidden="true" data-hidden="true" class="fa fa-clipboard"></i></button><a class="btn btn-sm has-tooltip" target="_blank" rel="noopener noreferrer" title="Open raw" data-container="body" href="/johnth/aur-xen/raw/master/patch-gcc7-minios-udivmod.patch"><i aria-hidden="true" data-hidden="true" class="fa fa-file-code-o"></i></a></div>
-<div class="btn-group" role="group"><a class="btn js-edit-blob btn-sm" href="/johnth/aur-xen/edit/master/patch-gcc7-minios-udivmod.patch">Edit</a></div>
-</div>
-</div>
-
-<script>
- PathLocks.init(
- '/johnth/aur-xen/path_locks/toggle',
- 'patch-gcc7-minios-udivmod.patch'
- );
-</script>
-
-<div class="blob-viewer" data-type="simple" data-url="/johnth/aur-xen/blob/master/patch-gcc7-minios-udivmod.patch?format=json&amp;viewer=simple">
-<div class="text-center prepend-top-default append-bottom-default">
-<i aria-hidden="true" aria-label="Loading content…" class="fa fa-spinner fa-spin fa-2x"></i>
-</div>
-
-</div>
-
-
-</article>
-</div>
-
-</div>
-</div>
-
-</div>
-</div>
-</div>
-</div>
-
-
-</body>
-</html>
-
+gcc7 generates a call to __udivmoddi4 ...
+
+stubdom/mini-os-x86_32-grub/mini-os.o: In function `_strtoll_r':
+stubdom/newlib-x86_32/i686-xen-elf/newlib/libc/stdlib/../../../../../newlib-1.16.0/newlib/libc/stdlib/strtoll_r.c:110: undefined reference to `__udivmoddi4'
+make[2]: *** [Makefile:167: stubdom/mini-os-x86_32-grub/mini-os] Error 1
+
+... which the linker only finds if libgcc.a is provided on the commandline.
+
+Signed-off-by: Olaf Hering <olaf@aepfle.de>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index ef8559b..b9c1336 100644
+--- a/Makefile
++++ b/Makefile
+@@ -162,7 +162,7 @@ $(OBJ_DIR)/arch/x86/minios-x86%.lds: arch/x86/minios-x86.lds.S
+ $(CPP) $(ASFLAGS) -P $< -o $@
+
+ $(OBJ_DIR)/$(TARGET): $(OBJS) $(APP_O) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
+- $(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(APP_O) $(OBJS) $(LDARCHLIB) $(LDLIBS) -o $@.o
++ $(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(APP_O) $(OBJS) $(LDARCHLIB) $(LDLIBS) $$(gcc -print-libgcc-file-name $(CFLAGS)) -o $@.o
+ $(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start $@.o $@.o
+ $(LD) $(LDFLAGS) $(LDFLAGS_FINAL) $@.o $(EXTRA_OBJS) -o $@
+ gzip -f -9 -c $@ >$@.gz
+
+_______________________________________________
+Xen-devel mailing list
+Xen-devel@lists.xen.org
+https://lists.xen.org/xen-devel
diff --git a/pcr/xen/patch-gcc7-vtpm-implicit-fallthrough.patch b/pcr/xen/patch-gcc7-vtpm-implicit-fallthrough.patch
index 69a025942..068752d2d 100644
--- a/pcr/xen/patch-gcc7-vtpm-implicit-fallthrough.patch
+++ b/pcr/xen/patch-gcc7-vtpm-implicit-fallthrough.patch
@@ -1,415 +1,46 @@
-<!DOCTYPE html>
-<html class="" lang="en">
-<head prefix="og: http://ogp.me/ns#">
-<meta charset="utf-8">
-<meta content="IE=edge" http-equiv="X-UA-Compatible">
-<meta content="object" property="og:type">
-<meta content="GitLab" property="og:site_name">
-<meta content="patch-gcc7-vtpm-implicit-fallthrough.patch · master · John Thomson / aur-xen" property="og:title">
-<meta content="Arch Linux PKGBUILD for Xen Project http://www.xenproject.org/ http://xenbits.xen.org/xsa/ Build in a clean chroot: https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot" property="og:description">
-<meta content="https://gitlab.com/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="og:image">
-<meta content="https://gitlab.com/johnth/aur-xen/blob/master/patch-gcc7-vtpm-implicit-fallthrough.patch" property="og:url">
-<meta content="summary" property="twitter:card">
-<meta content="patch-gcc7-vtpm-implicit-fallthrough.patch · master · John Thomson / aur-xen" property="twitter:title">
-<meta content="Arch Linux PKGBUILD for Xen Project http://www.xenproject.org/ http://xenbits.xen.org/xsa/ Build in a clean chroot: https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot" property="twitter:description">
-<meta content="https://gitlab.com/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="twitter:image">
-
-<title>patch-gcc7-vtpm-implicit-fallthrough.patch · master · John Thomson / aur-xen · GitLab</title>
-<meta content="Arch Linux PKGBUILD for Xen Project http://www.xenproject.org/ http://xenbits.xen.org/xsa/ Build in a clean chroot: https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot" name="description">
-<link rel="shortcut icon" type="image/x-icon" href="/assets/favicon-075eba76312e8421991a0c1f89a89ee81678bcde72319dd3e8047e2a47cd3a42.ico" id="favicon" />
-<link rel="stylesheet" media="all" href="/assets/application-bf562c36db4b06702ba455fb509cdac15b6f7b5797112e8a3784394849c9bb3b.css" />
-<link rel="stylesheet" media="print" href="/assets/print-87b4ace0db1f79d91e4fe6e74435b66b71d70fee57ffbb72d0fade17374fcc6b.css" />
-
-
-<script>
-//<![CDATA[
-window.gon={};gon.api_version="v4";gon.default_avatar_url="https:\/\/gitlab.com\/assets\/no_avatar-849f9c04a3a0d0cea2424ae97b27447dc64a7dbfae83c036c45b403392f0e8ba.png";gon.max_file_size=10;gon.asset_host=null;gon.relative_url_root="";gon.shortcuts_path="\/help\/shortcuts";gon.user_color_scheme="white";gon.katex_css_url="\/assets\/katex-e46cafe9c3fa73920a7c2c063ee8bb0613e0cf85fd96a3aea25f8419c4bfcfba.css";gon.katex_js_url="\/assets\/katex-04bcf56379fcda0ee7c7a63f71d0fc15ffd2e014d017cd9d51fd6554dfccf40a.js";gon.sentry_dsn="https:\/\/526a2f38a53d44e3a8e69bfa001d1e8b@sentry.gitlap.com\/15";gon.gitlab_url="https:\/\/gitlab.com";gon.revision="44d109d";gon.gitlab_logo="\/assets\/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png";
-//]]>
-</script>
-<script src="/assets/webpack/runtime.1e4f1a3da7dfa5700156.bundle.js"></script>
-<script src="/assets/webpack/common.a208e8b828f4e7f4759b.bundle.js"></script>
-<script src="/assets/webpack/locale.3db4c8eef74bbad2de0a.bundle.js"></script>
-<script src="/assets/webpack/main.7ca17a24789acfd5a781.bundle.js"></script>
-<script src="/assets/webpack/raven.61375d9168165e89d174.bundle.js"></script>
-
-
-<script src="/assets/webpack/blob.0051a361f2a0188b534a.bundle.js"></script>
-
-
-<meta name="csrf-param" content="authenticity_token" />
-<meta name="csrf-token" content="qEW9hoZcwmhatqIjnyB1YnnuH8hU0Q6f/Eq/KK6gN//Pw6tCW7VaRNbrBqah4D+ouMeeJsDEVk2pH3oDI3xnjg==" />
-<meta content="origin-when-cross-origin" name="referrer">
-<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">
-<meta content="#474D57" name="theme-color">
-<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-5a9cee0e8a51212e70b90c87c12f382c428870c0ff67d1eb034d884b78d2dae7.png" />
-<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-a6eec6aeb9da138e507593b464fdac213047e49d3093fc30e90d9a995df83ba3.png" sizes="76x76" />
-<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-retina-72e2aadf86513a56e050e7f0f2355deaa19cc17ed97bbe5147847f2748e5a3e3.png" sizes="120x120" />
-<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-retina-8ebe416f5313483d9c1bc772b5bbe03ecad52a54eba443e5215a22caed2a16a2.png" sizes="152x152" />
-<link color="rgb(226, 67, 41)" href="/assets/logo-d36b5212042cebc89b96df4bf6ac24e43db316143e89926c0db839ff694d2de4.svg" rel="mask-icon">
-<meta content="/assets/msapplication-tile-1196ec67452f618d39cdd85e2e3a542f76574c071051ae7effbfde01710eb17d.png" name="msapplication-TileImage">
-<meta content="#30353E" name="msapplication-TileColor">
-
-
-<!-- Piwik -->
-<script>
- var _paq = _paq || [];
- _paq.push(['trackPageView']);
- _paq.push(['enableLinkTracking']);
- (function() {
- var u="//piwik.gitlab.com/";
- _paq.push(['setTrackerUrl', u+'piwik.php']);
- _paq.push(['setSiteId', 1]);
- var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
- g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
- })();
-</script>
-<noscript><p><img src="//piwik.gitlab.com/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
-<!-- End Piwik Code -->
-
-
-</head>
-
-<body class="" data-group="" data-page="projects:blob:show" data-project="aur-xen">
-
-
-<header class="navbar navbar-gitlab with-horizontal-nav">
-<div class="navbar-border"></div>
-<a class="sr-only gl-accessibility" href="#content-body" tabindex="1">Skip to content</a>
-<div class="container-fluid">
-<div class="header-content">
-<div class="dropdown global-dropdown">
-<button class="global-dropdown-toggle" data-toggle="dropdown" type="button">
-<span class="sr-only">Toggle navigation</span>
-<i aria-hidden="true" data-hidden="true" class="fa fa-bars"></i>
-</button>
-<div class="dropdown-menu-nav global-dropdown-menu">
-<ul>
-<li class="home"><a title="Projects" class="dashboard-shortcuts-projects" href="/explore"><div class="shortcut-mappings">
-<div class="key">
-<i aria-label="hidden" class="fa fa-arrow-up"></i>
-P
-</div>
-</div>
-<span>
-Projects
-</span>
-</a></li><li class=""><a title="Groups" class="dashboard-shortcuts-groups" href="/explore/groups"><div class="shortcut-mappings">
-<div class="key">
-<i aria-label="hidden" class="fa fa-arrow-up"></i>
-G
-</div>
-</div>
-<span>
-Groups
-</span>
-</a></li><li class=""><a title="Snippets" class="dashboard-shortcuts-snippets" href="/explore/snippets"><div class="shortcut-mappings">
-<div class="key">
-<i aria-label="hidden" class="fa fa-arrow-up"></i>
-S
-</div>
-</div>
-<span>
-Snippets
-</span>
-</a></li><li class="divider"></li>
-<li class=""><a title="Help" href="/help"><span>
-Help
-</span>
-</a></li></ul>
-
-</div>
-</div>
-<div class="header-logo">
-<a class="home" title="Dashboard" id="logo" href="/"><svg width="28" height="28" class="tanuki-logo" viewBox="0 0 36 36">
- <path class="tanuki-shape tanuki-left-ear" fill="#e24329" d="M2 14l9.38 9v-9l-4-12.28c-.205-.632-1.176-.632-1.38 0z"/>
- <path class="tanuki-shape tanuki-right-ear" fill="#e24329" d="M34 14l-9.38 9v-9l4-12.28c.205-.632 1.176-.632 1.38 0z"/>
- <path class="tanuki-shape tanuki-nose" fill="#e24329" d="M18,34.38 3,14 33,14 Z"/>
- <path class="tanuki-shape tanuki-left-eye" fill="#fc6d26" d="M18,34.38 11.38,14 2,14 6,25Z"/>
- <path class="tanuki-shape tanuki-right-eye" fill="#fc6d26" d="M18,34.38 24.62,14 34,14 30,25Z"/>
- <path class="tanuki-shape tanuki-left-cheek" fill="#fca326" d="M2 14L.1 20.16c-.18.565 0 1.2.5 1.56l17.42 12.66z"/>
- <path class="tanuki-shape tanuki-right-cheek" fill="#fca326" d="M34 14l1.9 6.16c.18.565 0 1.2-.5 1.56L18 34.38z"/>
-</svg>
-
-</a></div>
-<div class="title-container">
-<h1 class="title"><a href="/johnth">John Thomson</a> / <a class="project-item-select-holder" href="/johnth/aur-xen">aur-xen</a></h1>
-</div>
-<div class="navbar-collapse collapse">
-<ul class="nav navbar-nav">
-<li class="hidden-sm hidden-xs">
-<div class="has-location-badge search search-form">
-<form class="navbar-form" action="/search" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" /><div class="search-input-container">
-<div class="location-badge">This project</div>
-<div class="search-input-wrap">
-<div class="dropdown" data-url="/search/autocomplete">
-<input type="search" name="search" id="search" placeholder="Search" class="search-input dropdown-menu-toggle no-outline js-search-dashboard-options" spellcheck="false" tabindex="1" autocomplete="off" data-toggle="dropdown" data-issues-path="https://gitlab.com/dashboard/issues" data-mr-path="https://gitlab.com/dashboard/merge_requests" aria-label="Search" />
-<div class="dropdown-menu dropdown-select">
-<div class="dropdown-content"><ul>
-<li>
-<a class="is-focused dropdown-menu-empty-link">
-Loading...
-</a>
-</li>
-</ul>
-</div><div class="dropdown-loading"><i aria-hidden="true" data-hidden="true" class="fa fa-spinner fa-spin"></i></div>
-</div>
-<i class="search-icon"></i>
-<i class="clear-icon js-clear-input"></i>
-</div>
-</div>
-</div>
-<input type="hidden" name="group_id" id="group_id" class="js-search-group-options" />
-<input type="hidden" name="project_id" id="search_project_id" value="870008" class="js-search-project-options" data-project-path="aur-xen" data-name="aur-xen" data-issues-path="/johnth/aur-xen/issues" data-mr-path="/johnth/aur-xen/merge_requests" />
-<input type="hidden" name="search_code" id="search_code" value="true" />
-<input type="hidden" name="repository_ref" id="repository_ref" value="master" />
-
-<div class="search-autocomplete-opts hide" data-autocomplete-path="/search/autocomplete" data-autocomplete-project-id="870008" data-autocomplete-project-ref="master"></div>
-</form></div>
-
-</li>
-<li class="visible-sm-inline-block visible-xs-inline-block">
-<a title="Search" aria-label="Search" data-toggle="tooltip" data-placement="bottom" data-container="body" href="/search"><i aria-hidden="true" data-hidden="true" class="fa fa-search"></i>
-</a></li>
-<li>
-<div>
-<a class="btn btn-sign-in btn-success" href="/users/sign_in?redirect_to_referer=yes">Sign in</a>
-</div>
-</li>
-</ul>
-</div>
-<button class="navbar-toggle" type="button">
-<span class="sr-only">Toggle navigation</span>
-<i aria-hidden="true" data-hidden="true" class="fa fa-ellipsis-v"></i>
-</button>
-<div class="js-dropdown-menu-projects">
-<div class="dropdown-menu dropdown-select dropdown-menu-projects">
-<div class="dropdown-title"><span>Go to a project</span><button class="dropdown-title-button dropdown-menu-close" aria-label="Close" type="button"><i aria-hidden="true" data-hidden="true" class="fa fa-times dropdown-menu-close-icon"></i></button></div>
-<div class="dropdown-input"><input type="search" id="" class="dropdown-input-field" placeholder="Search your projects" autocomplete="off" /><i aria-hidden="true" data-hidden="true" class="fa fa-search dropdown-input-search"></i><i role="button" aria-hidden="true" data-hidden="true" class="fa fa-times dropdown-input-clear js-dropdown-input-clear"></i></div>
-<div class="dropdown-content"></div>
-<div class="dropdown-loading"><i aria-hidden="true" data-hidden="true" class="fa fa-spinner fa-spin"></i></div>
-</div>
-</div>
-
-</div>
-</div>
-</header>
-
-<script>
- var findFileURL = "/johnth/aur-xen/find_file/master";
-</script>
-
-<div class="page-with-sidebar">
-<div class="layout-nav">
-<div class="container-fluid">
-<div class="scrolling-tabs-container">
-<div class="fade-left">
-<i aria-hidden="true" data-hidden="true" class="fa fa-angle-left"></i>
-</div>
-<div class="fade-right">
-<i aria-hidden="true" data-hidden="true" class="fa fa-angle-right"></i>
-</div>
-<ul class="nav-links scrolling-tabs">
-<li class="home"><a title="Project" class="shortcuts-project" href="/johnth/aur-xen"><span>
-Project
-</span>
-</a></li><li class="active"><a title="Repository" class="shortcuts-tree" href="/johnth/aur-xen/tree/master"><span>
-Repository
-</span>
-</a></li><li class=""><a title="Issues" class="shortcuts-issues" href="/johnth/aur-xen/issues"><span>
-Issues
-<span class="badge count issue_counter">1</span>
-</span>
-</a></li><li class=""><a title="Merge Requests" class="shortcuts-merge_requests" href="/johnth/aur-xen/merge_requests"><span>
-Merge Requests
-<span class="badge count merge_counter js-merge-counter">0</span>
-</span>
-</a></li><li class=""><a title="Pipelines" class="shortcuts-pipelines" href="/johnth/aur-xen/pipelines"><span>
-Pipelines
-</span>
-</a></li><li class=""><a title="Wiki" class="shortcuts-wiki" href="/johnth/aur-xen/wikis/home"><span>
-Wiki
-</span>
-</a></li><li class=""><a title="Snippets" class="shortcuts-snippets" href="/johnth/aur-xen/snippets"><span>
-Snippets
-</span>
-</a></li><li class=""><a title="Settings" class="shortcuts-tree" href="/johnth/aur-xen/settings/members"><span>
-Settings
-</span>
-</a></li><li class="hidden">
-<a title="Activity" class="shortcuts-project-activity" href="/johnth/aur-xen/activity"><span>
-Activity
-</span>
-</a></li>
-<li class="hidden">
-<a title="Network" class="shortcuts-network" href="/johnth/aur-xen/network/master">Graph
-</a></li>
-<li class="hidden">
-<a title="Charts" class="shortcuts-repository-charts" href="/johnth/aur-xen/graphs/master/charts">Charts
-</a></li>
-<li class="hidden">
-<a class="shortcuts-new-issue" href="/johnth/aur-xen/issues/new">Create a new issue
-</a></li>
-<li class="hidden">
-<a title="Jobs" class="shortcuts-builds" href="/johnth/aur-xen/-/jobs">Jobs
-</a></li>
-<li class="hidden">
-<a title="Commits" class="shortcuts-commits" href="/johnth/aur-xen/commits/master">Commits
-</a></li>
-<li class="hidden">
-<a title="Issue Boards" class="shortcuts-issue-boards" href="/johnth/aur-xen/boards">Issue Boards</a>
-</li>
-</ul>
-</div>
-
-</div>
-</div>
-<div class="scrolling-tabs-container sub-nav-scroll">
-<div class="fade-left">
-<i aria-hidden="true" data-hidden="true" class="fa fa-angle-left"></i>
-</div>
-<div class="fade-right">
-<i aria-hidden="true" data-hidden="true" class="fa fa-angle-right"></i>
-</div>
-
-<div class="nav-links sub-nav scrolling-tabs">
-<ul class="container-fluid container-limited">
-<li class="active"><a href="/johnth/aur-xen/tree/master">Files
-</a></li><li class=""><a href="/johnth/aur-xen/commits/master">Commits
-</a></li><li class=""><a href="/johnth/aur-xen/branches">Branches
-</a></li><li class=""><a href="/johnth/aur-xen/tags">Tags
-</a></li><li class=""><a href="/johnth/aur-xen/graphs/master">Contributors
-</a></li><li class=""><a href="/johnth/aur-xen/network/master">Graph
-</a></li><li class=""><a href="/johnth/aur-xen/compare?from=master&amp;to=master">Compare
-</a></li><li class=""><a href="/johnth/aur-xen/graphs/master/charts">Charts
-</a></li><li class=""><a href="/johnth/aur-xen/path_locks">Locked Files
-</a></li></ul>
-</div>
-</div>
-
-<div class="content-wrapper page-with-layout-nav page-with-sub-nav">
-<div class="alert-wrapper">
-
-
-<div class="flash-container flash-container-page">
-</div>
-
-
-</div>
-<div class=" ">
-<div class="content" id="content-body">
-
-
-<div class="container-fluid container-limited">
-<div class="tree-holder" id="tree-holder">
-<div class="nav-block">
-<div class="tree-controls">
-<a class="btn btn-grouped shortcuts-find-file" rel="nofollow" href="/johnth/aur-xen/find_file/master"><i aria-hidden="true" data-hidden="true" class="fa fa-search"></i>
-<span>Find file</span>
-</a>
-<div class="btn-group prepend-left-10" role="group"><a class="btn js-blob-blame-link" href="/johnth/aur-xen/blame/master/patch-gcc7-vtpm-implicit-fallthrough.patch">Blame</a><a class="btn" href="/johnth/aur-xen/commits/master/patch-gcc7-vtpm-implicit-fallthrough.patch">History</a><a class="btn js-data-file-blob-permalink-url" href="/johnth/aur-xen/blob/717dc1c8e32c3c615652f2b40838d1cb12441073/patch-gcc7-vtpm-implicit-fallthrough.patch">Permalink</a></div>
-</div>
-<div class="tree-ref-holder">
-<form class="project-refs-form" action="/johnth/aur-xen/refs/switch" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="destination" id="destination" value="blob" />
-<input type="hidden" name="path" id="path" value="patch-gcc7-vtpm-implicit-fallthrough.patch" />
-<div class="dropdown">
-<button class="dropdown-menu-toggle js-project-refs-dropdown" type="button" data-toggle="dropdown" data-selected="master" data-ref="master" data-refs-url="/johnth/aur-xen/refs" data-field-name="ref" data-submit-form-on-click="true"><span class="dropdown-toggle-text ">master</span><i aria-hidden="true" data-hidden="true" class="fa fa-chevron-down"></i></button>
-<div class="dropdown-menu dropdown-menu-selectable git-revision-dropdown">
-<div class="dropdown-title"><span>Switch branch/tag</span><button class="dropdown-title-button dropdown-menu-close" aria-label="Close" type="button"><i aria-hidden="true" data-hidden="true" class="fa fa-times dropdown-menu-close-icon"></i></button></div>
-<div class="dropdown-input"><input type="search" id="" class="dropdown-input-field" placeholder="Search branches and tags" autocomplete="off" /><i aria-hidden="true" data-hidden="true" class="fa fa-search dropdown-input-search"></i><i role="button" aria-hidden="true" data-hidden="true" class="fa fa-times dropdown-input-clear js-dropdown-input-clear"></i></div>
-<div class="dropdown-content"></div>
-<div class="dropdown-loading"><i aria-hidden="true" data-hidden="true" class="fa fa-spinner fa-spin"></i></div>
-</div>
-</div>
-</form>
-</div>
-<ul class="breadcrumb repo-breadcrumb">
-<li>
-<a href="/johnth/aur-xen/tree/master">aur-xen
-</a></li>
-<li>
-<a href="/johnth/aur-xen/blob/master/patch-gcc7-vtpm-implicit-fallthrough.patch"><strong>patch-gcc7-vtpm-implicit-fallthrough....</strong>
-</a></li>
-</ul>
-</div>
-
-<div class="info-well hidden-xs">
-<div class="well-segment">
-<ul class="blob-commit-info">
-<li class="commit flex-list js-toggle-container" id="commit-e2367dfa">
-<div class="avatar-cell hidden-xs">
-<a href="mailto:git@johnthomson.fastmail.com.au"><img class="avatar has-tooltip s36 hidden-xs" alt="John Thomson&#39;s avatar" title="John Thomson" data-container="body" src="https://secure.gravatar.com/avatar/676a9943dfc35a8adfb1401efd8eb18c?s=72&amp;d=identicon" /></a>
-</div>
-<div class="commit-detail">
-<div class="commit-content">
-<a class="commit-row-message item-title" href="/johnth/aur-xen/commit/e2367dfafa3ccddb4e4897a742bbab469ca7071c">Fix vtpm implicit fallthrough patch</a>
-<span class="commit-row-message visible-xs-inline">
-&middot;
-e2367dfa
-</span>
-<div class="commiter">
-<a class="commit-author-link has-tooltip" title="git@johnthomson.fastmail.com.au" href="mailto:git@johnthomson.fastmail.com.au">John Thomson</a> committed <time class="js-timeago" title="Jun 27, 2017 9:37pm" datetime="2017-06-27T21:37:35Z" data-toggle="tooltip" data-placement="top" data-container="body">Jun 28, 2017</time>
-</div>
-</div>
-<div class="commit-actions flex-row hidden-xs">
-<a class="commit-sha btn btn-transparent" href="/johnth/aur-xen/commit/e2367dfafa3ccddb4e4897a742bbab469ca7071c">e2367dfa</a>
-<button class="btn btn-clipboard btn-transparent" data-toggle="tooltip" data-placement="bottom" data-container="body" data-title="Copy commit SHA to clipboard" data-clipboard-text="e2367dfafa3ccddb4e4897a742bbab469ca7071c" type="button" title="Copy commit SHA to clipboard" aria-label="Copy commit SHA to clipboard"><i aria-hidden="true" aria-hidden="true" data-hidden="true" class="fa fa-clipboard"></i></button>
-<a class="btn btn-default" href="/johnth/aur-xen/blob/e2367dfafa3ccddb4e4897a742bbab469ca7071c/PKGBUILD">Browse File</a>
-</div>
-</div>
-</li>
-
-</ul>
-</div>
-
-</div>
-<div class="blob-content-holder" id="blob-content-holder">
-<article class="file-holder">
-<div class="js-file-title file-title-flex-parent">
-<div class="file-header-content">
-<i aria-hidden="true" data-hidden="true" class="fa fa-file-text-o fa-fw"></i>
-<strong class="file-title-name">
-patch-gcc7-vtpm-implicit-fallthrough.patch
-</strong>
-<button class="btn btn-clipboard btn-transparent prepend-left-5" data-toggle="tooltip" data-placement="bottom" data-container="body" data-class="btn-clipboard btn-transparent prepend-left-5" data-title="Copy file path to clipboard" data-clipboard-text="{&quot;text&quot;:&quot;patch-gcc7-vtpm-implicit-fallthrough.patch&quot;,&quot;gfm&quot;:&quot;`patch-gcc7-vtpm-implicit-fallthrough.patch`&quot;}" type="button" title="Copy file path to clipboard" aria-label="Copy file path to clipboard"><i aria-hidden="true" aria-hidden="true" data-hidden="true" class="fa fa-clipboard"></i></button>
-<small>
-1.91 KB
-</small>
-</div>
-
-<div class="file-actions hidden-xs">
-
-<div class="btn-group" role="group"><button class="btn btn btn-sm js-copy-blob-source-btn" data-toggle="tooltip" data-placement="bottom" data-container="body" data-class="btn btn-sm js-copy-blob-source-btn" data-title="Copy source to clipboard" data-clipboard-target=".blob-content[data-blob-id=&#39;068752d2d1a04828f9b9b2c9112a567717d7b66a&#39;]" type="button" title="Copy source to clipboard" aria-label="Copy source to clipboard"><i aria-hidden="true" aria-hidden="true" data-hidden="true" class="fa fa-clipboard"></i></button><a class="btn btn-sm has-tooltip" target="_blank" rel="noopener noreferrer" title="Open raw" data-container="body" href="/johnth/aur-xen/raw/master/patch-gcc7-vtpm-implicit-fallthrough.patch"><i aria-hidden="true" data-hidden="true" class="fa fa-file-code-o"></i></a></div>
-<div class="btn-group" role="group"><a class="btn js-edit-blob btn-sm" href="/johnth/aur-xen/edit/master/patch-gcc7-vtpm-implicit-fallthrough.patch">Edit</a></div>
-</div>
-</div>
-
-<script>
- PathLocks.init(
- '/johnth/aur-xen/path_locks/toggle',
- 'patch-gcc7-vtpm-implicit-fallthrough.patch'
- );
-</script>
-
-<div class="blob-viewer" data-type="simple" data-url="/johnth/aur-xen/blob/master/patch-gcc7-vtpm-implicit-fallthrough.patch?format=json&amp;viewer=simple">
-<div class="text-center prepend-top-default append-bottom-default">
-<i aria-hidden="true" aria-label="Loading content…" class="fa fa-spinner fa-spin fa-2x"></i>
-</div>
-
-</div>
-
-
-</article>
-</div>
-
-</div>
-</div>
-
-</div>
-</div>
-</div>
-</div>
-
-
-</body>
-</html>
-
+GCC-7 have -Wimplicit-fallthrough enabled with -Wextra. Add appropriate
+comment which both mute the warning and improve readibility.
+
+Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
+---
+ stubdom/Makefile | 1 +
+ stubdom/vtpm-implicit-fallthrough.patch | 10 ++++++++++
+ 2 files changed, 11 insertions(+)
+ create mode 100644 stubdom/vtpm-implicit-fallthrough.patch
+
+diff --git a/stubdom/Makefile b/stubdom/Makefile
+index db01827..5055e31 100644
+--- a/stubdom/Makefile
++++ b/stubdom/Makefile
+@@ -228,6 +228,7 @@ tpm_emulator-$(XEN_TARGET_ARCH): tpm_emulator-$(TPMEMU_VERSION).tar.gz
+ patch -d $@ -p1 < vtpm-deepquote.patch
+ patch -d $@ -p1 < vtpm-deepquote-anyloc.patch
+ patch -d $@ -p1 < vtpm-cmake-Wextra.patch
++ patch -d $@ -p1 < vtpm-implicit-fallthrough.patch
+ mkdir $@/build
+ cd $@/build; CC=${CC} $(CMAKE) .. -DCMAKE_C_FLAGS:STRING="-std=c99 -DTPM_NO_EXTERN $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -Wno-declaration-after-statement"
+ touch $@
+diff --git a/stubdom/vtpm-implicit-fallthrough.patch b/stubdom/vtpm-implicit-fallthrough.patch
+new file mode 100644
+index 0000000..db97be5
+--- /dev/null
++++ b/stubdom/vtpm-implicit-fallthrough.patch
+@@ -0,0 +1,10 @@
++--- tpm_emulator-x86_64/tpm/tpm_cmd_handler.c.orig 2017-04-27 13:37:14.408000000 +0200
+++++ tpm_emulator-x86_64/tpm/tpm_cmd_handler.c 2017-04-27 13:39:53.585000000 +0200
++@@ -3397,6 +3397,7 @@
++ sizeof(rsp->auth2->nonceOdd.nonce));
++ tpm_hmac_update(&hmac, (BYTE*)&rsp->auth2->continueAuthSession, 1);
++ tpm_hmac_final(&hmac, rsp->auth2->auth);
+++ /* fall-thru */
++ case TPM_TAG_RSP_AUTH1_COMMAND:
++ tpm_hmac_init(&hmac, rsp->auth1->secret, sizeof(rsp->auth1->secret));
++ tpm_hmac_update(&hmac, rsp->auth1->digest, sizeof(rsp->auth1->digest));
+--
+2.7.4
+
+
+_______________________________________________
+Xen-devel mailing list
+Xen-devel@lists.xen.org
+https://lists.xen.org/xen-devel
diff --git a/pcr/xen/patch-gcc7-vtpmmgr-make-inline-static.patch b/pcr/xen/patch-gcc7-vtpmmgr-make-inline-static.patch
index 4238d3d66..a2c96691a 100644
--- a/pcr/xen/patch-gcc7-vtpmmgr-make-inline-static.patch
+++ b/pcr/xen/patch-gcc7-vtpmmgr-make-inline-static.patch
@@ -1,417 +1,1161 @@
-<!DOCTYPE html>
-<html class="" lang="en">
-<head prefix="og: http://ogp.me/ns#">
-<meta charset="utf-8">
-<meta content="IE=edge" http-equiv="X-UA-Compatible">
-<meta content="object" property="og:type">
-<meta content="GitLab" property="og:site_name">
-<meta content="patch-gcc7-vtpmmgr-make-inline-static.patch · master · John Thomson / aur-xen" property="og:title">
-<meta content="Arch Linux PKGBUILD for Xen Project http://www.xenproject.org/ http://xenbits.xen.org/xsa/ Build in a clean chroot: https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot" property="og:description">
-<meta content="https://gitlab.com/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="og:image">
-<meta content="https://gitlab.com/johnth/aur-xen/blob/master/patch-gcc7-vtpmmgr-make-inline-static.patch" property="og:url">
-<meta content="summary" property="twitter:card">
-<meta content="patch-gcc7-vtpmmgr-make-inline-static.patch · master · John Thomson / aur-xen" property="twitter:title">
-<meta content="Arch Linux PKGBUILD for Xen Project http://www.xenproject.org/ http://xenbits.xen.org/xsa/ Build in a clean chroot: https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot" property="twitter:description">
-<meta content="https://gitlab.com/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="twitter:image">
+gcc7 is more strict with functions marked as inline. They are not
+automatically inlined. Instead a function call is generated, but the
+actual code is not visible by the linker.
-<title>patch-gcc7-vtpmmgr-make-inline-static.patch · master · John Thomson / aur-xen · GitLab</title>
-<meta content="Arch Linux PKGBUILD for Xen Project http://www.xenproject.org/ http://xenbits.xen.org/xsa/ Build in a clean chroot: https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot" name="description">
-<link rel="shortcut icon" type="image/x-icon" href="/assets/favicon-075eba76312e8421991a0c1f89a89ee81678bcde72319dd3e8047e2a47cd3a42.ico" id="favicon" />
-<link rel="stylesheet" media="all" href="/assets/application-bf562c36db4b06702ba455fb509cdac15b6f7b5797112e8a3784394849c9bb3b.css" />
-<link rel="stylesheet" media="print" href="/assets/print-87b4ace0db1f79d91e4fe6e74435b66b71d70fee57ffbb72d0fade17374fcc6b.css" />
+Do a mechanical change and mark every 'inline' as 'static inline'. For
+simpler review the static goes into an extra line.
+Signed-off-by: Olaf Hering <olaf@aepfle.de>
+---
+ stubdom/vtpmmgr/marshal.h | 76 ++++++++++++++++++++++++++++++++++++++++++
+ stubdom/vtpmmgr/tcg.h | 14 ++++++++
+ stubdom/vtpmmgr/tpm2_marshal.h | 58 ++++++++++++++++++++++++++++++++
+ stubdom/vtpmmgr/tpmrsa.h | 1 +
+ 4 files changed, 149 insertions(+)
-<script>
-//<![CDATA[
-window.gon={};gon.api_version="v4";gon.default_avatar_url="https:\/\/gitlab.com\/assets\/no_avatar-849f9c04a3a0d0cea2424ae97b27447dc64a7dbfae83c036c45b403392f0e8ba.png";gon.max_file_size=10;gon.asset_host=null;gon.relative_url_root="";gon.shortcuts_path="\/help\/shortcuts";gon.user_color_scheme="white";gon.katex_css_url="\/assets\/katex-e46cafe9c3fa73920a7c2c063ee8bb0613e0cf85fd96a3aea25f8419c4bfcfba.css";gon.katex_js_url="\/assets\/katex-04bcf56379fcda0ee7c7a63f71d0fc15ffd2e014d017cd9d51fd6554dfccf40a.js";gon.sentry_dsn="https:\/\/526a2f38a53d44e3a8e69bfa001d1e8b@sentry.gitlap.com\/15";gon.gitlab_url="https:\/\/gitlab.com";gon.revision="44d109d";gon.gitlab_logo="\/assets\/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png";
-//]]>
-</script>
-<script src="/assets/webpack/runtime.1e4f1a3da7dfa5700156.bundle.js"></script>
-<script src="/assets/webpack/common.a208e8b828f4e7f4759b.bundle.js"></script>
-<script src="/assets/webpack/locale.3db4c8eef74bbad2de0a.bundle.js"></script>
-<script src="/assets/webpack/main.7ca17a24789acfd5a781.bundle.js"></script>
-<script src="/assets/webpack/raven.61375d9168165e89d174.bundle.js"></script>
-
-
-<script src="/assets/webpack/blob.0051a361f2a0188b534a.bundle.js"></script>
-
-
-<meta name="csrf-param" content="authenticity_token" />
-<meta name="csrf-token" content="UjqSq8HM/ZyErgTvpLB8ZdX0nRoeDqDV5gNQCpNkkklP5FVeqmYiw8szmtxGjaln+NcSPMiKZzJ03Q6t+Scn2w==" />
-<meta content="origin-when-cross-origin" name="referrer">
-<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">
-<meta content="#474D57" name="theme-color">
-<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-5a9cee0e8a51212e70b90c87c12f382c428870c0ff67d1eb034d884b78d2dae7.png" />
-<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-a6eec6aeb9da138e507593b464fdac213047e49d3093fc30e90d9a995df83ba3.png" sizes="76x76" />
-<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-retina-72e2aadf86513a56e050e7f0f2355deaa19cc17ed97bbe5147847f2748e5a3e3.png" sizes="120x120" />
-<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-retina-8ebe416f5313483d9c1bc772b5bbe03ecad52a54eba443e5215a22caed2a16a2.png" sizes="152x152" />
-<link color="rgb(226, 67, 41)" href="/assets/logo-d36b5212042cebc89b96df4bf6ac24e43db316143e89926c0db839ff694d2de4.svg" rel="mask-icon">
-<meta content="/assets/msapplication-tile-1196ec67452f618d39cdd85e2e3a542f76574c071051ae7effbfde01710eb17d.png" name="msapplication-TileImage">
-<meta content="#30353E" name="msapplication-TileColor">
-
-
-<!-- Piwik -->
-<script>
- var _paq = _paq || [];
- _paq.push(['trackPageView']);
- _paq.push(['enableLinkTracking']);
- (function() {
- var u="//piwik.gitlab.com/";
- _paq.push(['setTrackerUrl', u+'piwik.php']);
- _paq.push(['setSiteId', 1]);
- var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
- g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
- })();
-</script>
-<noscript><p><img src="//piwik.gitlab.com/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
-<!-- End Piwik Code -->
-
-
-</head>
-
-<body class="" data-group="" data-page="projects:blob:show" data-project="aur-xen">
-
-
-<header class="navbar navbar-gitlab with-horizontal-nav">
-<div class="navbar-border"></div>
-<a class="sr-only gl-accessibility" href="#content-body" tabindex="1">Skip to content</a>
-<div class="container-fluid">
-<div class="header-content">
-<div class="dropdown global-dropdown">
-<button class="global-dropdown-toggle" data-toggle="dropdown" type="button">
-<span class="sr-only">Toggle navigation</span>
-<i aria-hidden="true" data-hidden="true" class="fa fa-bars"></i>
-</button>
-<div class="dropdown-menu-nav global-dropdown-menu">
-<ul>
-<li class="home"><a title="Projects" class="dashboard-shortcuts-projects" href="/explore"><div class="shortcut-mappings">
-<div class="key">
-<i aria-label="hidden" class="fa fa-arrow-up"></i>
-P
-</div>
-</div>
-<span>
-Projects
-</span>
-</a></li><li class=""><a title="Groups" class="dashboard-shortcuts-groups" href="/explore/groups"><div class="shortcut-mappings">
-<div class="key">
-<i aria-label="hidden" class="fa fa-arrow-up"></i>
-G
-</div>
-</div>
-<span>
-Groups
-</span>
-</a></li><li class=""><a title="Snippets" class="dashboard-shortcuts-snippets" href="/explore/snippets"><div class="shortcut-mappings">
-<div class="key">
-<i aria-label="hidden" class="fa fa-arrow-up"></i>
-S
-</div>
-</div>
-<span>
-Snippets
-</span>
-</a></li><li class="divider"></li>
-<li class=""><a title="Help" href="/help"><span>
-Help
-</span>
-</a></li></ul>
-
-</div>
-</div>
-<div class="header-logo">
-<a class="home" title="Dashboard" id="logo" href="/"><svg width="28" height="28" class="tanuki-logo" viewBox="0 0 36 36">
- <path class="tanuki-shape tanuki-left-ear" fill="#e24329" d="M2 14l9.38 9v-9l-4-12.28c-.205-.632-1.176-.632-1.38 0z"/>
- <path class="tanuki-shape tanuki-right-ear" fill="#e24329" d="M34 14l-9.38 9v-9l4-12.28c.205-.632 1.176-.632 1.38 0z"/>
- <path class="tanuki-shape tanuki-nose" fill="#e24329" d="M18,34.38 3,14 33,14 Z"/>
- <path class="tanuki-shape tanuki-left-eye" fill="#fc6d26" d="M18,34.38 11.38,14 2,14 6,25Z"/>
- <path class="tanuki-shape tanuki-right-eye" fill="#fc6d26" d="M18,34.38 24.62,14 34,14 30,25Z"/>
- <path class="tanuki-shape tanuki-left-cheek" fill="#fca326" d="M2 14L.1 20.16c-.18.565 0 1.2.5 1.56l17.42 12.66z"/>
- <path class="tanuki-shape tanuki-right-cheek" fill="#fca326" d="M34 14l1.9 6.16c.18.565 0 1.2-.5 1.56L18 34.38z"/>
-</svg>
-
-</a></div>
-<div class="title-container">
-<h1 class="title"><a href="/johnth">John Thomson</a> / <a class="project-item-select-holder" href="/johnth/aur-xen">aur-xen</a></h1>
-</div>
-<div class="navbar-collapse collapse">
-<ul class="nav navbar-nav">
-<li class="hidden-sm hidden-xs">
-<div class="has-location-badge search search-form">
-<form class="navbar-form" action="/search" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" /><div class="search-input-container">
-<div class="location-badge">This project</div>
-<div class="search-input-wrap">
-<div class="dropdown" data-url="/search/autocomplete">
-<input type="search" name="search" id="search" placeholder="Search" class="search-input dropdown-menu-toggle no-outline js-search-dashboard-options" spellcheck="false" tabindex="1" autocomplete="off" data-toggle="dropdown" data-issues-path="https://gitlab.com/dashboard/issues" data-mr-path="https://gitlab.com/dashboard/merge_requests" aria-label="Search" />
-<div class="dropdown-menu dropdown-select">
-<div class="dropdown-content"><ul>
-<li>
-<a class="is-focused dropdown-menu-empty-link">
-Loading...
-</a>
-</li>
-</ul>
-</div><div class="dropdown-loading"><i aria-hidden="true" data-hidden="true" class="fa fa-spinner fa-spin"></i></div>
-</div>
-<i class="search-icon"></i>
-<i class="clear-icon js-clear-input"></i>
-</div>
-</div>
-</div>
-<input type="hidden" name="group_id" id="group_id" class="js-search-group-options" />
-<input type="hidden" name="project_id" id="search_project_id" value="870008" class="js-search-project-options" data-project-path="aur-xen" data-name="aur-xen" data-issues-path="/johnth/aur-xen/issues" data-mr-path="/johnth/aur-xen/merge_requests" />
-<input type="hidden" name="search_code" id="search_code" value="true" />
-<input type="hidden" name="repository_ref" id="repository_ref" value="master" />
-
-<div class="search-autocomplete-opts hide" data-autocomplete-path="/search/autocomplete" data-autocomplete-project-id="870008" data-autocomplete-project-ref="master"></div>
-</form></div>
-
-</li>
-<li class="visible-sm-inline-block visible-xs-inline-block">
-<a title="Search" aria-label="Search" data-toggle="tooltip" data-placement="bottom" data-container="body" href="/search"><i aria-hidden="true" data-hidden="true" class="fa fa-search"></i>
-</a></li>
-<li>
-<div>
-<a class="btn btn-sign-in btn-success" href="/users/sign_in?redirect_to_referer=yes">Sign in</a>
-</div>
-</li>
-</ul>
-</div>
-<button class="navbar-toggle" type="button">
-<span class="sr-only">Toggle navigation</span>
-<i aria-hidden="true" data-hidden="true" class="fa fa-ellipsis-v"></i>
-</button>
-<div class="js-dropdown-menu-projects">
-<div class="dropdown-menu dropdown-select dropdown-menu-projects">
-<div class="dropdown-title"><span>Go to a project</span><button class="dropdown-title-button dropdown-menu-close" aria-label="Close" type="button"><i aria-hidden="true" data-hidden="true" class="fa fa-times dropdown-menu-close-icon"></i></button></div>
-<div class="dropdown-input"><input type="search" id="" class="dropdown-input-field" placeholder="Search your projects" autocomplete="off" /><i aria-hidden="true" data-hidden="true" class="fa fa-search dropdown-input-search"></i><i role="button" aria-hidden="true" data-hidden="true" class="fa fa-times dropdown-input-clear js-dropdown-input-clear"></i></div>
-<div class="dropdown-content"></div>
-<div class="dropdown-loading"><i aria-hidden="true" data-hidden="true" class="fa fa-spinner fa-spin"></i></div>
-</div>
-</div>
-
-</div>
-</div>
-</header>
-
-<script>
- var findFileURL = "/johnth/aur-xen/find_file/master";
-</script>
-
-<div class="page-with-sidebar">
-<div class="layout-nav">
-<div class="container-fluid">
-<div class="scrolling-tabs-container">
-<div class="fade-left">
-<i aria-hidden="true" data-hidden="true" class="fa fa-angle-left"></i>
-</div>
-<div class="fade-right">
-<i aria-hidden="true" data-hidden="true" class="fa fa-angle-right"></i>
-</div>
-<ul class="nav-links scrolling-tabs">
-<li class="home"><a title="Project" class="shortcuts-project" href="/johnth/aur-xen"><span>
-Project
-</span>
-</a></li><li class="active"><a title="Repository" class="shortcuts-tree" href="/johnth/aur-xen/tree/master"><span>
-Repository
-</span>
-</a></li><li class=""><a title="Issues" class="shortcuts-issues" href="/johnth/aur-xen/issues"><span>
-Issues
-<span class="badge count issue_counter">1</span>
-</span>
-</a></li><li class=""><a title="Merge Requests" class="shortcuts-merge_requests" href="/johnth/aur-xen/merge_requests"><span>
-Merge Requests
-<span class="badge count merge_counter js-merge-counter">0</span>
-</span>
-</a></li><li class=""><a title="Pipelines" class="shortcuts-pipelines" href="/johnth/aur-xen/pipelines"><span>
-Pipelines
-</span>
-</a></li><li class=""><a title="Wiki" class="shortcuts-wiki" href="/johnth/aur-xen/wikis/home"><span>
-Wiki
-</span>
-</a></li><li class=""><a title="Snippets" class="shortcuts-snippets" href="/johnth/aur-xen/snippets"><span>
-Snippets
-</span>
-</a></li><li class=""><a title="Settings" class="shortcuts-tree" href="/johnth/aur-xen/settings/members"><span>
-Settings
-</span>
-</a></li><li class="hidden">
-<a title="Activity" class="shortcuts-project-activity" href="/johnth/aur-xen/activity"><span>
-Activity
-</span>
-</a></li>
-<li class="hidden">
-<a title="Network" class="shortcuts-network" href="/johnth/aur-xen/network/master">Graph
-</a></li>
-<li class="hidden">
-<a title="Charts" class="shortcuts-repository-charts" href="/johnth/aur-xen/graphs/master/charts">Charts
-</a></li>
-<li class="hidden">
-<a class="shortcuts-new-issue" href="/johnth/aur-xen/issues/new">Create a new issue
-</a></li>
-<li class="hidden">
-<a title="Jobs" class="shortcuts-builds" href="/johnth/aur-xen/-/jobs">Jobs
-</a></li>
-<li class="hidden">
-<a title="Commits" class="shortcuts-commits" href="/johnth/aur-xen/commits/master">Commits
-</a></li>
-<li class="hidden">
-<a title="Issue Boards" class="shortcuts-issue-boards" href="/johnth/aur-xen/boards">Issue Boards</a>
-</li>
-</ul>
-</div>
-
-</div>
-</div>
-<div class="scrolling-tabs-container sub-nav-scroll">
-<div class="fade-left">
-<i aria-hidden="true" data-hidden="true" class="fa fa-angle-left"></i>
-</div>
-<div class="fade-right">
-<i aria-hidden="true" data-hidden="true" class="fa fa-angle-right"></i>
-</div>
-
-<div class="nav-links sub-nav scrolling-tabs">
-<ul class="container-fluid container-limited">
-<li class="active"><a href="/johnth/aur-xen/tree/master">Files
-</a></li><li class=""><a href="/johnth/aur-xen/commits/master">Commits
-</a></li><li class=""><a href="/johnth/aur-xen/branches">Branches
-</a></li><li class=""><a href="/johnth/aur-xen/tags">Tags
-</a></li><li class=""><a href="/johnth/aur-xen/graphs/master">Contributors
-</a></li><li class=""><a href="/johnth/aur-xen/network/master">Graph
-</a></li><li class=""><a href="/johnth/aur-xen/compare?from=master&amp;to=master">Compare
-</a></li><li class=""><a href="/johnth/aur-xen/graphs/master/charts">Charts
-</a></li><li class=""><a href="/johnth/aur-xen/path_locks">Locked Files
-</a></li></ul>
-</div>
-</div>
-
-<div class="content-wrapper page-with-layout-nav page-with-sub-nav">
-<div class="alert-wrapper">
-
-
-<div class="flash-container flash-container-page">
-</div>
-
-
-</div>
-<div class=" ">
-<div class="content" id="content-body">
-
-
-<div class="container-fluid container-limited">
-<div class="tree-holder" id="tree-holder">
-<div class="nav-block">
-<div class="tree-controls">
-<a class="btn btn-grouped shortcuts-find-file" rel="nofollow" href="/johnth/aur-xen/find_file/master"><i aria-hidden="true" data-hidden="true" class="fa fa-search"></i>
-<span>Find file</span>
-</a>
-<div class="btn-group prepend-left-10" role="group"><a class="btn js-blob-blame-link" href="/johnth/aur-xen/blame/master/patch-gcc7-vtpmmgr-make-inline-static.patch">Blame</a><a class="btn" href="/johnth/aur-xen/commits/master/patch-gcc7-vtpmmgr-make-inline-static.patch">History</a><a class="btn js-data-file-blob-permalink-url" href="/johnth/aur-xen/blob/717dc1c8e32c3c615652f2b40838d1cb12441073/patch-gcc7-vtpmmgr-make-inline-static.patch">Permalink</a></div>
-</div>
-<div class="tree-ref-holder">
-<form class="project-refs-form" action="/johnth/aur-xen/refs/switch" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="destination" id="destination" value="blob" />
-<input type="hidden" name="path" id="path" value="patch-gcc7-vtpmmgr-make-inline-static.patch" />
-<div class="dropdown">
-<button class="dropdown-menu-toggle js-project-refs-dropdown" type="button" data-toggle="dropdown" data-selected="master" data-ref="master" data-refs-url="/johnth/aur-xen/refs" data-field-name="ref" data-submit-form-on-click="true"><span class="dropdown-toggle-text ">master</span><i aria-hidden="true" data-hidden="true" class="fa fa-chevron-down"></i></button>
-<div class="dropdown-menu dropdown-menu-selectable git-revision-dropdown">
-<div class="dropdown-title"><span>Switch branch/tag</span><button class="dropdown-title-button dropdown-menu-close" aria-label="Close" type="button"><i aria-hidden="true" data-hidden="true" class="fa fa-times dropdown-menu-close-icon"></i></button></div>
-<div class="dropdown-input"><input type="search" id="" class="dropdown-input-field" placeholder="Search branches and tags" autocomplete="off" /><i aria-hidden="true" data-hidden="true" class="fa fa-search dropdown-input-search"></i><i role="button" aria-hidden="true" data-hidden="true" class="fa fa-times dropdown-input-clear js-dropdown-input-clear"></i></div>
-<div class="dropdown-content"></div>
-<div class="dropdown-loading"><i aria-hidden="true" data-hidden="true" class="fa fa-spinner fa-spin"></i></div>
-</div>
-</div>
-</form>
-</div>
-<ul class="breadcrumb repo-breadcrumb">
-<li>
-<a href="/johnth/aur-xen/tree/master">aur-xen
-</a></li>
-<li>
-<a href="/johnth/aur-xen/blob/master/patch-gcc7-vtpmmgr-make-inline-static.patch"><strong>patch-gcc7-vtpmmgr-make-inline-static...</strong>
-</a></li>
-</ul>
-</div>
-
-<div class="info-well hidden-xs">
-<div class="well-segment">
-<ul class="blob-commit-info">
-<li class="commit flex-list js-toggle-container" id="commit-2c8370a2">
-<div class="avatar-cell hidden-xs">
-<a href="mailto:git@johnthomson.fastmail.com.au"><img class="avatar has-tooltip s36 hidden-xs" alt="John Thomson&#39;s avatar" title="John Thomson" data-container="body" src="https://secure.gravatar.com/avatar/676a9943dfc35a8adfb1401efd8eb18c?s=72&amp;d=identicon" /></a>
-</div>
-<div class="commit-detail">
-<div class="commit-content">
-<a class="commit-row-message item-title" href="/johnth/aur-xen/commit/2c8370a23b1fcc835277977d820b083b8add32cd">Add make inline functions static for vtpmmgr patch</a>
-<span class="commit-row-message visible-xs-inline">
-&middot;
-2c8370a2
-</span>
-<button class="text-expander hidden-xs js-toggle-button" type="button">...</button>
-<pre class="commit-row-description js-toggle-content">&#x000A;<a href="http://markmail.org/message/vwjl6evpa7t5cghf" rel="nofollow noreferrer noopener" target="_blank">http://markmail.org/message/vwjl6evpa7t5cghf</a></pre>
-<div class="commiter">
-<a class="commit-author-link has-tooltip" title="git@johnthomson.fastmail.com.au" href="mailto:git@johnthomson.fastmail.com.au">John Thomson</a> committed <time class="js-timeago" title="Jun 27, 2017 9:52pm" datetime="2017-06-27T21:52:48Z" data-toggle="tooltip" data-placement="top" data-container="body">Jun 28, 2017</time>
-</div>
-</div>
-<div class="commit-actions flex-row hidden-xs">
-<a class="commit-sha btn btn-transparent" href="/johnth/aur-xen/commit/2c8370a23b1fcc835277977d820b083b8add32cd">2c8370a2</a>
-<button class="btn btn-clipboard btn-transparent" data-toggle="tooltip" data-placement="bottom" data-container="body" data-title="Copy commit SHA to clipboard" data-clipboard-text="2c8370a23b1fcc835277977d820b083b8add32cd" type="button" title="Copy commit SHA to clipboard" aria-label="Copy commit SHA to clipboard"><i aria-hidden="true" aria-hidden="true" data-hidden="true" class="fa fa-clipboard"></i></button>
-<a class="btn btn-default" href="/johnth/aur-xen/blob/2c8370a23b1fcc835277977d820b083b8add32cd/PKGBUILD">Browse File</a>
-</div>
-</div>
-</li>
-
-</ul>
-</div>
-
-</div>
-<div class="blob-content-holder" id="blob-content-holder">
-<article class="file-holder">
-<div class="js-file-title file-title-flex-parent">
-<div class="file-header-content">
-<i aria-hidden="true" data-hidden="true" class="fa fa-file-text-o fa-fw"></i>
-<strong class="file-title-name">
-patch-gcc7-vtpmmgr-make-inline-static.patch
-</strong>
-<button class="btn btn-clipboard btn-transparent prepend-left-5" data-toggle="tooltip" data-placement="bottom" data-container="body" data-class="btn-clipboard btn-transparent prepend-left-5" data-title="Copy file path to clipboard" data-clipboard-text="{&quot;text&quot;:&quot;patch-gcc7-vtpmmgr-make-inline-static.patch&quot;,&quot;gfm&quot;:&quot;`patch-gcc7-vtpmmgr-make-inline-static.patch`&quot;}" type="button" title="Copy file path to clipboard" aria-label="Copy file path to clipboard"><i aria-hidden="true" aria-hidden="true" data-hidden="true" class="fa fa-clipboard"></i></button>
-<small>
-37.4 KB
-</small>
-</div>
-
-<div class="file-actions hidden-xs">
-
-<div class="btn-group" role="group"><button class="btn btn btn-sm js-copy-blob-source-btn" data-toggle="tooltip" data-placement="bottom" data-container="body" data-class="btn btn-sm js-copy-blob-source-btn" data-title="Copy source to clipboard" data-clipboard-target=".blob-content[data-blob-id=&#39;a2c96691a95f0a55fa016e1c209f292259975dbb&#39;]" type="button" title="Copy source to clipboard" aria-label="Copy source to clipboard"><i aria-hidden="true" aria-hidden="true" data-hidden="true" class="fa fa-clipboard"></i></button><a class="btn btn-sm has-tooltip" target="_blank" rel="noopener noreferrer" title="Open raw" data-container="body" href="/johnth/aur-xen/raw/master/patch-gcc7-vtpmmgr-make-inline-static.patch"><i aria-hidden="true" data-hidden="true" class="fa fa-file-code-o"></i></a></div>
-<div class="btn-group" role="group"><a class="btn js-edit-blob btn-sm" href="/johnth/aur-xen/edit/master/patch-gcc7-vtpmmgr-make-inline-static.patch">Edit</a></div>
-</div>
-</div>
-
-<script>
- PathLocks.init(
- '/johnth/aur-xen/path_locks/toggle',
- 'patch-gcc7-vtpmmgr-make-inline-static.patch'
- );
-</script>
-
-<div class="blob-viewer" data-type="simple" data-url="/johnth/aur-xen/blob/master/patch-gcc7-vtpmmgr-make-inline-static.patch?format=json&amp;viewer=simple">
-<div class="text-center prepend-top-default append-bottom-default">
-<i aria-hidden="true" aria-label="Loading content…" class="fa fa-spinner fa-spin fa-2x"></i>
-</div>
-
-</div>
-
-
-</article>
-</div>
-
-</div>
-</div>
-
-</div>
-</div>
-</div>
-</div>
-
-
-</body>
-</html>
+diff --git a/stubdom/vtpmmgr/marshal.h b/stubdom/vtpmmgr/marshal.h
+index d826f19d89..dce19c6439 100644
+--- a/stubdom/vtpmmgr/marshal.h
++++ b/stubdom/vtpmmgr/marshal.h
+@@ -47,16 +47,19 @@ typedef enum UnpackPtr {
+ UNPACK_ALLOC
+ } UnpackPtr;
+
++static
+ inline BYTE* pack_BYTE(BYTE* ptr, BYTE t) {
+ ptr[0] = t;
+ return ++ptr;
+ }
+
++static
+ inline BYTE* unpack_BYTE(BYTE* ptr, BYTE* t) {
+ t[0] = ptr[0];
+ return ++ptr;
+ }
+
++static
+ inline int unpack3_BYTE(BYTE* ptr, UINT32* pos, UINT32 max, BYTE *t)
+ {
+ if (*pos + 1 > max)
+@@ -72,18 +75,21 @@ inline int unpack3_BYTE(BYTE* ptr, UINT32* pos, UINT32 max, BYTE *t)
+ #define unpack3_BOOL(p, x, m, t) unpack3_BYTE(p, x, m, t)
+ #define sizeof_BOOL(t) 1
+
++static
+ inline BYTE* pack_UINT16(void* ptr, UINT16 t) {
+ UINT16* p = ptr;
+ *p = cpu_to_be16(t);
+ return ptr + sizeof(UINT16);
+ }
+
++static
+ inline BYTE* unpack_UINT16(void* ptr, UINT16* t) {
+ UINT16* p = ptr;
+ *t = be16_to_cpu(*p);
+ return ptr + sizeof(UINT16);
+ }
+
++static
+ inline int unpack3_UINT16(BYTE* ptr, UINT32* pos, UINT32 max, UINT16 *t)
+ {
+ if (*pos + 2 > max)
+@@ -93,18 +99,21 @@ inline int unpack3_UINT16(BYTE* ptr, UINT32* pos, UINT32 max, UINT16 *t)
+ return 0;
+ }
+
++static
+ inline BYTE* pack_UINT32(void* ptr, UINT32 t) {
+ UINT32* p = ptr;
+ *p = cpu_to_be32(t);
+ return ptr + sizeof(UINT32);
+ }
+
++static
+ inline BYTE* unpack_UINT32(void* ptr, UINT32* t) {
+ UINT32* p = ptr;
+ *t = be32_to_cpu(*p);
+ return ptr + sizeof(UINT32);
+ }
+
++static
+ inline int unpack3_UINT32(BYTE* ptr, UINT32* pos, UINT32 max, UINT32 *t)
+ {
+ if (*pos + 4 > max)
+@@ -236,16 +245,19 @@ inline int unpack3_UINT32(BYTE* ptr, UINT32* pos, UINT32 max, UINT32 *t)
+ #define sizeof_TCS_KEY_HANDLE(t) sizeof_UINT32(t)
+
+
++static
+ inline BYTE* pack_BUFFER(BYTE* ptr, const BYTE* buf, UINT32 size) {
+ memcpy(ptr, buf, size);
+ return ptr + size;
+ }
+
++static
+ inline BYTE* unpack_BUFFER(BYTE* ptr, BYTE* buf, UINT32 size) {
+ memcpy(buf, ptr, size);
+ return ptr + size;
+ }
+
++static
+ inline int unpack3_BUFFER(BYTE* ptr, UINT32* pos, UINT32 max, BYTE* buf, UINT32 size) {
+ if (*pos + size > max)
+ return TPM_SIZE;
+@@ -256,11 +268,13 @@ inline int unpack3_BUFFER(BYTE* ptr, UINT32* pos, UINT32 max, BYTE* buf, UINT32
+
+ #define sizeof_BUFFER(b, s) s
+
++static
+ inline BYTE* unpack_ALIAS(BYTE* ptr, BYTE** buf, UINT32 size) {
+ *buf = ptr;
+ return ptr + size;
+ }
+
++static
+ inline BYTE* unpack_ALLOC(BYTE* ptr, BYTE** buf, UINT32 size) {
+ if(size) {
+ *buf = malloc(size);
+@@ -271,6 +285,7 @@ inline BYTE* unpack_ALLOC(BYTE* ptr, BYTE** buf, UINT32 size) {
+ return ptr + size;
+ }
+
++static
+ inline BYTE* unpack_PTR(BYTE* ptr, BYTE** buf, UINT32 size, UnpackPtr alloc) {
+ if(alloc == UNPACK_ALLOC) {
+ return unpack_ALLOC(ptr, buf, size);
+@@ -279,6 +294,7 @@ inline BYTE* unpack_PTR(BYTE* ptr, BYTE** buf, UINT32 size, UnpackPtr alloc) {
+ }
+ }
+
++static
+ inline int unpack3_PTR(BYTE* ptr, UINT32* pos, UINT32 max, BYTE** buf, UINT32 size, UnpackPtr alloc) {
+ if (size > max || *pos + size > max)
+ return TPM_SIZE;
+@@ -292,14 +308,17 @@ inline int unpack3_PTR(BYTE* ptr, UINT32* pos, UINT32 max, BYTE** buf, UINT32 si
+ }
+ #define unpack3_VPTR(ptr, pos, max, buf, size, alloc) unpack3_PTR(ptr, pos, max, (void*)(buf), size, alloc)
+
++static
+ inline BYTE* pack_TPM_AUTHDATA(BYTE* ptr, const TPM_AUTHDATA* d) {
+ return pack_BUFFER(ptr, *d, TPM_DIGEST_SIZE);
+ }
+
++static
+ inline BYTE* unpack_TPM_AUTHDATA(BYTE* ptr, TPM_AUTHDATA* d) {
+ return unpack_BUFFER(ptr, *d, TPM_DIGEST_SIZE);
+ }
+
++static
+ inline int unpack3_TPM_AUTHDATA(BYTE* ptr, UINT32* pos, UINT32 len, TPM_AUTHDATA* d) {
+ return unpack3_BUFFER(ptr, pos, len, *d, TPM_DIGEST_SIZE);
+ }
+@@ -325,6 +344,7 @@ inline int unpack3_TPM_AUTHDATA(BYTE* ptr, UINT32* pos, UINT32 len, TPM_AUTHDATA
+ #define sizeof_TPM_TAG(t) sizeof_UINT16(t)
+ #define sizeof_TPM_STRUCTURE_TAG(t) sizeof_UINT16(t)
+
++static
+ inline BYTE* pack_TPM_VERSION(BYTE* ptr, const TPM_VERSION* t) {
+ ptr[0] = t->major;
+ ptr[1] = t->minor;
+@@ -333,6 +353,7 @@ inline BYTE* pack_TPM_VERSION(BYTE* ptr, const TPM_VERSION* t) {
+ return ptr + 4;
+ }
+
++static
+ inline BYTE* unpack_TPM_VERSION(BYTE* ptr, TPM_VERSION* t) {
+ t->major = ptr[0];
+ t->minor = ptr[1];
+@@ -341,6 +362,7 @@ inline BYTE* unpack_TPM_VERSION(BYTE* ptr, TPM_VERSION* t) {
+ return ptr + 4;
+ }
+
++static
+ inline int unpack3_TPM_VERSION(BYTE* ptr, UINT32 *pos, UINT32 max, TPM_VERSION* t) {
+ if (*pos + 4 > max)
+ return TPM_SIZE;
+@@ -355,6 +377,7 @@ inline int unpack3_TPM_VERSION(BYTE* ptr, UINT32 *pos, UINT32 max, TPM_VERSION*
+
+ #define sizeof_TPM_VERSION(x) 4
+
++static
+ inline BYTE* pack_TPM_CAP_VERSION_INFO(BYTE* ptr, const TPM_CAP_VERSION_INFO* v) {
+ ptr = pack_TPM_STRUCTURE_TAG(ptr, v->tag);
+ ptr = pack_TPM_VERSION(ptr, &v->version);
+@@ -366,6 +389,7 @@ inline BYTE* pack_TPM_CAP_VERSION_INFO(BYTE* ptr, const TPM_CAP_VERSION_INFO* v)
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPM_CAP_VERSION_INFO(BYTE* ptr, TPM_CAP_VERSION_INFO* v, UnpackPtr alloc) {
+ ptr = unpack_TPM_STRUCTURE_TAG(ptr, &v->tag);
+ ptr = unpack_TPM_VERSION(ptr, &v->version);
+@@ -377,14 +401,17 @@ inline BYTE* unpack_TPM_CAP_VERSION_INFO(BYTE* ptr, TPM_CAP_VERSION_INFO* v, Unp
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPM_DIGEST(BYTE* ptr, const TPM_DIGEST* d) {
+ return pack_BUFFER(ptr, d->digest, TPM_DIGEST_SIZE);
+ }
+
++static
+ inline BYTE* unpack_TPM_DIGEST(BYTE* ptr, TPM_DIGEST* d) {
+ return unpack_BUFFER(ptr, d->digest, TPM_DIGEST_SIZE);
+ }
+
++static
+ inline int unpack3_TPM_DIGEST(BYTE* ptr, UINT32* pos, UINT32 max, TPM_DIGEST* d) {
+ return unpack3_BUFFER(ptr, pos, max, d->digest, TPM_DIGEST_SIZE);
+ }
+@@ -409,20 +436,24 @@ inline int unpack3_TPM_DIGEST(BYTE* ptr, UINT32* pos, UINT32 max, TPM_DIGEST* d)
+ #define pack_TPM_CHOSENID_HASH(ptr, d) pack_TPM_DIGEST(ptr, d)
+ #define unpack_TPM_CHOSENID_HASH(ptr, d) unpack_TPM_DIGEST(ptr, d)
+
++static
+ inline BYTE* pack_TPM_NONCE(BYTE* ptr, const TPM_NONCE* n) {
+ return pack_BUFFER(ptr, n->nonce, TPM_DIGEST_SIZE);
+ }
+
++static
+ inline BYTE* unpack_TPM_NONCE(BYTE* ptr, TPM_NONCE* n) {
+ return unpack_BUFFER(ptr, n->nonce, TPM_DIGEST_SIZE);
+ }
+
+ #define sizeof_TPM_NONCE(x) TPM_DIGEST_SIZE
+
++static
+ inline int unpack3_TPM_NONCE(BYTE* ptr, UINT32* pos, UINT32 max, TPM_NONCE* n) {
+ return unpack3_BUFFER(ptr, pos, max, n->nonce, TPM_DIGEST_SIZE);
+ }
+
++static
+ inline BYTE* pack_TPM_SYMMETRIC_KEY_PARMS(BYTE* ptr, const TPM_SYMMETRIC_KEY_PARMS* k) {
+ ptr = pack_UINT32(ptr, k->keyLength);
+ ptr = pack_UINT32(ptr, k->blockSize);
+@@ -430,6 +461,7 @@ inline BYTE* pack_TPM_SYMMETRIC_KEY_PARMS(BYTE* ptr, const TPM_SYMMETRIC_KEY_PAR
+ return pack_BUFFER(ptr, k->IV, k->ivSize);
+ }
+
++static
+ inline BYTE* pack_TPM_SYMMETRIC_KEY(BYTE* ptr, const TPM_SYMMETRIC_KEY* k) {
+ ptr = pack_UINT32(ptr, k->algId);
+ ptr = pack_UINT16(ptr, k->encScheme);
+@@ -437,6 +469,7 @@ inline BYTE* pack_TPM_SYMMETRIC_KEY(BYTE* ptr, const TPM_SYMMETRIC_KEY* k) {
+ return pack_BUFFER(ptr, k->data, k->size);
+ }
+
++static
+ inline int unpack3_TPM_SYMMETRIC_KEY_PARMS(BYTE* ptr, UINT32* pos, UINT32 max, TPM_SYMMETRIC_KEY_PARMS* k, UnpackPtr alloc) {
+ return unpack3_UINT32(ptr, pos, max, &k->keyLength) ||
+ unpack3_UINT32(ptr, pos, max, &k->blockSize) ||
+@@ -444,10 +477,12 @@ inline int unpack3_TPM_SYMMETRIC_KEY_PARMS(BYTE* ptr, UINT32* pos, UINT32 max, T
+ unpack3_PTR(ptr, pos, max, &k->IV, k->ivSize, alloc);
+ }
+
++static
+ inline int sizeof_TPM_SYMMETRIC_KEY_PARMS(const TPM_SYMMETRIC_KEY_PARMS* k) {
+ return 12 + k->ivSize;
+ }
+
++static
+ inline int unpack3_TPM_SYMMETRIC_KEY(BYTE* ptr, UINT32* pos, UINT32 max, TPM_SYMMETRIC_KEY* k, UnpackPtr alloc) {
+ return unpack3_UINT32(ptr, pos, max, &k->algId) ||
+ unpack3_UINT16(ptr, pos, max, &k->encScheme) ||
+@@ -455,6 +490,7 @@ inline int unpack3_TPM_SYMMETRIC_KEY(BYTE* ptr, UINT32* pos, UINT32 max, TPM_SYM
+ unpack3_PTR(ptr, pos, max, &k->data, k->size, alloc);
+ }
+
++static
+ inline BYTE* pack_TPM_RSA_KEY_PARMS(BYTE* ptr, const TPM_RSA_KEY_PARMS* k) {
+ ptr = pack_UINT32(ptr, k->keyLength);
+ ptr = pack_UINT32(ptr, k->numPrimes);
+@@ -462,6 +498,7 @@ inline BYTE* pack_TPM_RSA_KEY_PARMS(BYTE* ptr, const TPM_RSA_KEY_PARMS* k) {
+ return pack_BUFFER(ptr, k->exponent, k->exponentSize);
+ }
+
++static
+ inline int unpack3_TPM_RSA_KEY_PARMS(BYTE* ptr, UINT32* pos, UINT32 max, TPM_RSA_KEY_PARMS* k, UnpackPtr alloc) {
+ return unpack3_UINT32(ptr, pos, max, &k->keyLength) ||
+ unpack3_UINT32(ptr, pos, max, &k->numPrimes) ||
+@@ -469,11 +506,13 @@ inline int unpack3_TPM_RSA_KEY_PARMS(BYTE* ptr, UINT32* pos, UINT32 max, TPM_RSA
+ unpack3_PTR(ptr, pos, max, &k->exponent, k->exponentSize, alloc);
+ }
+
++static
+ inline int sizeof_TPM_RSA_KEY_PARMS(const TPM_RSA_KEY_PARMS* k) {
+ return 12 + k->exponentSize;
+ }
+
+
++static
+ inline BYTE* pack_TPM_KEY_PARMS(BYTE* ptr, const TPM_KEY_PARMS* k) {
+ ptr = pack_TPM_ALGORITHM_ID(ptr, k->algorithmID);
+ ptr = pack_TPM_ENC_SCHEME(ptr, k->encScheme);
+@@ -493,6 +532,7 @@ inline BYTE* pack_TPM_KEY_PARMS(BYTE* ptr, const TPM_KEY_PARMS* k) {
+ return ptr;
+ }
+
++static
+ inline int unpack3_TPM_KEY_PARMS(BYTE* ptr, UINT32* pos, UINT32 len, TPM_KEY_PARMS* k, UnpackPtr alloc) {
+ int rc = unpack3_TPM_ALGORITHM_ID(ptr, pos, len, &k->algorithmID) ||
+ unpack3_TPM_ENC_SCHEME(ptr, pos, len, &k->encScheme) ||
+@@ -511,6 +551,7 @@ inline int unpack3_TPM_KEY_PARMS(BYTE* ptr, UINT32* pos, UINT32 len, TPM_KEY_PAR
+ return TPM_FAIL;
+ }
+
++static
+ inline int sizeof_TPM_KEY_PARMS(const TPM_KEY_PARMS* k) {
+ int rc = 0;
+ rc += sizeof_TPM_ALGORITHM_ID(&k->algorithmID);
+@@ -532,52 +573,62 @@ inline int sizeof_TPM_KEY_PARMS(const TPM_KEY_PARMS* k) {
+ return rc;
+ }
+
++static
+ inline BYTE* pack_TPM_STORE_PUBKEY(BYTE* ptr, const TPM_STORE_PUBKEY* k) {
+ ptr = pack_UINT32(ptr, k->keyLength);
+ ptr = pack_BUFFER(ptr, k->key, k->keyLength);
+ return ptr;
+ }
+
++static
+ inline int unpack3_TPM_STORE_PUBKEY(BYTE* ptr, UINT32* pos, UINT32 max, TPM_STORE_PUBKEY* k, UnpackPtr alloc) {
+ return unpack3_UINT32(ptr, pos, max, &k->keyLength) ||
+ unpack3_PTR(ptr, pos, max, &k->key, k->keyLength, alloc);
+ }
+
++static
+ inline int sizeof_TPM_STORE_PUBKEY(const TPM_STORE_PUBKEY* k) {
+ return 4 + k->keyLength;
+ }
+
++static
+ inline BYTE* pack_TPM_PUBKEY(BYTE* ptr, const TPM_PUBKEY* k) {
+ ptr = pack_TPM_KEY_PARMS(ptr, &k->algorithmParms);
+ return pack_TPM_STORE_PUBKEY(ptr, &k->pubKey);
+ }
+
++static
+ inline int unpack3_TPM_PUBKEY(BYTE* ptr, UINT32* pos, UINT32 len, TPM_PUBKEY* k, UnpackPtr alloc) {
+ return unpack3_TPM_KEY_PARMS(ptr, pos, len, &k->algorithmParms, alloc) ||
+ unpack3_TPM_STORE_PUBKEY(ptr, pos, len, &k->pubKey, alloc);
+ }
+
++static
+ inline BYTE* pack_TPM_PCR_SELECTION(BYTE* ptr, const TPM_PCR_SELECTION* p) {
+ ptr = pack_UINT16(ptr, p->sizeOfSelect);
+ ptr = pack_BUFFER(ptr, p->pcrSelect, p->sizeOfSelect);
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPM_PCR_SELECTION(BYTE* ptr, TPM_PCR_SELECTION* p, UnpackPtr alloc) {
+ ptr = unpack_UINT16(ptr, &p->sizeOfSelect);
+ ptr = unpack_PTR(ptr, &p->pcrSelect, p->sizeOfSelect, alloc);
+ return ptr;
+ }
+
++static
+ inline int unpack3_TPM_PCR_SELECTION(BYTE* ptr, UINT32* pos, UINT32 max, TPM_PCR_SELECTION* p, UnpackPtr alloc) {
+ return unpack3_UINT16(ptr, pos, max, &p->sizeOfSelect) ||
+ unpack3_PTR(ptr, pos, max, &p->pcrSelect, p->sizeOfSelect, alloc);
+ }
+
++static
+ inline int sizeof_TPM_PCR_SELECTION(const TPM_PCR_SELECTION* p) {
+ return 2 + p->sizeOfSelect;
+ }
+
++static
+ inline BYTE* pack_TPM_PCR_INFO(BYTE* ptr, const TPM_PCR_INFO* p) {
+ ptr = pack_TPM_PCR_SELECTION(ptr, &p->pcrSelection);
+ ptr = pack_TPM_COMPOSITE_HASH(ptr, &p->digestAtRelease);
+@@ -585,12 +636,14 @@ inline BYTE* pack_TPM_PCR_INFO(BYTE* ptr, const TPM_PCR_INFO* p) {
+ return ptr;
+ }
+
++static
+ inline int unpack3_TPM_PCR_INFO(BYTE* ptr, UINT32* pos, UINT32 max, TPM_PCR_INFO* p, UnpackPtr alloc) {
+ return unpack3_TPM_PCR_SELECTION(ptr, pos, max, &p->pcrSelection, alloc) ||
+ unpack3_TPM_COMPOSITE_HASH(ptr, pos, max, &p->digestAtRelease) ||
+ unpack3_TPM_COMPOSITE_HASH(ptr, pos, max, &p->digestAtCreation);
+ }
+
++static
+ inline int sizeof_TPM_PCR_INFO(const TPM_PCR_INFO* p) {
+ int rc = 0;
+ rc += sizeof_TPM_PCR_SELECTION(&p->pcrSelection);
+@@ -599,6 +652,7 @@ inline int sizeof_TPM_PCR_INFO(const TPM_PCR_INFO* p) {
+ return rc;
+ }
+
++static
+ inline BYTE* pack_TPM_PCR_INFO_LONG(BYTE* ptr, const TPM_PCR_INFO_LONG* p) {
+ ptr = pack_TPM_STRUCTURE_TAG(ptr, p->tag);
+ ptr = pack_TPM_LOCALITY_SELECTION(ptr, p->localityAtCreation);
+@@ -610,6 +664,7 @@ inline BYTE* pack_TPM_PCR_INFO_LONG(BYTE* ptr, const TPM_PCR_INFO_LONG* p) {
+ return ptr;
+ }
+
++static
+ inline int sizeof_TPM_PCR_INFO_LONG(const TPM_PCR_INFO_LONG* p) {
+ int rc = 0;
+ rc += sizeof_TPM_STRUCTURE_TAG(p->tag);
+@@ -622,6 +677,7 @@ inline int sizeof_TPM_PCR_INFO_LONG(const TPM_PCR_INFO_LONG* p) {
+ return rc;
+ }
+
++static
+ inline int unpack3_TPM_PCR_INFO_LONG(BYTE* ptr, UINT32* pos, UINT32 max, TPM_PCR_INFO_LONG* p, UnpackPtr alloc) {
+ return unpack3_TPM_STRUCTURE_TAG(ptr, pos, max, &p->tag) ||
+ unpack3_TPM_LOCALITY_SELECTION(ptr, pos, max,
+@@ -637,6 +693,7 @@ inline int unpack3_TPM_PCR_INFO_LONG(BYTE* ptr, UINT32* pos, UINT32 max, TPM_PCR
+ unpack3_TPM_COMPOSITE_HASH(ptr, pos, max, &p->digestAtRelease);
+ }
+
++static
+ inline BYTE* pack_TPM_PCR_COMPOSITE(BYTE* ptr, const TPM_PCR_COMPOSITE* p) {
+ ptr = pack_TPM_PCR_SELECTION(ptr, &p->select);
+ ptr = pack_UINT32(ptr, p->valueSize);
+@@ -644,12 +701,14 @@ inline BYTE* pack_TPM_PCR_COMPOSITE(BYTE* ptr, const TPM_PCR_COMPOSITE* p) {
+ return ptr;
+ }
+
++static
+ inline int unpack3_TPM_PCR_COMPOSITE(BYTE* ptr, UINT32* pos, UINT32 max, TPM_PCR_COMPOSITE* p, UnpackPtr alloc) {
+ return unpack3_TPM_PCR_SELECTION(ptr, pos, max, &p->select, alloc) ||
+ unpack3_UINT32(ptr, pos, max, &p->valueSize) ||
+ unpack3_PTR(ptr, pos, max, (BYTE**)&p->pcrValue, p->valueSize, alloc);
+ }
+
++static
+ inline BYTE* pack_TPM_KEY(BYTE* ptr, const TPM_KEY* k) {
+ ptr = pack_TPM_VERSION(ptr, &k->ver);
+ ptr = pack_TPM_KEY_USAGE(ptr, k->keyUsage);
+@@ -665,6 +724,7 @@ inline BYTE* pack_TPM_KEY(BYTE* ptr, const TPM_KEY* k) {
+ return pack_BUFFER(ptr, k->encData, k->encDataSize);
+ }
+
++static
+ inline int unpack3_TPM_KEY(BYTE* ptr, UINT32* pos, UINT32 max, TPM_KEY* k, UnpackPtr alloc) {
+ int rc = unpack3_TPM_VERSION(ptr, pos, max, &k->ver) ||
+ unpack3_TPM_KEY_USAGE(ptr, pos, max, &k->keyUsage) ||
+@@ -682,6 +742,7 @@ inline int unpack3_TPM_KEY(BYTE* ptr, UINT32* pos, UINT32 max, TPM_KEY* k, Unpac
+ unpack3_PTR(ptr, pos, max, &k->encData, k->encDataSize, alloc);
+ }
+
++static
+ inline int sizeof_TPM_KEY(const TPM_KEY* k) {
+ int rc = 0;
+ rc += sizeof_TPM_VERSION(&k->ver);
+@@ -699,18 +760,21 @@ inline int sizeof_TPM_KEY(const TPM_KEY* k) {
+ return rc;
+ }
+
++static
+ inline BYTE* pack_TPM_BOUND_DATA(BYTE* ptr, const TPM_BOUND_DATA* b, UINT32 payloadSize) {
+ ptr = pack_TPM_VERSION(ptr, &b->ver);
+ ptr = pack_TPM_PAYLOAD_TYPE(ptr, b->payload);
+ return pack_BUFFER(ptr, b->payloadData, payloadSize);
+ }
+
++static
+ inline BYTE* unpack_TPM_BOUND_DATA(BYTE* ptr, TPM_BOUND_DATA* b, UINT32 payloadSize, UnpackPtr alloc) {
+ ptr = unpack_TPM_VERSION(ptr, &b->ver);
+ ptr = unpack_TPM_PAYLOAD_TYPE(ptr, &b->payload);
+ return unpack_PTR(ptr, &b->payloadData, payloadSize, alloc);
+ }
+
++static
+ inline BYTE* pack_TPM_STORED_DATA(BYTE* ptr, const TPM_STORED_DATA* d) {
+ ptr = pack_TPM_VERSION(ptr, &d->ver);
+ ptr = pack_UINT32(ptr, d->sealInfoSize);
+@@ -722,6 +786,7 @@ inline BYTE* pack_TPM_STORED_DATA(BYTE* ptr, const TPM_STORED_DATA* d) {
+ return ptr;
+ }
+
++static
+ inline int sizeof_TPM_STORED_DATA(const TPM_STORED_DATA* d) {
+ int rv = sizeof_TPM_VERSION(&d->ver) + sizeof_UINT32(d->sealInfoSize);
+ if (d->sealInfoSize) {
+@@ -732,6 +797,7 @@ inline int sizeof_TPM_STORED_DATA(const TPM_STORED_DATA* d) {
+ return rv;
+ }
+
++static
+ inline int unpack3_TPM_STORED_DATA(BYTE* ptr, UINT32* pos, UINT32 len, TPM_STORED_DATA* d, UnpackPtr alloc) {
+ int rc = unpack3_TPM_VERSION(ptr, pos, len, &d->ver) ||
+ unpack3_UINT32(ptr, pos, len, &d->sealInfoSize);
+@@ -746,6 +812,7 @@ inline int unpack3_TPM_STORED_DATA(BYTE* ptr, UINT32* pos, UINT32 len, TPM_STORE
+ return rc;
+ }
+
++static
+ inline BYTE* pack_TPM_STORED_DATA12(BYTE* ptr, const TPM_STORED_DATA12* d) {
+ ptr = pack_TPM_STRUCTURE_TAG(ptr, d->tag);
+ ptr = pack_TPM_ENTITY_TYPE(ptr, d->et);
+@@ -758,6 +825,7 @@ inline BYTE* pack_TPM_STORED_DATA12(BYTE* ptr, const TPM_STORED_DATA12* d) {
+ return ptr;
+ }
+
++static
+ inline int sizeof_TPM_STORED_DATA12(const TPM_STORED_DATA12* d) {
+ int rv = sizeof_TPM_STRUCTURE_TAG(&d->ver) +
+ sizeof_TPM_ENTITY_TYPE(&d->et) +
+@@ -770,6 +838,7 @@ inline int sizeof_TPM_STORED_DATA12(const TPM_STORED_DATA12* d) {
+ return rv;
+ }
+
++static
+ inline int unpack3_TPM_STORED_DATA12(BYTE* ptr, UINT32* pos, UINT32 len, TPM_STORED_DATA12* d, UnpackPtr alloc) {
+ int rc = unpack3_TPM_STRUCTURE_TAG(ptr, pos, len, &d->tag) ||
+ unpack3_TPM_ENTITY_TYPE(ptr, pos, len, &d->et) ||
+@@ -786,6 +855,7 @@ inline int unpack3_TPM_STORED_DATA12(BYTE* ptr, UINT32* pos, UINT32 len, TPM_STO
+ return rc;
+ }
+
++static
+ inline BYTE* pack_TPM_AUTH_SESSION(BYTE* ptr, const TPM_AUTH_SESSION* auth) {
+ ptr = pack_TPM_AUTH_HANDLE(ptr, auth->AuthHandle);
+ ptr = pack_TPM_NONCE(ptr, &auth->NonceOdd);
+@@ -794,6 +864,7 @@ inline BYTE* pack_TPM_AUTH_SESSION(BYTE* ptr, const TPM_AUTH_SESSION* auth) {
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPM_AUTH_SESSION(BYTE* ptr, TPM_AUTH_SESSION* auth) {
+ ptr = unpack_TPM_NONCE(ptr, &auth->NonceEven);
+ ptr = unpack_BOOL(ptr, &auth->fContinueAuthSession);
+@@ -801,6 +872,7 @@ inline BYTE* unpack_TPM_AUTH_SESSION(BYTE* ptr, TPM_AUTH_SESSION* auth) {
+ return ptr;
+ }
+
++static
+ inline int unpack3_TPM_AUTH_SESSION(BYTE* ptr, UINT32* pos, UINT32 len, TPM_AUTH_SESSION* auth) {
+ return unpack3_TPM_NONCE(ptr, pos, len, &auth->NonceEven) ||
+ unpack3_BOOL(ptr, pos, len, &auth->fContinueAuthSession) ||
+@@ -808,6 +880,7 @@ inline int unpack3_TPM_AUTH_SESSION(BYTE* ptr, UINT32* pos, UINT32 len, TPM_AUTH
+ }
+
+
++static
+ inline int sizeof_TPM_AUTH_SESSION(const TPM_AUTH_SESSION* auth) {
+ int rv = 0;
+ rv += sizeof_TPM_AUTH_HANDLE(auth->AuthHandle);
+@@ -817,6 +890,7 @@ inline int sizeof_TPM_AUTH_SESSION(const TPM_AUTH_SESSION* auth) {
+ return rv;
+ }
+
++static
+ inline BYTE* pack_TPM_RQU_HEADER(BYTE* ptr,
+ TPM_TAG tag,
+ UINT32 size,
+@@ -826,6 +900,7 @@ inline BYTE* pack_TPM_RQU_HEADER(BYTE* ptr,
+ return pack_UINT32(ptr, ord);
+ }
+
++static
+ inline BYTE* unpack_TPM_RQU_HEADER(BYTE* ptr,
+ TPM_TAG* tag,
+ UINT32* size,
+@@ -836,6 +911,7 @@ inline BYTE* unpack_TPM_RQU_HEADER(BYTE* ptr,
+ return ptr;
+ }
+
++static
+ inline int unpack3_TPM_RQU_HEADER(BYTE* ptr, UINT32* pos, UINT32 max,
+ TPM_TAG* tag, UINT32* size, TPM_COMMAND_CODE* ord) {
+ return
+diff --git a/stubdom/vtpmmgr/tcg.h b/stubdom/vtpmmgr/tcg.h
+index 813ce57a2d..423131dc25 100644
+--- a/stubdom/vtpmmgr/tcg.h
++++ b/stubdom/vtpmmgr/tcg.h
+@@ -461,6 +461,7 @@ typedef struct TPM_CAP_VERSION_INFO {
+ BYTE* vendorSpecific;
+ } TPM_CAP_VERSION_INFO;
+
++static
+ inline void free_TPM_CAP_VERSION_INFO(TPM_CAP_VERSION_INFO* v) {
+ free(v->vendorSpecific);
+ v->vendorSpecific = NULL;
+@@ -494,6 +495,7 @@ typedef struct TPM_SYMMETRIC_KEY {
+ BYTE* data;
+ } TPM_SYMMETRIC_KEY;
+
++static
+ inline void free_TPM_SYMMETRIC_KEY_PARMS(TPM_SYMMETRIC_KEY_PARMS* p) {
+ free(p->IV);
+ p->IV = NULL;
+@@ -510,6 +512,7 @@ typedef struct TPM_RSA_KEY_PARMS {
+
+ #define TPM_RSA_KEY_PARMS_INIT { 0, 0, 0, NULL }
+
++static
+ inline void free_TPM_RSA_KEY_PARMS(TPM_RSA_KEY_PARMS* p) {
+ free(p->exponent);
+ p->exponent = NULL;
+@@ -528,6 +531,7 @@ typedef struct TPM_KEY_PARMS {
+
+ #define TPM_KEY_PARMS_INIT { 0, 0, 0, 0 }
+
++static
+ inline void free_TPM_KEY_PARMS(TPM_KEY_PARMS* p) {
+ if(p->parmSize) {
+ switch(p->algorithmID) {
+@@ -550,6 +554,7 @@ typedef struct TPM_STORE_PUBKEY {
+
+ #define TPM_STORE_PUBKEY_INIT { 0, NULL }
+
++static
+ inline void free_TPM_STORE_PUBKEY(TPM_STORE_PUBKEY* p) {
+ free(p->key);
+ p->key = NULL;
+@@ -562,6 +567,7 @@ typedef struct TPM_PUBKEY {
+
+ #define TPM_PUBKEY_INIT { TPM_KEY_PARMS_INIT, TPM_STORE_PUBKEY_INIT }
+
++static
+ inline void free_TPM_PUBKEY(TPM_PUBKEY* k) {
+ free_TPM_KEY_PARMS(&k->algorithmParms);
+ free_TPM_STORE_PUBKEY(&k->pubKey);
+@@ -574,6 +580,7 @@ typedef struct TPM_PCR_SELECTION {
+
+ #define TPM_PCR_SELECTION_INIT { 0, NULL }
+
++static
+ inline void free_TPM_PCR_SELECTION(TPM_PCR_SELECTION* p) {
+ free(p->pcrSelect);
+ p->pcrSelect = NULL;
+@@ -594,6 +601,7 @@ typedef struct TPM_PCR_INFO_LONG {
+ #define TPM_PCR_INFO_LONG_INIT { 0, 0, 0, TPM_PCR_SELECTION_INIT, \
+ TPM_PCR_SELECTION_INIT }
+
++static
+ inline void free_TPM_PCR_INFO_LONG(TPM_PCR_INFO_LONG* p) {
+ free_TPM_PCR_SELECTION(&p->creationPCRSelection);
+ free_TPM_PCR_SELECTION(&p->releasePCRSelection);
+@@ -607,6 +615,7 @@ typedef struct TPM_PCR_INFO {
+
+ #define TPM_PCR_INFO_INIT { TPM_PCR_SELECTION_INIT }
+
++static
+ inline void free_TPM_PCR_INFO(TPM_PCR_INFO* p) {
+ free_TPM_PCR_SELECTION(&p->pcrSelection);
+ }
+@@ -619,6 +628,7 @@ typedef struct TPM_PCR_COMPOSITE {
+
+ #define TPM_PCR_COMPOSITE_INIT { TPM_PCR_SELECTION_INIT, 0, NULL }
+
++static
+ inline void free_TPM_PCR_COMPOSITE(TPM_PCR_COMPOSITE* p) {
+ free_TPM_PCR_SELECTION(&p->select);
+ free(p->pcrValue);
+@@ -643,6 +653,7 @@ typedef struct TPM_KEY {
+ .pubKey = TPM_STORE_PUBKEY_INIT, \
+ .encDataSize = 0, .encData = NULL }
+
++static
+ inline void free_TPM_KEY(TPM_KEY* k) {
+ if(k->PCRInfoSize) {
+ free_TPM_PCR_INFO(&k->PCRInfo);
+@@ -660,6 +671,7 @@ typedef struct TPM_BOUND_DATA {
+
+ #define TPM_BOUND_DATA_INIT { .payloadData = NULL }
+
++static
+ inline void free_TPM_BOUND_DATA(TPM_BOUND_DATA* d) {
+ free(d->payloadData);
+ d->payloadData = NULL;
+@@ -676,6 +688,7 @@ typedef struct TPM_STORED_DATA {
+ #define TPM_STORED_DATA_INIT { .sealInfoSize = 0, sealInfo = TPM_PCR_INFO_INIT,\
+ .encDataSize = 0, .encData = NULL }
+
++static
+ inline void free_TPM_STORED_DATA(TPM_STORED_DATA* d) {
+ if(d->sealInfoSize) {
+ free_TPM_PCR_INFO(&d->sealInfo);
+@@ -696,6 +709,7 @@ typedef struct TPM_STORED_DATA12 {
+ #define TPM_STORED_DATA12_INIT { .sealInfoLongSize = 0, \
+ sealInfoLong = TPM_PCR_INFO_INIT, .encDataSize = 0, .encData = NULL }
+
++static
+ inline void free_TPM_STORED_DATA12(TPM_STORED_DATA12* d) {
+ if(d->sealInfoLongSize) {
+ free_TPM_PCR_INFO_LONG(&d->sealInfoLong);
+diff --git a/stubdom/vtpmmgr/tpm2_marshal.h b/stubdom/vtpmmgr/tpm2_marshal.h
+index aaa44645a2..ba070ad38e 100644
+--- a/stubdom/vtpmmgr/tpm2_marshal.h
++++ b/stubdom/vtpmmgr/tpm2_marshal.h
+@@ -52,6 +52,7 @@
+ #define pack_TPM_BUFFER(ptr, buf, size) pack_BUFFER(ptr, buf, size)
+ #define unpack_TPM_BUFFER(ptr, buf, size) unpack_BUFFER(ptr, buf, size)
+
++static
+ inline BYTE* pack_BYTE_ARRAY(BYTE* ptr, const BYTE* array, UINT32 size)
+ {
+ int i;
+@@ -60,21 +61,25 @@ inline BYTE* pack_BYTE_ARRAY(BYTE* ptr, const BYTE* array, UINT32 size)
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPMA_SESSION(BYTE* ptr, const TPMA_SESSION *attr)
+ {
+ return pack_BYTE(ptr, (BYTE)(*attr));
+ }
+
++static
+ inline BYTE* unpack_TPMA_SESSION(BYTE* ptr, TPMA_SESSION *attr)
+ {
+ return unpack_BYTE(ptr, (BYTE *)attr);
+ }
+
++static
+ inline BYTE* pack_TPMI_ALG_HASH(BYTE* ptr, const TPMI_ALG_HASH *hash)
+ {
+ return pack_UINT16(ptr, *hash);
+ }
+
++static
+ inline BYTE* unpack_TPMI_ALG_HASH(BYTE *ptr, TPMI_ALG_HASH *hash)
+ {
+ return unpack_UINT16(ptr, hash);
+@@ -125,6 +130,7 @@ inline BYTE* unpack_TPMI_ALG_HASH(BYTE *ptr, TPMI_ALG_HASH *hash)
+ #define pack_TPMI_RH_LOCKOUT(ptr, l) pack_TPM2_HANDLE(ptr, l)
+ #define unpack_TPMI_RH_LOCKOUT(ptr, l) unpack_TPM2_HANDLE(ptr, l)
+
++static
+ inline BYTE* pack_TPM2B_DIGEST(BYTE* ptr, const TPM2B_DIGEST *digest)
+ {
+ ptr = pack_UINT16(ptr, digest->size);
+@@ -132,6 +138,7 @@ inline BYTE* pack_TPM2B_DIGEST(BYTE* ptr, const TPM2B_DIGEST *digest)
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPM2B_DIGEST(BYTE* ptr, TPM2B_DIGEST *digest)
+ {
+ ptr = unpack_UINT16(ptr, &digest->size);
+@@ -139,6 +146,7 @@ inline BYTE* unpack_TPM2B_DIGEST(BYTE* ptr, TPM2B_DIGEST *digest)
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPMT_TK_CREATION(BYTE* ptr,const TPMT_TK_CREATION *ticket )
+ {
+ ptr = pack_TPM_ST(ptr , &ticket->tag);
+@@ -147,6 +155,7 @@ inline BYTE* pack_TPMT_TK_CREATION(BYTE* ptr,const TPMT_TK_CREATION *ticket )
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPMT_TK_CREATION(BYTE* ptr, TPMT_TK_CREATION *ticket )
+ {
+ ptr = unpack_TPM_ST(ptr, &ticket->tag);
+@@ -155,6 +164,7 @@ inline BYTE* unpack_TPMT_TK_CREATION(BYTE* ptr, TPMT_TK_CREATION *ticket )
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPM2B_NAME(BYTE* ptr,const TPM2B_NAME *name )
+ {
+ ptr = pack_UINT16(ptr, name->size);
+@@ -162,6 +172,7 @@ inline BYTE* pack_TPM2B_NAME(BYTE* ptr,const TPM2B_NAME *name )
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPM2B_NAME(BYTE* ptr, TPM2B_NAME *name)
+ {
+ ptr = unpack_UINT16(ptr, &name->size);
+@@ -169,6 +180,7 @@ inline BYTE* unpack_TPM2B_NAME(BYTE* ptr, TPM2B_NAME *name)
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPM2B_NONCE(BYTE* ptr, const TPM2B_NONCE *nonce)
+ {
+ return pack_TPM2B_DIGEST(ptr, (const TPM2B_DIGEST*)nonce);
+@@ -176,6 +188,7 @@ inline BYTE* pack_TPM2B_NONCE(BYTE* ptr, const TPM2B_NONCE *nonce)
+
+ #define unpack_TPM2B_NONCE(ptr, nonce) unpack_TPM2B_DIGEST(ptr, (TPM2B_DIGEST*)nonce)
+
++static
+ inline BYTE* pack_TPM2B_AUTH(BYTE* ptr, const TPM2B_AUTH *auth)
+ {
+ return pack_TPM2B_DIGEST(ptr, (const TPM2B_DIGEST*)auth);
+@@ -183,6 +196,7 @@ inline BYTE* pack_TPM2B_AUTH(BYTE* ptr, const TPM2B_AUTH *auth)
+
+ #define unpack_TPM2B_AUTH(ptr, auth) unpack_TPM2B_DIGEST(ptr, (TPM2B_DIGEST*)auth)
+
++static
+ inline BYTE* pack_TPM2B_DATA(BYTE* ptr, const TPM2B_DATA *data)
+ {
+ return pack_TPM2B_DIGEST(ptr, (const TPM2B_DIGEST*)data);
+@@ -190,6 +204,7 @@ inline BYTE* pack_TPM2B_DATA(BYTE* ptr, const TPM2B_DATA *data)
+
+ #define unpack_TPM2B_DATA(ptr, data) unpack_TPM2B_DIGEST(ptr, (TPM2B_DIGEST*)data)
+
++static
+ inline BYTE* pack_TPM2B_SENSITIVE_DATA(BYTE* ptr, const TPM2B_SENSITIVE_DATA *data)
+ {
+ return pack_TPM2B_DIGEST(ptr, (const TPM2B_DIGEST*)data);
+@@ -197,6 +212,7 @@ inline BYTE* pack_TPM2B_SENSITIVE_DATA(BYTE* ptr, const TPM2B_SENSITIVE_DATA *da
+
+ #define unpack_TPM2B_SENSITIVE_DATA(ptr, data) unpack_TPM2B_DIGEST(ptr, (TPM2B_DIGEST*)data)
+
++static
+ inline BYTE* pack_TPM2B_PUBLIC_KEY_RSA(BYTE* ptr, const TPM2B_PUBLIC_KEY_RSA *rsa)
+ {
+ return pack_TPM2B_DIGEST(ptr, (const TPM2B_DIGEST*)rsa);
+@@ -204,6 +220,7 @@ inline BYTE* pack_TPM2B_PUBLIC_KEY_RSA(BYTE* ptr, const TPM2B_PUBLIC_KEY_RSA *rs
+
+ #define unpack_TPM2B_PUBLIC_KEY_RSA(ptr, rsa) unpack_TPM2B_DIGEST(ptr, (TPM2B_DIGEST*)rsa)
+
++static
+ inline BYTE* pack_TPM2B_PRIVATE(BYTE* ptr, const TPM2B_PRIVATE *Private)
+ {
+ ptr = pack_UINT16(ptr, Private->size);
+@@ -211,6 +228,7 @@ inline BYTE* pack_TPM2B_PRIVATE(BYTE* ptr, const TPM2B_PRIVATE *Private)
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPM2B_PRIVATE(BYTE* ptr, TPM2B_PRIVATE *Private)
+ {
+ ptr = unpack_UINT16(ptr, &Private->size);
+@@ -218,6 +236,7 @@ inline BYTE* unpack_TPM2B_PRIVATE(BYTE* ptr, TPM2B_PRIVATE *Private)
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPMS_PCR_SELECTION_ARRAY(BYTE* ptr, const TPMS_PCR_SELECTION *sel, UINT32 count)
+ {
+ int i;
+@@ -229,6 +248,7 @@ inline BYTE* pack_TPMS_PCR_SELECTION_ARRAY(BYTE* ptr, const TPMS_PCR_SELECTION *
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPMS_PCR_SELECTION_ARRAY(BYTE* ptr, TPMS_PCR_SELECTION *sel, UINT32 count)
+ {
+ int i;
+@@ -240,6 +260,7 @@ inline BYTE* unpack_TPMS_PCR_SELECTION_ARRAY(BYTE* ptr, TPMS_PCR_SELECTION *sel,
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPML_PCR_SELECTION(BYTE* ptr, const TPML_PCR_SELECTION *sel)
+ {
+ ptr = pack_UINT32(ptr, sel->count);
+@@ -247,6 +268,7 @@ inline BYTE* pack_TPML_PCR_SELECTION(BYTE* ptr, const TPML_PCR_SELECTION *sel)
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPML_PCR_SELECTION(BYTE* ptr, TPML_PCR_SELECTION *sel)
+ {
+ ptr = unpack_UINT32(ptr, &sel->count);
+@@ -254,6 +276,7 @@ inline BYTE* unpack_TPML_PCR_SELECTION(BYTE* ptr, TPML_PCR_SELECTION *sel)
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPML_DIGEST(BYTE* ptr,TPML_DIGEST *digest)
+ {
+ int i;
+@@ -265,6 +288,7 @@ inline BYTE* unpack_TPML_DIGEST(BYTE* ptr,TPML_DIGEST *digest)
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPMS_CREATION_DATA(BYTE* ptr,const TPMS_CREATION_DATA *data)
+ {
+ ptr = pack_TPML_PCR_SELECTION(ptr, &data->pcrSelect);
+@@ -276,6 +300,7 @@ inline BYTE* pack_TPMS_CREATION_DATA(BYTE* ptr,const TPMS_CREATION_DATA *data)
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPMS_CREATION_DATA(BYTE* ptr, TPMS_CREATION_DATA *data)
+ {
+ ptr = unpack_TPML_PCR_SELECTION(ptr, &data->pcrSelect);
+@@ -288,6 +313,7 @@ inline BYTE* unpack_TPMS_CREATION_DATA(BYTE* ptr, TPMS_CREATION_DATA *data)
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPM2B_CREATION_DATA(BYTE* ptr, const TPM2B_CREATION_DATA *data )
+ {
+ ptr = pack_UINT16(ptr, data->size);
+@@ -295,6 +321,7 @@ inline BYTE* pack_TPM2B_CREATION_DATA(BYTE* ptr, const TPM2B_CREATION_DATA *data
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPM2B_CREATION_DATA(BYTE* ptr, TPM2B_CREATION_DATA * data)
+ {
+ ptr = unpack_UINT16(ptr, &data->size);
+@@ -302,6 +329,7 @@ inline BYTE* unpack_TPM2B_CREATION_DATA(BYTE* ptr, TPM2B_CREATION_DATA * data)
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPMS_SENSITIVE_CREATE(BYTE* ptr, const TPMS_SENSITIVE_CREATE *create)
+ {
+ ptr = pack_TPM2B_AUTH(ptr, &create->userAuth);
+@@ -309,6 +337,7 @@ inline BYTE* pack_TPMS_SENSITIVE_CREATE(BYTE* ptr, const TPMS_SENSITIVE_CREATE *
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPM2B_SENSITIVE_CREATE(BYTE* ptr, const TPM2B_SENSITIVE_CREATE *create)
+ {
+ BYTE* sizePtr = ptr;
+@@ -318,6 +347,7 @@ inline BYTE* pack_TPM2B_SENSITIVE_CREATE(BYTE* ptr, const TPM2B_SENSITIVE_CREATE
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPMU_SYM_MODE(BYTE* ptr, const TPMU_SYM_MODE *p,
+ const TPMI_ALG_SYM_OBJECT *sel)
+ {
+@@ -336,6 +366,7 @@ inline BYTE* pack_TPMU_SYM_MODE(BYTE* ptr, const TPMU_SYM_MODE *p,
+ }
+ return ptr;
+ }
++static
+ inline BYTE* unpack_TPMU_SYM_MODE(BYTE* ptr, TPMU_SYM_MODE *p,
+ const TPMI_ALG_SYM_OBJECT *sel)
+ {
+@@ -355,6 +386,7 @@ inline BYTE* unpack_TPMU_SYM_MODE(BYTE* ptr, TPMU_SYM_MODE *p,
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPMU_SYM_KEY_BITS(BYTE* ptr, const TPMU_SYM_KEY_BITS *p,
+ const TPMI_ALG_SYM_OBJECT *sel)
+ {
+@@ -376,6 +408,7 @@ inline BYTE* pack_TPMU_SYM_KEY_BITS(BYTE* ptr, const TPMU_SYM_KEY_BITS *p,
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPMU_SYM_KEY_BITS(BYTE* ptr, TPMU_SYM_KEY_BITS *p,
+ const TPMI_ALG_SYM_OBJECT *sel)
+ {
+@@ -397,6 +430,7 @@ inline BYTE* unpack_TPMU_SYM_KEY_BITS(BYTE* ptr, TPMU_SYM_KEY_BITS *p,
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPMT_SYM_DEF_OBJECT(BYTE* ptr, const TPMT_SYM_DEF_OBJECT *p)
+ {
+ ptr = pack_TPMI_ALG_SYM_OBJECT(ptr, &p->algorithm);
+@@ -405,6 +439,7 @@ inline BYTE* pack_TPMT_SYM_DEF_OBJECT(BYTE* ptr, const TPMT_SYM_DEF_OBJECT *p)
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPMT_SYM_DEF_OBJECT(BYTE *ptr, TPMT_SYM_DEF_OBJECT *p)
+ {
+ ptr = unpack_TPMI_ALG_SYM_OBJECT(ptr, &p->algorithm);
+@@ -416,6 +451,7 @@ inline BYTE* unpack_TPMT_SYM_DEF_OBJECT(BYTE *ptr, TPMT_SYM_DEF_OBJECT *p)
+ #define pack_TPMS_SCHEME_OAEP(p, t) pack_TPMI_ALG_HASH(p, &((t)->hashAlg))
+ #define unpack_TPMS_SCHEME_OAEP(p, t) unpack_TPMI_ALG_HASH(p, &((t)->hashAlg))
+
++static
+ inline BYTE* pack_TPMU_ASYM_SCHEME(BYTE *ptr, const TPMU_ASYM_SCHEME *p,
+ const TPMI_ALG_RSA_SCHEME *s)
+ {
+@@ -438,6 +474,7 @@ inline BYTE* pack_TPMU_ASYM_SCHEME(BYTE *ptr, const TPMU_ASYM_SCHEME *p,
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPMU_ASYM_SCHEME(BYTE *ptr, TPMU_ASYM_SCHEME *p,
+ const TPMI_ALG_RSA_SCHEME *s)
+ {
+@@ -462,6 +499,7 @@ inline BYTE* unpack_TPMU_ASYM_SCHEME(BYTE *ptr, TPMU_ASYM_SCHEME *p,
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPMT_RSA_SCHEME(BYTE* ptr, const TPMT_RSA_SCHEME *p)
+ {
+ ptr = pack_TPMI_ALG_RSA_SCHEME(ptr, &p->scheme);
+@@ -469,6 +507,7 @@ inline BYTE* pack_TPMT_RSA_SCHEME(BYTE* ptr, const TPMT_RSA_SCHEME *p)
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPMT_RSA_SCHEME(BYTE* ptr, TPMT_RSA_SCHEME *p)
+ {
+ ptr = unpack_TPMI_ALG_RSA_SCHEME(ptr, &p->scheme);
+@@ -476,6 +515,7 @@ inline BYTE* unpack_TPMT_RSA_SCHEME(BYTE* ptr, TPMT_RSA_SCHEME *p)
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPMT_RSA_DECRYPT(BYTE* ptr, const TPMT_RSA_DECRYPT *p)
+ {
+ ptr = pack_TPMI_ALG_RSA_SCHEME(ptr, &p->scheme);
+@@ -483,6 +523,7 @@ inline BYTE* pack_TPMT_RSA_DECRYPT(BYTE* ptr, const TPMT_RSA_DECRYPT *p)
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPMS_RSA_PARMS(BYTE* ptr, const TPMS_RSA_PARMS *p)
+ {
+ ptr = pack_TPMT_SYM_DEF_OBJECT(ptr, &p->symmetric);
+@@ -492,6 +533,7 @@ inline BYTE* pack_TPMS_RSA_PARMS(BYTE* ptr, const TPMS_RSA_PARMS *p)
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPMS_RSA_PARMS(BYTE *ptr, TPMS_RSA_PARMS *p)
+ {
+ ptr = unpack_TPMT_SYM_DEF_OBJECT(ptr, &p->symmetric);
+@@ -501,6 +543,7 @@ inline BYTE* unpack_TPMS_RSA_PARMS(BYTE *ptr, TPMS_RSA_PARMS *p)
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPMU_PUBLIC_PARMS(BYTE* ptr, const TPMU_PUBLIC_PARMS *param,
+ const TPMI_ALG_PUBLIC *selector)
+ {
+@@ -518,6 +561,7 @@ inline BYTE* pack_TPMU_PUBLIC_PARMS(BYTE* ptr, const TPMU_PUBLIC_PARMS *param,
+ return NULL;
+ }
+
++static
+ inline BYTE* unpack_TPMU_PUBLIC_PARMS(BYTE* ptr, TPMU_PUBLIC_PARMS *param,
+ const TPMI_ALG_PUBLIC *selector)
+ {
+@@ -535,18 +579,21 @@ inline BYTE* unpack_TPMU_PUBLIC_PARMS(BYTE* ptr, TPMU_PUBLIC_PARMS *param,
+ return NULL;
+ }
+
++static
+ inline BYTE* pack_TPMS_ECC_POINT(BYTE* ptr, const TPMS_ECC_POINT *point)
+ {
+ assert(false);
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPMS_ECC_POINT(BYTE* ptr, TPMS_ECC_POINT *point)
+ {
+ assert(false);
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPMU_PUBLIC_ID(BYTE* ptr, const TPMU_PUBLIC_ID *id,
+ const TPMI_ALG_PUBLIC *selector)
+ {
+@@ -564,6 +611,7 @@ inline BYTE* pack_TPMU_PUBLIC_ID(BYTE* ptr, const TPMU_PUBLIC_ID *id,
+ return NULL;
+ }
+
++static
+ inline BYTE* unpack_TPMU_PUBLIC_ID(BYTE* ptr, TPMU_PUBLIC_ID *id, TPMI_ALG_PUBLIC *selector)
+ {
+ switch (*selector) {
+@@ -580,6 +628,7 @@ inline BYTE* unpack_TPMU_PUBLIC_ID(BYTE* ptr, TPMU_PUBLIC_ID *id, TPMI_ALG_PUBLI
+ return NULL;
+ }
+
++static
+ inline BYTE* pack_TPMT_PUBLIC(BYTE* ptr, const TPMT_PUBLIC *public)
+ {
+ ptr = pack_TPMI_ALG_PUBLIC(ptr, &public->type);
+@@ -591,6 +640,7 @@ inline BYTE* pack_TPMT_PUBLIC(BYTE* ptr, const TPMT_PUBLIC *public)
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPMT_PUBLIC(BYTE* ptr, TPMT_PUBLIC *public)
+ {
+ ptr = unpack_TPMI_ALG_PUBLIC(ptr, &public->type);
+@@ -602,6 +652,7 @@ inline BYTE* unpack_TPMT_PUBLIC(BYTE* ptr, TPMT_PUBLIC *public)
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPM2B_PUBLIC(BYTE* ptr, const TPM2B_PUBLIC *public)
+ {
+ BYTE *sizePtr = ptr;
+@@ -611,6 +662,7 @@ inline BYTE* pack_TPM2B_PUBLIC(BYTE* ptr, const TPM2B_PUBLIC *public)
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPM2B_PUBLIC(BYTE* ptr, TPM2B_PUBLIC *public)
+ {
+ ptr = unpack_UINT16(ptr, &public->size);
+@@ -618,6 +670,7 @@ inline BYTE* unpack_TPM2B_PUBLIC(BYTE* ptr, TPM2B_PUBLIC *public)
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPMS_PCR_SELECTION(BYTE* ptr, const TPMS_PCR_SELECTION *selection)
+ {
+ ptr = pack_TPMI_ALG_HASH(ptr, &selection->hash);
+@@ -626,6 +679,7 @@ inline BYTE* pack_TPMS_PCR_SELECTION(BYTE* ptr, const TPMS_PCR_SELECTION *select
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPMS_PCR_SELECTION_Array(BYTE* ptr, const TPMS_PCR_SELECTION *selections,
+ const UINT32 cnt)
+ {
+@@ -635,6 +689,7 @@ inline BYTE* pack_TPMS_PCR_SELECTION_Array(BYTE* ptr, const TPMS_PCR_SELECTION *
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPM_AuthArea(BYTE* ptr, const TPM_AuthArea *auth)
+ {
+ BYTE* sizePtr = ptr;
+@@ -647,6 +702,7 @@ inline BYTE* pack_TPM_AuthArea(BYTE* ptr, const TPM_AuthArea *auth)
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPM_AuthArea(BYTE* ptr, TPM_AuthArea *auth)
+ {
+ ptr = unpack_UINT32(ptr, &auth->size);
+@@ -657,6 +713,7 @@ inline BYTE* unpack_TPM_AuthArea(BYTE* ptr, TPM_AuthArea *auth)
+ return ptr;
+ }
+
++static
+ inline BYTE* pack_TPM2_RSA_KEY(BYTE* ptr, const TPM2_RSA_KEY *key)
+ {
+ ptr = pack_TPM2B_PRIVATE(ptr, &key->Private);
+@@ -664,6 +721,7 @@ inline BYTE* pack_TPM2_RSA_KEY(BYTE* ptr, const TPM2_RSA_KEY *key)
+ return ptr;
+ }
+
++static
+ inline BYTE* unpack_TPM2_RSA_KEY(BYTE* ptr, TPM2_RSA_KEY *key)
+ {
+ ptr = unpack_TPM2B_PRIVATE(ptr, &key->Private);
+diff --git a/stubdom/vtpmmgr/tpmrsa.h b/stubdom/vtpmmgr/tpmrsa.h
+index 08213bbb7a..65fd32a45c 100644
+--- a/stubdom/vtpmmgr/tpmrsa.h
++++ b/stubdom/vtpmmgr/tpmrsa.h
+@@ -62,6 +62,7 @@ TPM_RESULT tpmrsa_pub_encrypt_oaep( tpmrsa_context *ctx,
+ unsigned char *output );
+
+ /* free tpmrsa key */
++static
+ inline void tpmrsa_free( tpmrsa_context *ctx ) {
+ mpi_free( &ctx->RN ); mpi_free( &ctx->E ); mpi_free( &ctx->N );
+ }
+_______________________________________________
+Xen-devel mailing list
+Xen-devel@lists.xen.org
+https://lists.xen.org/xen-devel