add loongarch64 support

(cherry picked from commit 0155ea0797e983564985334434cbaa0435c0cae9)
This commit is contained in:
Huang Yang 2024-05-13 07:20:17 +00:00 committed by openeuler-sync-bot
parent 43cf6564e4
commit 0837f358d0
4 changed files with 1759 additions and 4 deletions

847
crt0-efi-loongarch64.S Normal file
View File

@ -0,0 +1,847 @@
<!DOCTYPE html>
<html lang="en" class="no-js">
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type" />
<title>
gnu-efi / Code /
[74bd9b]
/gnuefi/crt0-efi-loongarch64.S
</title>
<meta name="viewport" content="width=1100">
<link rel="icon" sizes="180x180" href="https://a.fsdn.com/con/img/sandiego/logo-180x180.png" type="image/png">
<link rel="icon" sizes="any" href="https://a.fsdn.com/con/img/sandiego/svg/originals/sf-icon-orange-no_sf.svg" type="image/svg+xml">
<link rel="apple-touch-icon" sizes="180x180" href="https://a.fsdn.com/con/img/sandiego/logo-180x180.png">
<link rel="mask-icon" href="https://a.fsdn.com/con/img/sandiego/svg/originals/sf-icon-orange-no_sf.svg" color="#FF6600">
<link rel="stylesheet" href="https://a.fsdn.com/con/css/lato.css?">
<script>
if (!window.SF) { window.SF = {}; }
SF.sandiego = false;
SF.sandiego_chrome = true;
SF.cdn = "https://a.fsdn.com/con";
SF.fpid = 'a54b1490-e508-4377-b894-6649b1318a77';
</script>
<link rel="stylesheet" type="text/css" href="https://a.fsdn.com/allura/nf/1713900842/_ew_/_slim/css?href=allura%2Fcss%2Fforge%2Fhilite.css%3Ballura%2Fcss%2Fforge%2Ftooltipster.css">
<link rel="stylesheet" type="text/css" href="https://a.fsdn.com/allura/nf/1713900842/_ew_/allura/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="https://a.fsdn.com/allura/nf/1713900842/_ew_/theme/sftheme/css/forge.css">
<script type="text/javascript" src="https://a.fsdn.com/allura/nf/1713900842/_ew_/_slim/js?href=allura%2Fjs%2Fjquery-3.6.0.min.js%3Ballura%2Fjs%2Fjquery.cookie-1.4.1.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fcmp2.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fshared_head.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Ftypescript%2Fcompliance.js"></script>
<style type="text/css">
/* make URL &amp; Project custom fields in support tickets not get hidden as much */
.project-forge.mountpoint-site-support .view_holder .grid-4:nth-child(5),
.project-forge.mountpoint-site-support .view_holder .grid-4:nth-child(6) {
overflow: visible;
font-size: 22px;
width: 340px;
line-height: 1;
margin-bottom: 5px;
}
.project-forge.mountpoint-site-support .view_holder .grid-4:nth-child(5) label, .project-forge.mountpoint-site-support .view_holder .grid-4:nth-child(6) label {
font-size: 14px;
}
</style>
<link rel="alternate" type="application/rss+xml" title="RSS" href="/p/gnu-efi/code/feed.rss" />
<link rel="alternate" type="application/atom+xml" title="Atom" href="/p/gnu-efi/code/feed.atom" />
<style type="text/css">
#access_urls .btn-set {
min-width: 14em;
}
</style>
<style>.XUMOSaTpTcKKXwbDgKLwrlwrXDlKKAMOdNOl {
display: none
}</style>
<link rel="canonical" href="https://sourceforge.net/p/gnu-efi/code/ci/3.0.18/tree/gnuefi/crt0-efi-loongarch64.S" />
<script>
function initPiwik(){
var _paq = window._paq = window._paq || [];
_paq.push(['trackPageView', document.title, {
dimension1: 'gnu-efi',
dimension2: 'git'
}]);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.slashdotmedia.com/";
_paq.push(['setTrackerUrl', u+'sf.php']);
_paq.push(['setSiteId', 39]);
// only execute if 'measurement' has been granted
bizx.cmp.ifConsent({ purposes: ['measurement'], vendors: 'sdm'}, function() {
var interval = 6 * 60 * 60 * 1000; // 6 hrs, expressed in ms
var vid_date = new Date(localStorage.getItem('vid_date'));
if (new Date() - vid_date >= interval) {
var data = {firstparty_id: "a54b1490-e508-4377-b894-6649b1318a77", do_not_sell: false};
bizx.cmp.ifConsent({ purposes: ['ads'], vendors: 'sdm'}, function() {},
function(){
// no consent (opt-out)
data.do_not_sell = true;
},
function(){
//finally call api endpoint
// push promise to pwik and set it run if pwik is allowed to run based on it's own ifConsent check
_paq.push([ function() {
data.matomo_id = this.getVisitorId();
$.ajax({
method: 'PUT',
url: '/p/sfapi/push_vid',
data: JSON.stringify(data)
})
.always(function(){
localStorage.setItem('vid_date', new Date());
});
}]);
}
);
}
});
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+'sf.js'; s.parentNode.insertBefore(g,s);
})();
}
bizx.cmp.ifConsent({ purposes: ['storage', 'measurement'], vendors: 'sdm'}, initPiwik);
</script>
</head>
<body class="
body_class sandiego_chrome legacy_chrome l-allow-natural-width
" id="forge">
<div class="off-canvas position-right" id="offCanvas" data-off-canvas>
<ul class="header-nav-menulist">
<li class="highlight search">
<form method="get" action="/directory/" class="m-search-form">
<input type="text" placeholder="Search for software or solutions" autocomplete="off" name="q">
<label>
<input type="submit" class="bt" value>
<svg data-name="search" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z" /></svg>
</label>
</form>
</li>
<li class="highlight"><a href="/auth/">Join/Login</a></li>
<li><a href="/directory/">Open Source Software</a></li>
<li><a href="/software/">Business Software</a></li>
<li><a href="/software/vendors/" title="For Vendors">For Vendors</a></li>
<li><a href="/blog/" title="Blog">Blog</a></li>
<li><a href="/about">About</a></li>
<li><a id="header-nav-more" data-toggle="header-nav-more header-nav-more-content" data-toggler=".toggled">More</a></li>
<li>
<ul id="header-nav-more-content" class="toggled" data-toggler=".toggled">
<li><a href="/articles/">Articles</a></li>
<li><a href="/create">Create</a></li>
<li><a href="/learn/">Learn</a></li>
<li><a href="https://sourceforge.net/p/forge/documentation/Docs%20Home/">Site Documentation</a></li>
<li><a href="/user/newsletters">Subscribe to our Newsletter</a></li>
<li><a href="/support">Support Request</a></li>
</ul>
</li>
</ul>
</div>
<div class="off-canvas-content" data-off-canvas-content>
<script>
SF.linkout_icon = '<svg data-name="sf-linkout-icon" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 300" style="enable-background:new 0 0 300 300;" xml:space="preserve"><polygon class="st0" points="243.2,243.2 56.8,243.2 56.8,56.8 123,56.8 123,9 9,9 9,291 291,291 291,179.4 243.2,179 "/><polygon class="st0" points="128.5,213 155,186.5 176,165.5 206.7,196.3 235.5,132.5 248.9,102.6 290.6,9.8 291,9 290.6,9.2 197.4,51.1 169.1,63.8 103.7,93.3 137,126.5 115.9,147.5 89.5,174 "/></svg>';
</script>
<div class="l-header-nav sandiego">
<section class="sandiego l-header-nav-top show-for-large">
<div class="row">
<a href="/" title="Home" class="sf-logo">
<img src="https://a.fsdn.com/con/images/sandiego/sf-logo-full.svg" alt="SourceForge logo" class="sf-logo-full" />
</a>
<nav class="links">
<a href="/user/newsletters" title="Subscribe to our newsletter"><span class="newsletter-icon">
<svg data-name="mmSF_11mail" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 42 42" enable-background="new 0 0 42 42" xml:space="preserve"><path fill="#FFFFFF" d="M0,6v30h42V6H0z M24.2,21.2c-0.8,0.8-2.3,2-3.2,2c-0.9,0-2.4-1.2-3.2-2L5.8,9.7h30.3L24.2,21.2z M13.7,21l-9.9,9.4V11.6L13.7,21z M15.7,23L15.7,23c0.5,0.5,2.9,2.9,5.3,2.9c2.4,0,4.8-2.4,5.2-2.8l0.1-0.1l9.8,9.4H5.8L15.7,23z M28.3,21l9.9-9.5v18.9L28.3,21z" /></svg></span></a>
<a href="/software/vendors/" title="For Vendors">For Vendors</a>
<a href="/support" title="Help">Help</a>
<a href="/create/" title="Create">Create</a>
<a href="/user/registration" title="Join">Join</a>
<a href="/auth/" title="Login">Login</a>
</nav>
</div>
</section>
<section class="sandiego l-header-nav-top hide-for-large">
<div class="row">
<a href="/" title="Home" class="sf-logo">
<img src="https://a.fsdn.com/con/images/sandiego/sf-logo-full.svg" alt="SourceForge logo" class="sf-logo-full" />
</a>
<div class="title-bar-right">
<button type="button" class="menu-icon" data-toggle="offCanvas"></button>
</div>
</div>
</section>
<section class="sandiego l-header-nav-bottom">
<nav class="row">
<a href="/" title="Home" class="sf-logo">
<img src="https://a.fsdn.com/con/images/sandiego/sf-logo-full.svg" alt="SourceForge logo" class="sf-logo-full" />
</a>
<div class="links">
<div class="nav-dropdown">
<a href="/directory/" title="Browse">Open Source Software</a>
</div>
<div class="nav-dropdown">
<a href="/software/">Business Software</a>
</div>
<div class="nav-dropdown">
<a>Resources</a>
<ul class="nav-dropdown-menu">
<li><a href="/articles/">Articles</a></li>
<li><a href="/learn/">Learn</a></li>
<li><a href="/blog/">Blog</a></li>
</ul>
</div>
<div class="dev-menu-when-stuck">
Menu
<ul class="dev-menu-dropdown header-nav-menulist">
<li><a href="/support">Help</a></li>
<li><a href="/create">Create</a></li>
<li><a href="/user/registration/" title="Join">Join</a></li>
<li><a href="/auth/" title="Login">Login</a></li>
</ul>
</div>
<div class="search-toggle-when-stuck">
<a class="search-toggle">
<svg data-name="search" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z" /></svg>
</a>
</div>
</div>
<div class="search">
<div class="main-nav-button">
<a href="/p/import_project/github/" rel="nofollow" title="Sync your Github project to SourceForge" id="github-link">
<img src="https://a.fsdn.com/con/images/sandiego/github-sync.png" srcset="https://a.fsdn.com/con/images/sandiego/github-sync_2x.png 2x" alt="GitHub sync" id="main-nav-badge" />
</a>
</div>
<form method="get" action="/directory/" class="m-search-form">
<div class="typeahead__container">
<div class="typeahead__field">
<div class="typeahead__query">
<input type="text" placeholder="Search for software or solutions" autocomplete="off" name="q">
</div>
<label>
<input type="submit" class="bt" value>
<svg data-name="search" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z" /></svg>
</label>
</div>
</div>
</form>
</div>
</nav>
</section>
</div>
<div class="notification-on-project-page">
</div>
<section id="page-body" class=" neighborhood-Projects project-gnu-efi mountpoint-code
">
<div id="nav_menu_holder">
<div class="sandiego">
<section class="project-masthead">
<div class="backdrop" style="box-sizing: content-box; padding-bottom: 100px"></div>
<div class="content">
<nav id="breadcrumbs" class="breadcrumbs rtl">
<ul itemscope itemtype="http://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a itemprop="item" href="/"><span itemprop="name">Home</span></a>
<meta itemprop="position" content="1" />
</li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a itemprop="item" href="/directory/"><span itemprop="name">Browse</span></a>
<meta itemprop="position" content="2" />
</li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a itemprop="item" href="/p/gnu-efi/"><span itemprop="name">gnu-efi</span></a>
<meta itemprop="position" content="3" />
</li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<span itemprop="name">Code</span>
<meta itemprop="position" content="4" />
</li>
</ul>
</nav>
<div class="overview">
<div class="project-icon default-project-icon ">
<svg data-name="default-icon" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 300" style="enable-background:new 0 0 300 300;" xml:space="preserve"><rect class="st0" width="300" height="300" /><g><path class="st1" d="M162.5,154.8c0-28.9-10.2-42-15.6-46.9c-1.1-1-2.7-0.1-2.6,1.3c1.1,16.3-19.4,20.3-19.4,45.9h0c0,0.1,0,0.1,0,0.2c0,15.6,11.8,28.3,26.3,28.3c14.5,0,26.3-12.7,26.3-28.3c0-0.1,0-0.1,0-0.2h0c0-7.2-2.7-14.1-5.5-19.3c-0.5-1-2.1-0.6-1.9,0.3C174.9,158.1,162.5,171.8,162.5,154.8z" /><g><path class="st1" d="M131.2,215.6c-0.7,0-1.3-0.3-1.8-0.7l-67.2-67.1c-1-1-1-2.6,0-3.6l70.9-70.9c0.5-0.5,1.1-0.7,1.8-0.7h20.4c1.2,0,2,0.8,2.3,1.6c0.3,0.7,0.3,1.9-0.5,2.7l-66.7,66.7c-1.3,1.3-1.3,3.5,0,4.9l52.7,52.7c1,1,1,2.6,0,3.6L133,214.9C132.5,215.4,131.9,215.6,131.2,215.6z" /></g><g><path class="st1" d="M144.7,227.4c-1.2,0-2-0.8-2.3-1.5c-0.3-0.7-0.3-1.9,0.5-2.7l66.7-66.7c0.7-0.6,1-1.5,1-2.4s-0.4-1.8-1-2.4l-52.7-52.7c-1-1-1-2.6,0-3.6l10.2-10.2c0.5-0.5,1.1-0.7,1.8-0.7c0.7,0,1.3,0.3,1.8,0.7l67,67.1c0.5,0.5,0.7,1.1,0.7,1.8s-0.3,1.3-0.7,1.8l-70.9,70.9c-0.5,0.5-1.1,0.7-1.8,0.7H144.7z" /></g></g></svg>
</div>
<div class="title ">
<meta itemprop="name" content="gnu-efi" />
<h1>gnu-efi Code
</h1>
<div class="as-h3 brought-by">
Brought to you by:
<a href="/u/noxorc/profile/">noxorc</a>
</div>
</div>
</div>
<div class="special-messages">
<a class="button blue moved-notice" target="_blank" href="https://github.com/ncroxon/gnu-efi" rel="nofollow">
<svg data-name="arrow-circle-right" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 300" style="enable-background:new 0 0 300 300;" xml:space="preserve"><g><path class="st0" d="M150,0C67.2,0,0,67.2,0,150c0,82.8,67.2,150,150,150s150-67.2,150-150C300,67.2,232.8,0,150,0z M150.8,234.2v-50.5H58.2v-67.3h92.6V65.8l101,84.2L150.8,234.2z" /></g></svg>
This project can now be found here.
</a>
</div>
</div>
</section>
</div>
</div>
<div id="top_nav" class>
<div id="top_nav_admin">
<ul class="dropdown">
<li class>
<a href="/projects/gnu-efi/" class="tool-summary-32">
Summary
</a>
</li>
<li class>
<a href="/projects/gnu-efi/files/" class="tool-files-sf-32">
Files
</a>
</li>
<li class>
<a href="/projects/gnu-efi/reviews/" class="tool-reviews-32">
Reviews
</a>
</li>
<li class>
<a href="/projects/gnu-efi/support" class="tool-support-32">
Support
</a>
</li>
<li class>
<a href="/p/gnu-efi/_list/tickets" class="tool-tickets-32">
Tickets
</a>
<ul>
<li class><a href="/p/gnu-efi/feature-requests/">Feature Requests</a></li>
<li class><a href="/p/gnu-efi/bugs/">Bugs</a></li>
<li class><a href="/p/gnu-efi/support-requests/">Support Requests</a></li>
<li class><a href="/p/gnu-efi/patches/">Patches</a></li>
</ul>
</li>
<li class="selected">
<a href="/p/gnu-efi/code/" class="tool-git-32">
Code
</a>
</li>
<li class>
<a href="/p/gnu-efi/mailman/" class="tool-mailman-32">
Mailing Lists
</a>
</li>
</ul>
</div>
</div>
<div id="content_base">
<a id="sidebar-activate" href="#">
<span class="btn-label">Menu</span>
<span class="btn-arrow-down"></span>
<span class="btn-arrow-up"></span>
</a>
<div id="sidebar">
<div class="placeholder-no-searchbox">&nbsp;</div>
<ul class="sidebarmenu">
<li>
<a class="icon" href="/p/gnu-efi/code/commit_browser" rel="nofollow" title="Browse Commits"><i class="fa fa-list"></i>
<span>Browse Commits</span>
</a>
</li>
<li>
<a class="icon" href="/p/gnu-efi/code/fork" rel="nofollow" title="Fork"><i class="fa fa-code-fork"></i>
<span>Fork</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/merge-requests/" rel="nofollow">
<span class="has_small">Merge Requests</span>
<small>0</small></a>
</li>
<li>
<a href="/p/gnu-efi/code/forks/" rel="nofollow">
<span class="has_small">Forks</span>
<small>21</small></a>
</li>
</ul>
<h3 class>Branches</h3>
<ul class="sidebarmenu">
<li>
<a href="/p/gnu-efi/code/ci/master/tree/" rel="nofollow">
<span>master</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/versionT/tree/" rel="nofollow">
<span>versionT</span>
</a>
</li>
</ul>
<h3 class>Tags</h3>
<ul class="sidebarmenu">
<li>
<a href="/p/gnu-efi/code/ci/3.0.1/tree/" rel="nofollow">
<span>3.0.1</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.10/tree/" rel="nofollow">
<span>3.0.10</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.11/tree/" rel="nofollow">
<span>3.0.11</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.12/tree/" rel="nofollow">
<span>3.0.12</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.13/tree/" rel="nofollow">
<span>3.0.13</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.14/tree/" rel="nofollow">
<span>3.0.14</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.15/tree/" rel="nofollow">
<span>3.0.15</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.16/tree/" rel="nofollow">
<span>3.0.16</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.17/tree/" rel="nofollow">
<span>3.0.17</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.18/tree/" rel="nofollow">
<span>3.0.18</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ref/master/tags/" rel="nofollow">
<span>More Tags</span>
</a>
</li>
</ul>
</div>
<script>
$('#sidebar-admin-header').on('click', function(e){
$("#sidebar-admin-menu").toggleClass("hidden");
$(this).toggleClass("expanded");
e.preventDefault();
});
</script>
<div class="grid-20 pad">
<h2 class="dark title">
<span>
<a href="/p/gnu-efi/code/ci/74bd9b60ba4b59117490ffd54b9fb68bbe91d6b8/" rel="nofollow">[74bd9b]</a>:
<a href="./../" rel="nofollow"><b class="fa fa-folder-open-o" title="Root directory"></b></a> /
<a href="./" rel="nofollow">gnuefi</a> /
crt0-efi-loongarch64.S
</span>
<small>
<a class="icon" href="#" id="maximize-content" title="Maximize"><i class="fa fa-expand"></i>&nbsp;Maximize</a>
<a class="icon" href="#" id="restore-content" title="Restore"><i class="fa fa-compress"></i>&nbsp;Restore</a>
<a class="icon" href="/p/gnu-efi/code/ci/74bd9b60ba4b59117490ffd54b9fb68bbe91d6b8/log/?path=/gnuefi/crt0-efi-loongarch64.S" rel="nofollow" title="History"><i class="fa fa-calendar"></i>&nbsp;History</a>
</small>
</h2>
<div>
<p><a rel="nofollow" href="?format=raw">Download this file</a></p>
<div class="clip grid-19 codebrowser">
<h3>
61 lines (52 with data), 1.9 kB
</h3>
<div class="codehilite"><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span>
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span>
<span class="normal">29</span>
<span class="normal">30</span>
<span class="normal">31</span>
<span class="normal">32</span>
<span class="normal">33</span>
<span class="normal">34</span>
<span class="normal">35</span>
<span class="normal">36</span>
<span class="normal">37</span>
<span class="normal">38</span>
<span class="normal">39</span>
<span class="normal">40</span>
<span class="normal">41</span>
<span class="normal">42</span>
<span class="normal">43</span>
<span class="normal">44</span>
<span class="normal">45</span>
<span class="normal">46</span>
<span class="normal">47</span>
<span class="normal">48</span>
<span class="normal">49</span>
<span class="normal">50</span>
<span class="normal">51</span>
<span class="normal">52</span>
<span class="normal">53</span>
<span class="normal">54</span>
<span class="normal">55</span>
<span class="normal">56</span>
<span class="normal">57</span>
<span class="normal">58</span>
<span class="normal">59</span>
<span class="normal">60</span></pre></div></td><td class="code"><div><pre><div id="l1" class="code_block"><span class="o">/*</span>
</div><div id="l2" class="code_block"><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">crt0</span><span class="o">-</span><span class="n">efi</span><span class="o">-</span><span class="n">loongarch64.S</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">PE</span><span class="o">/</span><span class="n">COFF</span><span class="w"> </span><span class="n">header</span><span class="w"> </span><span class="n">for</span><span class="w"> </span><span class="n">LoongArch64</span><span class="w"> </span><span class="n">EFI</span><span class="w"> </span><span class="n">applications</span>
</div><div id="l3" class="code_block"><span class="w"> </span><span class="o">*</span>
</div><div id="l4" class="code_block"><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="nf">Copyright </span><span class="p">(</span><span class="n">C</span><span class="p">)</span><span class="w"> </span><span class="m">2021</span><span class="w"> </span><span class="n">Loongson</span><span class="w"> </span><span class="n">Technology</span><span class="w"> </span><span class="n">Corporation</span><span class="w"> </span><span class="n">Limited.</span><span class="w"> </span><span class="o">&lt;</span><span class="n">zhoumingtao</span><span class="o">@</span><span class="n">loongson.cn</span><span class="o">&gt;</span>
</div><div id="l5" class="code_block"><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="nf">Copyright </span><span class="p">(</span><span class="n">C</span><span class="p">)</span><span class="w"> </span><span class="m">2014</span><span class="w"> </span><span class="n">Linaro</span><span class="w"> </span><span class="n">Ltd.</span><span class="w"> </span><span class="o">&lt;</span><span class="n">ard.biesheuvel</span><span class="o">@</span><span class="n">linaro.org</span><span class="o">&gt;</span>
</div><div id="l6" class="code_block"><span class="w"> </span><span class="o">*</span>
</div><div id="l7" class="code_block"><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">Redistribution</span><span class="w"> </span><span class="n">and</span><span class="w"> </span><span class="n">use</span><span class="w"> </span><span class="n">in</span><span class="w"> </span><span class="n">source</span><span class="w"> </span><span class="n">and</span><span class="w"> </span><span class="n">binary</span><span class="w"> </span><span class="n">forms</span><span class="p">,</span><span class="w"> </span><span class="n">with</span><span class="w"> </span><span class="n">or</span><span class="w"> </span><span class="n">without</span>
</div><div id="l8" class="code_block"><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">modification</span><span class="p">,</span><span class="w"> </span><span class="n">are</span><span class="w"> </span><span class="n">permitted</span><span class="w"> </span><span class="n">provided</span><span class="w"> </span><span class="n">that</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="n">following</span><span class="w"> </span><span class="n">conditions</span>
</div><div id="l9" class="code_block"><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">are</span><span class="w"> </span><span class="n">met</span><span class="o">:</span>
</div><div id="l10" class="code_block"><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="m">1</span><span class="n">.</span><span class="w"> </span><span class="n">Redistributions</span><span class="w"> </span><span class="n">of</span><span class="w"> </span><span class="n">source</span><span class="w"> </span><span class="n">code</span><span class="w"> </span><span class="n">must</span><span class="w"> </span><span class="n">retain</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="n">above</span><span class="w"> </span><span class="n">copyright</span>
</div><div id="l11" class="code_block"><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">notice</span><span class="w"> </span><span class="n">and</span><span class="w"> </span><span class="n">this</span><span class="w"> </span><span class="n">list</span><span class="w"> </span><span class="n">of</span><span class="w"> </span><span class="n">conditions</span><span class="p">,</span><span class="w"> </span><span class="n">without</span><span class="w"> </span><span class="n">modification.</span>
</div><div id="l12" class="code_block"><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="m">2</span><span class="n">.</span><span class="w"> </span><span class="n">The</span><span class="w"> </span><span class="n">name</span><span class="w"> </span><span class="n">of</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="n">author</span><span class="w"> </span><span class="n">may</span><span class="w"> </span><span class="n">not</span><span class="w"> </span><span class="n">be</span><span class="w"> </span><span class="n">used</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">endorse</span><span class="w"> </span><span class="n">or</span><span class="w"> </span><span class="n">promote</span><span class="w"> </span><span class="n">products</span>
</div><div id="l13" class="code_block"><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">derived</span><span class="w"> </span><span class="n">from</span><span class="w"> </span><span class="n">this</span><span class="w"> </span><span class="n">software</span><span class="w"> </span><span class="n">without</span><span class="w"> </span><span class="n">specific</span><span class="w"> </span><span class="n">prior</span><span class="w"> </span><span class="n">written</span><span class="w"> </span><span class="n">permission.</span>
</div><div id="l14" class="code_block"><span class="w"> </span><span class="o">*</span>
</div><div id="l15" class="code_block"><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">Alternatively</span><span class="p">,</span><span class="w"> </span><span class="n">this</span><span class="w"> </span><span class="n">software</span><span class="w"> </span><span class="n">may</span><span class="w"> </span><span class="n">be</span><span class="w"> </span><span class="n">distributed</span><span class="w"> </span><span class="n">under</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="n">terms</span><span class="w"> </span><span class="n">of</span><span class="w"> </span><span class="n">the</span>
</div><div id="l16" class="code_block"><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">GNU</span><span class="w"> </span><span class="n">General</span><span class="w"> </span><span class="n">Public</span><span class="w"> </span><span class="n">License</span><span class="w"> </span><span class="n">as</span><span class="w"> </span><span class="n">published</span><span class="w"> </span><span class="n">by</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="n">Free</span><span class="w"> </span><span class="n">Software</span><span class="w"> </span><span class="n">Foundation</span><span class="p">;</span>
</div><div id="l17" class="code_block"><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">either</span><span class="w"> </span><span class="n">version</span><span class="w"> </span><span class="m">2</span><span class="w"> </span><span class="n">of</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="n">License</span><span class="p">,</span><span class="w"> </span><span class="nf">or </span><span class="p">(</span><span class="n">at</span><span class="w"> </span><span class="n">your</span><span class="w"> </span><span class="n">option</span><span class="p">)</span><span class="w"> </span><span class="n">any</span><span class="w"> </span><span class="n">later</span><span class="w"> </span><span class="n">version.</span>
</div><div id="l18" class="code_block"><span class="w"> </span><span class="o">*/</span>
</div><div id="l19" class="code_block">
</div><div id="l20" class="code_block"><span class="w"> </span><span class="n">.text</span>
</div><div id="l21" class="code_block"><span class="w"> </span><span class="n">.align</span><span class="w"> </span><span class="m">12</span>
</div><div id="l22" class="code_block"><span class="w"> </span><span class="n">.globl</span><span class="w"> </span>_<span class="n">start</span>
</div><div id="l23" class="code_block"><span class="w"> </span><span class="n">.type</span><span class="w"> </span>_<span class="n">start</span><span class="p">,</span><span class="w"> </span><span class="o">@</span><span class="n">function</span>
</div><div id="l24" class="code_block">_<span class="n">start</span><span class="o">:</span>
</div><div id="l25" class="code_block"><span class="w"> </span><span class="n">addi.d</span><span class="w"> </span><span class="o">$</span><span class="n">sp</span><span class="p">,</span><span class="w"> </span><span class="o">$</span><span class="n">sp</span><span class="p">,</span><span class="w"> </span><span class="m">-24</span>
</div><div id="l26" class="code_block"><span class="w"> </span><span class="n">st.d</span><span class="w"> </span><span class="o">$</span><span class="n">ra</span><span class="p">,</span><span class="w"> </span><span class="o">$</span><span class="n">sp</span><span class="p">,</span><span class="w"> </span><span class="m">0</span>
</div><div id="l27" class="code_block"><span class="w"> </span><span class="n">st.d</span><span class="w"> </span><span class="o">$</span><span class="n">a0</span><span class="p">,</span><span class="w"> </span><span class="o">$</span><span class="n">sp</span><span class="p">,</span><span class="w"> </span><span class="m">8</span>
</div><div id="l28" class="code_block"><span class="w"> </span><span class="n">st.d</span><span class="w"> </span><span class="o">$</span><span class="n">a1</span><span class="p">,</span><span class="w"> </span><span class="o">$</span><span class="n">sp</span><span class="p">,</span><span class="w"> </span><span class="m">16</span>
</div><div id="l29" class="code_block">
</div><div id="l30" class="code_block"><span class="w"> </span><span class="n">move</span><span class="w"> </span><span class="o">$</span><span class="n">a2</span><span class="p">,</span><span class="w"> </span><span class="o">$</span><span class="n">a0</span><span class="w"> </span><span class="o">//</span><span class="w"> </span><span class="n">a2</span><span class="o">:</span><span class="w"> </span><span class="n">ImageHandle</span>
</div><div id="l31" class="code_block"><span class="w"> </span><span class="n">move</span><span class="w"> </span><span class="o">$</span><span class="n">a3</span><span class="p">,</span><span class="w"> </span><span class="o">$</span><span class="n">a1</span><span class="w"> </span><span class="o">//</span><span class="w"> </span><span class="n">a3</span><span class="o">:</span><span class="w"> </span><span class="n">SystemTable</span>
</div><div id="l32" class="code_block"><span class="w"> </span><span class="n">la.local</span><span class="w"> </span><span class="o">$</span><span class="n">a0</span><span class="p">,</span><span class="w"> </span><span class="n">ImageBase</span><span class="w"> </span><span class="o">//</span><span class="w"> </span><span class="n">a0</span><span class="o">:</span><span class="w"> </span><span class="n">ImageBase</span>
</div><div id="l33" class="code_block"><span class="w"> </span><span class="n">la.local</span><span class="w"> </span><span class="o">$</span><span class="n">a1</span><span class="p">,</span><span class="w"> </span>_<span class="n">DYNAMIC</span><span class="w"> </span><span class="o">//</span><span class="w"> </span><span class="n">a1</span><span class="o">:</span><span class="w"> </span><span class="n">DynamicSection</span>
</div><div id="l34" class="code_block"><span class="w"> </span><span class="n">bl</span><span class="w"> </span>_<span class="n">relocate</span>
</div><div id="l35" class="code_block"><span class="w"> </span><span class="n">bnez</span><span class="w"> </span><span class="o">$</span><span class="n">a0</span><span class="p">,</span><span class="w"> </span><span class="m">0</span><span class="n">f</span>
</div><div id="l36" class="code_block">
</div><div id="l37" class="code_block"><span class="w"> </span><span class="n">ld.d</span><span class="w"> </span><span class="o">$</span><span class="n">a0</span><span class="p">,</span><span class="w"> </span><span class="o">$</span><span class="n">sp</span><span class="p">,</span><span class="w"> </span><span class="m">8</span>
</div><div id="l38" class="code_block"><span class="w"> </span><span class="n">ld.d</span><span class="w"> </span><span class="o">$</span><span class="n">a1</span><span class="p">,</span><span class="w"> </span><span class="o">$</span><span class="n">sp</span><span class="p">,</span><span class="w"> </span><span class="m">16</span>
</div><div id="l39" class="code_block"><span class="w"> </span><span class="n">bl</span><span class="w"> </span>_<span class="n">entry</span>
</div><div id="l40" class="code_block">
</div><div id="l41" class="code_block"><span class="m">0</span><span class="o">:</span><span class="w"> </span><span class="n">ld.d</span><span class="w"> </span><span class="o">$</span><span class="n">ra</span><span class="p">,</span><span class="w"> </span><span class="o">$</span><span class="n">sp</span><span class="p">,</span><span class="w"> </span><span class="m">0</span>
</div><div id="l42" class="code_block"><span class="w"> </span><span class="n">addi.d</span><span class="w"> </span><span class="o">$</span><span class="n">sp</span><span class="p">,</span><span class="w"> </span><span class="o">$</span><span class="n">sp</span><span class="p">,</span><span class="w"> </span><span class="m">24</span>
</div><div id="l43" class="code_block"><span class="w"> </span><span class="n">jr</span><span class="w"> </span><span class="o">$</span><span class="n">ra</span>
</div><div id="l44" class="code_block">
</div><div id="l45" class="code_block"><span class="o">//</span><span class="w"> </span><span class="n">hand</span><span class="o">-</span><span class="n">craft</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="n">dummy</span><span class="w"> </span><span class="n">.reloc</span><span class="w"> </span><span class="n">section</span><span class="w"> </span><span class="n">so</span><span class="w"> </span><span class="n">EFI</span><span class="w"> </span><span class="n">knows</span><span class="w"> </span><span class="n">it</span><span class="s">&#39;</span><span class="err">s a relocatable executable:</span>
</div><div id="l46" class="code_block">
</div><div id="l47" class="code_block"><span class="w"> </span><span class="n">.data</span>
</div><div id="l48" class="code_block"><span class="n">dummy</span><span class="o">:</span><span class="w"> </span><span class="n">.</span><span class="m">4</span><span class="n">byte</span><span class="w"> </span><span class="m">0</span>
</div><div id="l49" class="code_block">
</div><div id="l50" class="code_block"><span class="c1">#define IMAGE_REL_ABSOLUTE 0</span>
</div><div id="l51" class="code_block"><span class="w"> </span><span class="n">.section</span><span class="w"> </span><span class="n">.reloc</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;a&quot;</span>
</div><div id="l52" class="code_block"><span class="n">label1</span><span class="o">:</span>
</div><div id="l53" class="code_block"><span class="w"> </span><span class="n">.</span><span class="m">4</span><span class="n">byte</span><span class="w"> </span><span class="n">dummy</span><span class="o">-</span><span class="n">label1</span><span class="w"> </span><span class="o">//</span><span class="w"> </span><span class="n">Page</span><span class="w"> </span><span class="n">RVA</span>
</div><div id="l54" class="code_block"><span class="w"> </span><span class="n">.</span><span class="m">4</span><span class="n">byte</span><span class="w"> </span><span class="m">12</span><span class="w"> </span><span class="o">//</span><span class="w"> </span><span class="n">Block</span><span class="w"> </span><span class="nf">Size </span><span class="p">(</span><span class="m">2</span><span class="o">*</span><span class="m">4+2</span><span class="o">*</span><span class="m">2</span><span class="p">),</span><span class="w"> </span><span class="n">must</span><span class="w"> </span><span class="n">be</span><span class="w"> </span><span class="n">aligned</span><span class="w"> </span><span class="n">by</span><span class="w"> </span><span class="m">32</span><span class="w"> </span><span class="n">Bits</span>
</div><div id="l55" class="code_block"><span class="w"> </span><span class="n">.</span><span class="m">2</span><span class="nf">byte </span><span class="p">(</span><span class="n">IMAGE_REL_ABSOLUTE</span><span class="o">&lt;&lt;</span><span class="m">12</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="o">//</span><span class="w"> </span><span class="n">reloc</span><span class="w"> </span><span class="n">for</span><span class="w"> </span><span class="n">dummy</span>
</div><div id="l56" class="code_block"><span class="w"> </span><span class="n">.</span><span class="m">2</span><span class="nf">byte </span><span class="p">(</span><span class="n">IMAGE_REL_ABSOLUTE</span><span class="o">&lt;&lt;</span><span class="m">12</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="o">//</span><span class="w"> </span><span class="n">reloc</span><span class="w"> </span><span class="n">for</span><span class="w"> </span><span class="n">dummy</span>
</div><div id="l57" class="code_block">
</div><div id="l58" class="code_block"><span class="c1">#if defined(__ELF__) &amp;&amp; defined(__linux__)</span>
</div><div id="l59" class="code_block"><span class="w"> </span><span class="n">.section</span><span class="w"> </span><span class="n">.note.GNU</span><span class="o">-</span><span class="n">stack</span><span class="p">,</span><span class="s">&quot;&quot;</span><span class="p">,</span>%<span class="n">progbits</span>
</div><div id="l60" class="code_block"><span class="c1">#endif</span>
</div></pre></div></td></tr></table></div>
</div>
</div>
</div>
</div>
</section>
<footer class="sandiego">
<div class="as-row">
<div class="footer-wrapper">
<nav aria-label="Site Links" role="navigation">
<section>
<div class="as-h2">SourceForge</div>
<ul>
<li><a href="/create/" title="Create a Project">Create a Project</a></li>
<li><a href="/directory/" title="Open Source Software Directory">Open Source Software</a></li>
<li><a href="/software/" title="Business Software Directory">Business Software</a></li>
<li><a href="/top" title="Top Open Source Projects">Top Downloaded Projects</a></li>
</ul>
</section>
</nav>
<nav aria-label="Company Links" role="navigation">
<section>
<div class="as-h2">Company</div>
<ul>
<li><a href="/about">About</a></li>
<li><a href="/about/leadership" title="Open Source Software Directory">Team</a></li>
<li class="h-card">
<address>
<span class="p-name p-org">SourceForge Headquarters</span><br>
<span class="p-street-address">225 Broadway Suite 1600</span><br>
<span class="p-locality">San Diego, CA <span class="p-postal-code">92101</span></span><br>
<span class="p-tel">+1 (858) 454-5900</span><br>
</address>
</li>
<li id="social">
<span></span>
<a href="https://twitter.com/sourceforge" class="twitter" rel="nofollow" target="_blank">
<svg class="vertical-icon-fix" data-name="twitter" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1684 408q-67 98-162 167 1 14 1 42 0 130-38 259.5t-115.5 248.5-184.5 210.5-258 146-323 54.5q-271 0-496-145 35 4 78 4 225 0 401-138-105-2-188-64.5t-114-159.5q33 5 61 5 43 0 85-11-112-23-185.5-111.5t-73.5-205.5v-4q68 38 146 41-66-44-105-115t-39-154q0-88 44-163 121 149 294.5 238.5t371.5 99.5q-8-38-8-74 0-134 94.5-228.5t228.5-94.5q140 0 236 102 109-21 205-78-37 115-142 178 93-10 186-50z" /></svg></a>
<a href="https://fosstodon.org/@sourceforge" rel="me nofollow" target="_blank">
<svg class="vertical-icon-fix" data-name="mastodon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z" /></svg></a>
<a href="https://www.facebook.com/sourceforgenet/" class="facebook" rel="nofollow" target="_blank">
<svg data-name="facebook" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1343 12v264h-157q-86 0-116 36t-30 108v189h293l-39 296h-254v759h-306v-759h-255v-296h255v-218q0-186 104-288.5t277-102.5q147 0 228 12z" /></svg></a>
<a href="https://www.linkedin.com/company/sourceforge.net" class="linkedin" rel="nofollow" target="_blank">
<svg data-name="linkedin" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M477 625v991h-330v-991h330zm21-306q1 73-50.5 122t-135.5 49h-2q-82 0-132-49t-50-122q0-74 51.5-122.5t134.5-48.5 133 48.5 51 122.5zm1166 729v568h-329v-530q0-105-40.5-164.5t-126.5-59.5q-63 0-105.5 34.5t-63.5 85.5q-11 30-11 81v553h-329q2-399 2-647t-1-296l-1-48h329v144h-2q20-32 41-56t56.5-52 87-43.5 114.5-15.5q171 0 275 113.5t104 332.5z" /></svg></a>
<a href="/user/newsletters" rel="nofollow" class="newsletter" title="Subscribe to our newsletter">
<svg class="vertical-icon-fix" data-name="mmSF_11mail" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 42 42" enable-background="new 0 0 42 42" xml:space="preserve"><path fill="#FFFFFF" d="M0,6v30h42V6H0z M24.2,21.2c-0.8,0.8-2.3,2-3.2,2c-0.9,0-2.4-1.2-3.2-2L5.8,9.7h30.3L24.2,21.2z M13.7,21l-9.9,9.4V11.6L13.7,21z M15.7,23L15.7,23c0.5,0.5,2.9,2.9,5.3,2.9c2.4,0,4.8-2.4,5.2-2.8l0.1-0.1l9.8,9.4H5.8L15.7,23z M28.3,21l9.9-9.5v18.9L28.3,21z" /></svg></a>
<span></span>
</li>
</ul>
</section>
</nav>
<nav aria-label="Resources Links" role="navigation">
<section>
<div class="as-h2">Resources</div>
<ul>
<li><a href="/support" title="Support Section">Support</a></li>
<li><a href="/p/forge/documentation/Docs%20Home/" title="Site Documentation">Site Documentation</a></li>
<li><a href="https://fosstodon.org/@sourceforgestatus" title="Site Status" rel="me nofollow">Site Status</a></li>
</ul>
</section>
</nav>
<section class="footer-logo">
<a href="/" title="Home" class="sf-logo">
<img src="https://a.fsdn.com/con/images/sandiego/sf-logo-full.svg" alt="SourceForge logo" class="sf-logo-full" />
</a>
</section>
</div>
</div>
<section class="l-nav-bottom">
<nav class="row">
<div class="columns small-12 large-6 copyright-notice">
&copy; 2024 Slashdot Media. All Rights Reserved.
</div>
<div class="columns large-6 links links-right">
<a href="https://slashdotmedia.com/terms-of-use" title="Terms" rel="nofollow">Terms</a>
<a href="https://slashdotmedia.com/privacy-statement/" title="Privacy" rel="nofollow">Privacy</a>
<a href="https://slashdotmedia.com/opt-out-choices" title="Opt Out" rel="nofollow">Opt Out</a>
<a href="https://slashdotmedia.com/contact/" target="_blank" title="Advertise" rel="nofollow">Advertise</a>
</div>
</nav>
</section>
</footer>
</div>
<div id="messages">
</div>
<script type="text/javascript" src="https://a.fsdn.com/allura/nf/1713900842/_ew_/_slim/js?href=allura%2Fjs%2Fjquery.notify.js%3Ballura%2Fjs%2Fjquery.tooltipster.js%3Ballura%2Fjs%2Fallura-base.js%3Ballura%2Fjs%2Fchecklist.js%3Ballura%2Fjs%2Fadmin_modal.js%3Bjs%2Fjquery.lightbox_me.js%3Ballura%2Fjs%2Fmemorable.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fshared.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fsticky.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fsandiego%2Fchrome.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fsandiego%2Futilities.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.core.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.util.mediaQuery.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.util.keyboard.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.util.box.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.util.nest.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.dropdownMenu.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.offcanvas.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.toggler.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fsandiego%2Fproject.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Fjquery.typeahead.min.js%3Ballura%2Fjs%2Fmaximize-content.js"></script>
<script type="text/javascript" src="https://a.fsdn.com/allura/nf/1713900842/_ew_/_slim/js?href=theme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.util.triggers.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.reveal.min.js"></script>
<script type="text/javascript">(function() {
$('#access_urls .btn').click(function(evt){
evt.preventDefault();
var parent = $(this).parents('.btn-bar');
var checkout_cmd = $(this).attr('data-url');
$(parent).find('input').val(checkout_cmd);
$(parent).find('span').text($(this).attr('title')+' access');
$(this).parent().children('.btn').removeClass('active');
$(this).addClass('active');
if (checkout_cmd.indexOf(' http://') !== -1 || checkout_cmd.indexOf(' https://') !== -1 ) {
$('#http-2fa-msg').show();
} else {
$('#http-2fa-msg').hide();
}
});
$('#access_urls .btn').first().click();
var repo_status = document.getElementById('repo_status');
// The repo_status div will only be present if repo.status != 'ready'
if (repo_status) {
$('.spinner').show()
var delay = 500;
function check_status() {
$.get('/p/gnu-efi/code/status', function(data) {
if (data.status === 'ready') {
$('.spinner').hide()
$('#repo_status h2').html('Repo status: ready. <a href="." rel="nofollow">Click here to refresh this page.</a>');
}
else {
$('#repo_status h2 span').html(data.status);
if (delay < 60000){
delay = delay * 2;
}
window.setTimeout(check_status, delay);
}
});
}
var status_checker = window.setTimeout(check_status, delay);
}
}());
</script>
<script type="text/javascript">(function() {
$(window).on('hashchange', function(e) {
var hash = window.location.hash.substring(1);
if ('originalEvent' in e && 'oldURL' in e.originalEvent) {
$('#' + e.originalEvent.oldURL.split('#')[1]).css('background-color', 'transparent');
}
if (hash !== '' && hash.substring(0, 1) === 'l' && !isNaN(hash.substring(1))) {
$('#' + hash).css('background-color', '#ffff99');
}
}).trigger('hashchange');
var clicks = 0;
$('.code_block').each(function(index, element) {
$(element).on('click', function() {
// Trick to ignore double and triple clicks
clicks++;
if (clicks === 1) {
setTimeout(function() {
if (clicks === 1) {
var hash = window.location.hash.substring(1);
if (hash !== '' && hash.substring(0, 1) === 'l' && !isNaN(hash.substring(1))) {
$('#' + hash).css('background-color', 'transparent');
}
$(element).css('background-color', '#ffff99');
window.history.pushState({}, document.title, window.location.pathname + window.location.search + '#' + $(element).attr('id'));
}
clicks = 0;
}, 500);
}
});
});
}());
</script>
<noscript><p><img src="//analytics.slashdotmedia.com/sf.php?idsite=39" style="border:0;position:absolute;top:0;" alt="" /></p></noscript>
<script>
$(document).foundation();
</script>
<script>
(function () {
bizx.cmp.ifConsent({ purposes: 'all', vendors: 'bombora'}, function () {
/*global _ml:true, window */
_ml = window._ml || {};
_ml.eid = '771';
_ml.fp = 'a54b1490-e508-4377-b894-6649b1318a77';
var s = document.getElementsByTagName('script')[0], cd = new Date(), mltag = document.createElement('script');
mltag.type = 'text/javascript';
mltag.async = true;
mltag.defer = true;
mltag.src = '//ml314.com/tag.aspx?' + cd.getDate() + cd.getMonth() + cd.getFullYear();
s.parentNode.insertBefore(mltag, s);
});
})();
</script>
<script>
$(document).ready(function () {
$(".tooltip, .m-tooltip").each(function(){
let $el = $(this);
$el.tooltipster({
animation: 'fade',
delay: 200,
theme: 'tooltipster-light',
trigger: 'hover',
position: $el.data('position') || 'right',
iconCloning: false,
maxWidth: 300,
contentAsHTML: true,
interactive: true
}).focus(function () {
$(this).tooltipster('show');
}).blur(function () {
$(this).tooltipster('hide');
});
});
});
</script>
<script type="text/javascript">
bizx.cmp.ifConsent('', ['all'], function () {
/* jshint ignore:start */
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
/* jshint ignore:end */
window.dataLayer = window.dataLayer || [];
function gtag(){ window.dataLayer.push(arguments); }
window.gtag = window.gtag || gtag;
bizx.cmp.embedScript("https://www.googletagmanager.com/gtag/js");
gtag('js', new Date());
gtag('set', {
'page_location': 'https://sourceforge.net/p/gnu-efi/code/ci/3.0.18/tree/gnuefi/crt0-efi-loongarch64.S',
});
});
</script>
<script type="text/javascript">
/*global ga, gtag */
bizx.cmp.ifConsent('', ['all'], function () {
ga('create', "UA-36130941-1", {cookieDomain: 'auto', 'name': 'sfnt1','sampleRate': 9});
ga('sfnt1.set', 'dimension9', 'gnu-efi');
ga('sfnt1.set', 'dimension10', 'git');
ga('sfnt1.set', 'dimension13', 'Logged Out');
ga('sfnt1.send', 'pageview');
});
bizx.cmp.ifConsent('', ['all'], function () {
gtag('config', 'G-1H226E4E4L', {
send_page_view: false,
'SF_Page_Type': '',
user_properties: {
'SF_Logged_in': 'Logged Out',
},
'devicePixelRatio': SF.devicePixelRatio,
});
gtag('event', 'page_view', { send_to: 'G-1H226E4E4L' });
});
</script>
</body>
</html>

847
elf_loongarch64_efi.lds Normal file
View File

@ -0,0 +1,847 @@
<!DOCTYPE html>
<html lang="en" class="no-js">
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type" />
<title>
gnu-efi / Code /
[74bd9b]
/gnuefi/elf_loongarch64_efi.lds
</title>
<meta name="viewport" content="width=1100">
<link rel="icon" sizes="180x180" href="https://a.fsdn.com/con/img/sandiego/logo-180x180.png" type="image/png">
<link rel="icon" sizes="any" href="https://a.fsdn.com/con/img/sandiego/svg/originals/sf-icon-orange-no_sf.svg" type="image/svg+xml">
<link rel="apple-touch-icon" sizes="180x180" href="https://a.fsdn.com/con/img/sandiego/logo-180x180.png">
<link rel="mask-icon" href="https://a.fsdn.com/con/img/sandiego/svg/originals/sf-icon-orange-no_sf.svg" color="#FF6600">
<link rel="stylesheet" href="https://a.fsdn.com/con/css/lato.css?">
<script>
if (!window.SF) { window.SF = {}; }
SF.sandiego = false;
SF.sandiego_chrome = true;
SF.cdn = "https://a.fsdn.com/con";
SF.fpid = 'a5db6072-d18a-45e9-a721-d95d524114bc';
</script>
<link rel="stylesheet" type="text/css" href="https://a.fsdn.com/allura/nf/1713900842/_ew_/_slim/css?href=allura%2Fcss%2Fforge%2Fhilite.css%3Ballura%2Fcss%2Fforge%2Ftooltipster.css">
<link rel="stylesheet" type="text/css" href="https://a.fsdn.com/allura/nf/1713900842/_ew_/allura/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="https://a.fsdn.com/allura/nf/1713900842/_ew_/theme/sftheme/css/forge.css">
<script type="text/javascript" src="https://a.fsdn.com/allura/nf/1713900842/_ew_/_slim/js?href=allura%2Fjs%2Fjquery-3.6.0.min.js%3Ballura%2Fjs%2Fjquery.cookie-1.4.1.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fcmp2.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fshared_head.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Ftypescript%2Fcompliance.js"></script>
<style type="text/css">
/* make URL &amp; Project custom fields in support tickets not get hidden as much */
.project-forge.mountpoint-site-support .view_holder .grid-4:nth-child(5),
.project-forge.mountpoint-site-support .view_holder .grid-4:nth-child(6) {
overflow: visible;
font-size: 22px;
width: 340px;
line-height: 1;
margin-bottom: 5px;
}
.project-forge.mountpoint-site-support .view_holder .grid-4:nth-child(5) label, .project-forge.mountpoint-site-support .view_holder .grid-4:nth-child(6) label {
font-size: 14px;
}
</style>
<link rel="alternate" type="application/rss+xml" title="RSS" href="/p/gnu-efi/code/feed.rss" />
<link rel="alternate" type="application/atom+xml" title="Atom" href="/p/gnu-efi/code/feed.atom" />
<style type="text/css">
#access_urls .btn-set {
min-width: 14em;
}
</style>
<style>.XwpAFwqAwYbbnDoDZUbsKwqQswHwrJfwk {
display: none
}</style>
<link rel="canonical" href="https://sourceforge.net/p/gnu-efi/code/ci/3.0.18/tree/gnuefi/elf_loongarch64_efi.lds" />
<script>
function initPiwik(){
var _paq = window._paq = window._paq || [];
_paq.push(['trackPageView', document.title, {
dimension1: 'gnu-efi',
dimension2: 'git'
}]);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.slashdotmedia.com/";
_paq.push(['setTrackerUrl', u+'sf.php']);
_paq.push(['setSiteId', 39]);
// only execute if 'measurement' has been granted
bizx.cmp.ifConsent({ purposes: ['measurement'], vendors: 'sdm'}, function() {
var interval = 6 * 60 * 60 * 1000; // 6 hrs, expressed in ms
var vid_date = new Date(localStorage.getItem('vid_date'));
if (new Date() - vid_date >= interval) {
var data = {firstparty_id: "a5db6072-d18a-45e9-a721-d95d524114bc", do_not_sell: false};
bizx.cmp.ifConsent({ purposes: ['ads'], vendors: 'sdm'}, function() {},
function(){
// no consent (opt-out)
data.do_not_sell = true;
},
function(){
//finally call api endpoint
// push promise to pwik and set it run if pwik is allowed to run based on it's own ifConsent check
_paq.push([ function() {
data.matomo_id = this.getVisitorId();
$.ajax({
method: 'PUT',
url: '/p/sfapi/push_vid',
data: JSON.stringify(data)
})
.always(function(){
localStorage.setItem('vid_date', new Date());
});
}]);
}
);
}
});
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+'sf.js'; s.parentNode.insertBefore(g,s);
})();
}
bizx.cmp.ifConsent({ purposes: ['storage', 'measurement'], vendors: 'sdm'}, initPiwik);
</script>
</head>
<body class="
body_class sandiego_chrome legacy_chrome l-allow-natural-width
" id="forge">
<div class="off-canvas position-right" id="offCanvas" data-off-canvas>
<ul class="header-nav-menulist">
<li class="highlight search">
<form method="get" action="/directory/" class="m-search-form">
<input type="text" placeholder="Search for software or solutions" autocomplete="off" name="q">
<label>
<input type="submit" class="bt" value>
<svg data-name="search" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z" /></svg>
</label>
</form>
</li>
<li class="highlight"><a href="/auth/">Join/Login</a></li>
<li><a href="/directory/">Open Source Software</a></li>
<li><a href="/software/">Business Software</a></li>
<li><a href="/software/vendors/" title="For Vendors">For Vendors</a></li>
<li><a href="/blog/" title="Blog">Blog</a></li>
<li><a href="/about">About</a></li>
<li><a id="header-nav-more" data-toggle="header-nav-more header-nav-more-content" data-toggler=".toggled">More</a></li>
<li>
<ul id="header-nav-more-content" class="toggled" data-toggler=".toggled">
<li><a href="/articles/">Articles</a></li>
<li><a href="/create">Create</a></li>
<li><a href="/learn/">Learn</a></li>
<li><a href="https://sourceforge.net/p/forge/documentation/Docs%20Home/">Site Documentation</a></li>
<li><a href="/user/newsletters">Subscribe to our Newsletter</a></li>
<li><a href="/support">Support Request</a></li>
</ul>
</li>
</ul>
</div>
<div class="off-canvas-content" data-off-canvas-content>
<script>
SF.linkout_icon = '<svg data-name="sf-linkout-icon" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 300" style="enable-background:new 0 0 300 300;" xml:space="preserve"><polygon class="st0" points="243.2,243.2 56.8,243.2 56.8,56.8 123,56.8 123,9 9,9 9,291 291,291 291,179.4 243.2,179 "/><polygon class="st0" points="128.5,213 155,186.5 176,165.5 206.7,196.3 235.5,132.5 248.9,102.6 290.6,9.8 291,9 290.6,9.2 197.4,51.1 169.1,63.8 103.7,93.3 137,126.5 115.9,147.5 89.5,174 "/></svg>';
</script>
<div class="l-header-nav sandiego">
<section class="sandiego l-header-nav-top show-for-large">
<div class="row">
<a href="/" title="Home" class="sf-logo">
<img src="https://a.fsdn.com/con/images/sandiego/sf-logo-full.svg" alt="SourceForge logo" class="sf-logo-full" />
</a>
<nav class="links">
<a href="/user/newsletters" title="Subscribe to our newsletter"><span class="newsletter-icon">
<svg data-name="mmSF_11mail" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 42 42" enable-background="new 0 0 42 42" xml:space="preserve"><path fill="#FFFFFF" d="M0,6v30h42V6H0z M24.2,21.2c-0.8,0.8-2.3,2-3.2,2c-0.9,0-2.4-1.2-3.2-2L5.8,9.7h30.3L24.2,21.2z M13.7,21l-9.9,9.4V11.6L13.7,21z M15.7,23L15.7,23c0.5,0.5,2.9,2.9,5.3,2.9c2.4,0,4.8-2.4,5.2-2.8l0.1-0.1l9.8,9.4H5.8L15.7,23z M28.3,21l9.9-9.5v18.9L28.3,21z" /></svg></span></a>
<a href="/software/vendors/" title="For Vendors">For Vendors</a>
<a href="/support" title="Help">Help</a>
<a href="/create/" title="Create">Create</a>
<a href="/user/registration" title="Join">Join</a>
<a href="/auth/" title="Login">Login</a>
</nav>
</div>
</section>
<section class="sandiego l-header-nav-top hide-for-large">
<div class="row">
<a href="/" title="Home" class="sf-logo">
<img src="https://a.fsdn.com/con/images/sandiego/sf-logo-full.svg" alt="SourceForge logo" class="sf-logo-full" />
</a>
<div class="title-bar-right">
<button type="button" class="menu-icon" data-toggle="offCanvas"></button>
</div>
</div>
</section>
<section class="sandiego l-header-nav-bottom">
<nav class="row">
<a href="/" title="Home" class="sf-logo">
<img src="https://a.fsdn.com/con/images/sandiego/sf-logo-full.svg" alt="SourceForge logo" class="sf-logo-full" />
</a>
<div class="links">
<div class="nav-dropdown">
<a href="/directory/" title="Browse">Open Source Software</a>
</div>
<div class="nav-dropdown">
<a href="/software/">Business Software</a>
</div>
<div class="nav-dropdown">
<a>Resources</a>
<ul class="nav-dropdown-menu">
<li><a href="/articles/">Articles</a></li>
<li><a href="/learn/">Learn</a></li>
<li><a href="/blog/">Blog</a></li>
</ul>
</div>
<div class="dev-menu-when-stuck">
Menu
<ul class="dev-menu-dropdown header-nav-menulist">
<li><a href="/support">Help</a></li>
<li><a href="/create">Create</a></li>
<li><a href="/user/registration/" title="Join">Join</a></li>
<li><a href="/auth/" title="Login">Login</a></li>
</ul>
</div>
<div class="search-toggle-when-stuck">
<a class="search-toggle">
<svg data-name="search" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z" /></svg>
</a>
</div>
</div>
<div class="search">
<div class="main-nav-button">
<a href="/p/import_project/github/" rel="nofollow" title="Sync your Github project to SourceForge" id="github-link">
<img src="https://a.fsdn.com/con/images/sandiego/github-sync.png" srcset="https://a.fsdn.com/con/images/sandiego/github-sync_2x.png 2x" alt="GitHub sync" id="main-nav-badge" />
</a>
</div>
<form method="get" action="/directory/" class="m-search-form">
<div class="typeahead__container">
<div class="typeahead__field">
<div class="typeahead__query">
<input type="text" placeholder="Search for software or solutions" autocomplete="off" name="q">
</div>
<label>
<input type="submit" class="bt" value>
<svg data-name="search" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z" /></svg>
</label>
</div>
</div>
</form>
</div>
</nav>
</section>
</div>
<div class="notification-on-project-page">
</div>
<section id="page-body" class=" neighborhood-Projects project-gnu-efi mountpoint-code
">
<div id="nav_menu_holder">
<div class="sandiego">
<section class="project-masthead">
<div class="backdrop" style="box-sizing: content-box; padding-bottom: 100px"></div>
<div class="content">
<nav id="breadcrumbs" class="breadcrumbs rtl">
<ul itemscope itemtype="http://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a itemprop="item" href="/"><span itemprop="name">Home</span></a>
<meta itemprop="position" content="1" />
</li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a itemprop="item" href="/directory/"><span itemprop="name">Browse</span></a>
<meta itemprop="position" content="2" />
</li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a itemprop="item" href="/p/gnu-efi/"><span itemprop="name">gnu-efi</span></a>
<meta itemprop="position" content="3" />
</li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<span itemprop="name">Code</span>
<meta itemprop="position" content="4" />
</li>
</ul>
</nav>
<div class="overview">
<div class="project-icon default-project-icon ">
<svg data-name="default-icon" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 300" style="enable-background:new 0 0 300 300;" xml:space="preserve"><rect class="st0" width="300" height="300" /><g><path class="st1" d="M162.5,154.8c0-28.9-10.2-42-15.6-46.9c-1.1-1-2.7-0.1-2.6,1.3c1.1,16.3-19.4,20.3-19.4,45.9h0c0,0.1,0,0.1,0,0.2c0,15.6,11.8,28.3,26.3,28.3c14.5,0,26.3-12.7,26.3-28.3c0-0.1,0-0.1,0-0.2h0c0-7.2-2.7-14.1-5.5-19.3c-0.5-1-2.1-0.6-1.9,0.3C174.9,158.1,162.5,171.8,162.5,154.8z" /><g><path class="st1" d="M131.2,215.6c-0.7,0-1.3-0.3-1.8-0.7l-67.2-67.1c-1-1-1-2.6,0-3.6l70.9-70.9c0.5-0.5,1.1-0.7,1.8-0.7h20.4c1.2,0,2,0.8,2.3,1.6c0.3,0.7,0.3,1.9-0.5,2.7l-66.7,66.7c-1.3,1.3-1.3,3.5,0,4.9l52.7,52.7c1,1,1,2.6,0,3.6L133,214.9C132.5,215.4,131.9,215.6,131.2,215.6z" /></g><g><path class="st1" d="M144.7,227.4c-1.2,0-2-0.8-2.3-1.5c-0.3-0.7-0.3-1.9,0.5-2.7l66.7-66.7c0.7-0.6,1-1.5,1-2.4s-0.4-1.8-1-2.4l-52.7-52.7c-1-1-1-2.6,0-3.6l10.2-10.2c0.5-0.5,1.1-0.7,1.8-0.7c0.7,0,1.3,0.3,1.8,0.7l67,67.1c0.5,0.5,0.7,1.1,0.7,1.8s-0.3,1.3-0.7,1.8l-70.9,70.9c-0.5,0.5-1.1,0.7-1.8,0.7H144.7z" /></g></g></svg>
</div>
<div class="title ">
<meta itemprop="name" content="gnu-efi" />
<h1>gnu-efi Code
</h1>
<div class="as-h3 brought-by">
Brought to you by:
<a href="/u/noxorc/profile/">noxorc</a>
</div>
</div>
</div>
<div class="special-messages">
<a class="button blue moved-notice" target="_blank" href="https://github.com/ncroxon/gnu-efi" rel="nofollow">
<svg data-name="arrow-circle-right" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 300" style="enable-background:new 0 0 300 300;" xml:space="preserve"><g><path class="st0" d="M150,0C67.2,0,0,67.2,0,150c0,82.8,67.2,150,150,150s150-67.2,150-150C300,67.2,232.8,0,150,0z M150.8,234.2v-50.5H58.2v-67.3h92.6V65.8l101,84.2L150.8,234.2z" /></g></svg>
This project can now be found here.
</a>
</div>
</div>
</section>
</div>
</div>
<div id="top_nav" class>
<div id="top_nav_admin">
<ul class="dropdown">
<li class>
<a href="/projects/gnu-efi/" class="tool-summary-32">
Summary
</a>
</li>
<li class>
<a href="/projects/gnu-efi/files/" class="tool-files-sf-32">
Files
</a>
</li>
<li class>
<a href="/projects/gnu-efi/reviews/" class="tool-reviews-32">
Reviews
</a>
</li>
<li class>
<a href="/projects/gnu-efi/support" class="tool-support-32">
Support
</a>
</li>
<li class>
<a href="/p/gnu-efi/_list/tickets" class="tool-tickets-32">
Tickets ▾
</a>
<ul>
<li class><a href="/p/gnu-efi/feature-requests/">Feature Requests</a></li>
<li class><a href="/p/gnu-efi/bugs/">Bugs</a></li>
<li class><a href="/p/gnu-efi/support-requests/">Support Requests</a></li>
<li class><a href="/p/gnu-efi/patches/">Patches</a></li>
</ul>
</li>
<li class="selected">
<a href="/p/gnu-efi/code/" class="tool-git-32">
Code
</a>
</li>
<li class>
<a href="/p/gnu-efi/mailman/" class="tool-mailman-32">
Mailing Lists
</a>
</li>
</ul>
</div>
</div>
<div id="content_base">
<a id="sidebar-activate" href="#">
<span class="btn-label">Menu</span>
<span class="btn-arrow-down">▾</span>
<span class="btn-arrow-up">▴</span>
</a>
<div id="sidebar">
<div class="placeholder-no-searchbox">&nbsp;</div>
<ul class="sidebarmenu">
<li>
<a class="icon" href="/p/gnu-efi/code/commit_browser" rel="nofollow" title="Browse Commits"><i class="fa fa-list"></i>
<span>Browse Commits</span>
</a>
</li>
<li>
<a class="icon" href="/p/gnu-efi/code/fork" rel="nofollow" title="Fork"><i class="fa fa-code-fork"></i>
<span>Fork</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/merge-requests/" rel="nofollow">
<span class="has_small">Merge Requests</span>
<small>0</small></a>
</li>
<li>
<a href="/p/gnu-efi/code/forks/" rel="nofollow">
<span class="has_small">Forks</span>
<small>21</small></a>
</li>
</ul>
<h3 class>Branches</h3>
<ul class="sidebarmenu">
<li>
<a href="/p/gnu-efi/code/ci/master/tree/" rel="nofollow">
<span>master</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/versionT/tree/" rel="nofollow">
<span>versionT</span>
</a>
</li>
</ul>
<h3 class>Tags</h3>
<ul class="sidebarmenu">
<li>
<a href="/p/gnu-efi/code/ci/3.0.1/tree/" rel="nofollow">
<span>3.0.1</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.10/tree/" rel="nofollow">
<span>3.0.10</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.11/tree/" rel="nofollow">
<span>3.0.11</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.12/tree/" rel="nofollow">
<span>3.0.12</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.13/tree/" rel="nofollow">
<span>3.0.13</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.14/tree/" rel="nofollow">
<span>3.0.14</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.15/tree/" rel="nofollow">
<span>3.0.15</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.16/tree/" rel="nofollow">
<span>3.0.16</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.17/tree/" rel="nofollow">
<span>3.0.17</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ci/3.0.18/tree/" rel="nofollow">
<span>3.0.18</span>
</a>
</li>
<li>
<a href="/p/gnu-efi/code/ref/master/tags/" rel="nofollow">
<span>More Tags</span>
</a>
</li>
</ul>
</div>
<script>
$('#sidebar-admin-header').on('click', function(e){
$("#sidebar-admin-menu").toggleClass("hidden");
$(this).toggleClass("expanded");
e.preventDefault();
});
</script>
<div class="grid-20 pad">
<h2 class="dark title">
<span>
<a href="/p/gnu-efi/code/ci/74bd9b60ba4b59117490ffd54b9fb68bbe91d6b8/" rel="nofollow">[74bd9b]</a>:
<a href="./../" rel="nofollow"><b class="fa fa-folder-open-o" title="Root directory"></b></a> /
<a href="./" rel="nofollow">gnuefi</a> /
elf_loongarch64_efi.lds
</span>
<small>
<a class="icon" href="#" id="maximize-content" title="Maximize"><i class="fa fa-expand"></i>&nbsp;Maximize</a>
<a class="icon" href="#" id="restore-content" title="Restore"><i class="fa fa-compress"></i>&nbsp;Restore</a>
<a class="icon" href="/p/gnu-efi/code/ci/74bd9b60ba4b59117490ffd54b9fb68bbe91d6b8/log/?path=/gnuefi/elf_loongarch64_efi.lds" rel="nofollow" title="History"><i class="fa fa-calendar"></i>&nbsp;History</a>
</small>
</h2>
<div>
<p><a rel="nofollow" href="?format=raw">Download this file</a></p>
<div class="clip grid-19 codebrowser">
<h3>
120 lines (113 with data), 2.4 kB
</h3>
<pre>OUTPUT_FORMAT(&#34;elf64-loongarch&#34;, &#34;elf64-loongarch&#34;, &#34;elf64-loongarch&#34;)
OUTPUT_ARCH(loongarch)
ENTRY(_start)
SECTIONS
{
. = 0;
ImageBase = .;
/* .hash and/or .gnu.hash MUST come first! */
.hash : { *(.hash) }
.gnu.hash : { *(.gnu.hash) }
. = ALIGN(4096);
.eh_frame : { *(.eh_frame) }
.gcc_except_table : { *(.gcc_except_table*) }
. = ALIGN(4096);
.text : {
_text = .;
*(.text)
*(.text.*)
*(.gnu.linkonce.t.*)
*(.plt)
. = ALIGN(16);
}
_etext = .;
_text_size = _etext - _text;
. = ALIGN(4096);
.reloc :
{
KEEP (*(.reloc))
}
. = ALIGN(65536);
.dynamic : { *(.dynamic) }
. = ALIGN(4096);
.data :
{
_data = .;
*(.sdata)
*(.data)
*(.data1)
*(.data.*)
*(.got.plt)
*(.got)
/*
* Note that these aren&#39;t the using the GNU &#34;CONSTRUCTOR&#34; output section
* command, so they don&#39;t start with a size. Because of p2align and the
* end/END definitions, and the fact that they&#39;re mergeable, they can also
* have NULLs which aren&#39;t guaranteed to be at the end.
*/
. = ALIGN(16);
__init_array_start = .;
*(SORT(.init_array.*))
*(.init_array)
__init_array_end = .;
. = ALIGN(16);
__CTOR_LIST__ = .;
*(SORT(.ctors.*))
*(.ctors)
__CTOR_END__ = .;
. = ALIGN(16);
__DTOR_LIST__ = .;
*(SORT(.dtors.*))
*(.dtors)
__DTOR_END__ = .;
. = ALIGN(16);
__fini_array_start = .;
*(SORT(.fini_array.*))
*(.fini_array)
__fini_array_end = .;
/* the EFI loader doesn&#39;t seem to like a .bss section, so we stick
it all into .data: */
. = ALIGN(16);
_bss = .;
*(.sbss)
*(.scommon)
*(.dynbss)
*(.bss*)
*(COMMON)
*(.rel.local)
. = ALIGN(16);
_bss_end = .;
}
. = ALIGN(4096);
.rela :
{
*(.rela.text*)
*(.rela.data*)
*(.rela.got)
*(.rela.dyn)
*(.rela.stab)
*(.rela.init_array*)
*(.rela.fini_array*)
*(.rela.ctors*)
*(.rela.dtors*)
}
. = ALIGN(4096);
.rela.plt : { *(.rela.plt) }
. = ALIGN(4096);
.rodata : { *(.rodata*) }
. = ALIGN(512);
_edata = .;
_data_size = _edata - _data;
. = ALIGN(4096);
.dynsym : { *(.dynsym) }
. = ALIGN(4096);
.dynstr : { *(.dynstr) }
. = ALIGN(4096);
.note.gnu.build-id : { *(.note.gnu.build-id) }
.ignored.reloc :
{
*(.rela.reloc)
*(.note.GNU-stack)
}
.comment 0 : { *(.comment) }
}
</pre>
</div>
</div>
</div>
</div>
</section>
<footer class="sandiego">
<div class="as-row">
<div class="footer-wrapper">
<nav aria-label="Site Links" role="navigation">
<section>
<div class="as-h2">SourceForge</div>
<ul>
<li><a href="/create/" title="Create a Project">Create a Project</a></li>
<li><a href="/directory/" title="Open Source Software Directory">Open Source Software</a></li>
<li><a href="/software/" title="Business Software Directory">Business Software</a></li>
<li><a href="/top" title="Top Open Source Projects">Top Downloaded Projects</a></li>
</ul>
</section>
</nav>
<nav aria-label="Company Links" role="navigation">
<section>
<div class="as-h2">Company</div>
<ul>
<li><a href="/about">About</a></li>
<li><a href="/about/leadership" title="Open Source Software Directory">Team</a></li>
<li class="h-card">
<address>
<span class="p-name p-org">SourceForge Headquarters</span><br>
<span class="p-street-address">225 Broadway Suite 1600</span><br>
<span class="p-locality">San Diego, CA <span class="p-postal-code">92101</span></span><br>
<span class="p-tel">+1 (858) 454-5900</span><br>
</address>
</li>
<li id="social">
<span></span>
<a href="https://twitter.com/sourceforge" class="twitter" rel="nofollow" target="_blank">
<svg class="vertical-icon-fix" data-name="twitter" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1684 408q-67 98-162 167 1 14 1 42 0 130-38 259.5t-115.5 248.5-184.5 210.5-258 146-323 54.5q-271 0-496-145 35 4 78 4 225 0 401-138-105-2-188-64.5t-114-159.5q33 5 61 5 43 0 85-11-112-23-185.5-111.5t-73.5-205.5v-4q68 38 146 41-66-44-105-115t-39-154q0-88 44-163 121 149 294.5 238.5t371.5 99.5q-8-38-8-74 0-134 94.5-228.5t228.5-94.5q140 0 236 102 109-21 205-78-37 115-142 178 93-10 186-50z" /></svg></a>
<a href="https://fosstodon.org/@sourceforge" rel="me nofollow" target="_blank">
<svg class="vertical-icon-fix" data-name="mastodon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z" /></svg></a>
<a href="https://www.facebook.com/sourceforgenet/" class="facebook" rel="nofollow" target="_blank">
<svg data-name="facebook" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1343 12v264h-157q-86 0-116 36t-30 108v189h293l-39 296h-254v759h-306v-759h-255v-296h255v-218q0-186 104-288.5t277-102.5q147 0 228 12z" /></svg></a>
<a href="https://www.linkedin.com/company/sourceforge.net" class="linkedin" rel="nofollow" target="_blank">
<svg data-name="linkedin" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M477 625v991h-330v-991h330zm21-306q1 73-50.5 122t-135.5 49h-2q-82 0-132-49t-50-122q0-74 51.5-122.5t134.5-48.5 133 48.5 51 122.5zm1166 729v568h-329v-530q0-105-40.5-164.5t-126.5-59.5q-63 0-105.5 34.5t-63.5 85.5q-11 30-11 81v553h-329q2-399 2-647t-1-296l-1-48h329v144h-2q20-32 41-56t56.5-52 87-43.5 114.5-15.5q171 0 275 113.5t104 332.5z" /></svg></a>
<a href="/user/newsletters" rel="nofollow" class="newsletter" title="Subscribe to our newsletter">
<svg class="vertical-icon-fix" data-name="mmSF_11mail" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 42 42" enable-background="new 0 0 42 42" xml:space="preserve"><path fill="#FFFFFF" d="M0,6v30h42V6H0z M24.2,21.2c-0.8,0.8-2.3,2-3.2,2c-0.9,0-2.4-1.2-3.2-2L5.8,9.7h30.3L24.2,21.2z M13.7,21l-9.9,9.4V11.6L13.7,21z M15.7,23L15.7,23c0.5,0.5,2.9,2.9,5.3,2.9c2.4,0,4.8-2.4,5.2-2.8l0.1-0.1l9.8,9.4H5.8L15.7,23z M28.3,21l9.9-9.5v18.9L28.3,21z" /></svg></a>
<span></span>
</li>
</ul>
</section>
</nav>
<nav aria-label="Resources Links" role="navigation">
<section>
<div class="as-h2">Resources</div>
<ul>
<li><a href="/support" title="Support Section">Support</a></li>
<li><a href="/p/forge/documentation/Docs%20Home/" title="Site Documentation">Site Documentation</a></li>
<li><a href="https://fosstodon.org/@sourceforgestatus" title="Site Status" rel="me nofollow">Site Status</a></li>
</ul>
</section>
</nav>
<section class="footer-logo">
<a href="/" title="Home" class="sf-logo">
<img src="https://a.fsdn.com/con/images/sandiego/sf-logo-full.svg" alt="SourceForge logo" class="sf-logo-full" />
</a>
</section>
</div>
</div>
<section class="l-nav-bottom">
<nav class="row">
<div class="columns small-12 large-6 copyright-notice">
&copy; 2024 Slashdot Media. All Rights Reserved.
</div>
<div class="columns large-6 links links-right">
<a href="https://slashdotmedia.com/terms-of-use" title="Terms" rel="nofollow">Terms</a>
<a href="https://slashdotmedia.com/privacy-statement/" title="Privacy" rel="nofollow">Privacy</a>
<a href="https://slashdotmedia.com/opt-out-choices" title="Opt Out" rel="nofollow">Opt Out</a>
<a href="https://slashdotmedia.com/contact/" target="_blank" title="Advertise" rel="nofollow">Advertise</a>
</div>
</nav>
</section>
</footer>
</div>
<div id="messages">
</div>
<script type="text/javascript" src="https://a.fsdn.com/allura/nf/1713900842/_ew_/_slim/js?href=allura%2Fjs%2Fjquery.notify.js%3Ballura%2Fjs%2Fjquery.tooltipster.js%3Ballura%2Fjs%2Fallura-base.js%3Ballura%2Fjs%2Fchecklist.js%3Ballura%2Fjs%2Fadmin_modal.js%3Bjs%2Fjquery.lightbox_me.js%3Ballura%2Fjs%2Fmemorable.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fshared.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fsticky.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fsandiego%2Fchrome.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fsandiego%2Futilities.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.core.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.util.mediaQuery.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.util.keyboard.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.util.box.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.util.nest.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.dropdownMenu.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.offcanvas.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.toggler.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fsandiego%2Fproject.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Fjquery.typeahead.min.js%3Ballura%2Fjs%2Fmaximize-content.js"></script>
<script type="text/javascript" src="https://a.fsdn.com/allura/nf/1713900842/_ew_/_slim/js?href=theme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.util.triggers.min.js%3Btheme%2Fsftheme%2Fjs%2Fsftheme%2Fvendor%2Ffoundation6%2Fplugins%2Ffoundation.reveal.min.js"></script>
<script type="text/javascript">(function() {
$('#access_urls .btn').click(function(evt){
evt.preventDefault();
var parent = $(this).parents('.btn-bar');
var checkout_cmd = $(this).attr('data-url');
$(parent).find('input').val(checkout_cmd);
$(parent).find('span').text($(this).attr('title')+' access');
$(this).parent().children('.btn').removeClass('active');
$(this).addClass('active');
if (checkout_cmd.indexOf(' http://') !== -1 || checkout_cmd.indexOf(' https://') !== -1 ) {
$('#http-2fa-msg').show();
} else {
$('#http-2fa-msg').hide();
}
});
$('#access_urls .btn').first().click();
var repo_status = document.getElementById('repo_status');
// The repo_status div will only be present if repo.status != 'ready'
if (repo_status) {
$('.spinner').show()
var delay = 500;
function check_status() {
$.get('/p/gnu-efi/code/status', function(data) {
if (data.status === 'ready') {
$('.spinner').hide()
$('#repo_status h2').html('Repo status: ready. <a href="." rel="nofollow">Click here to refresh this page.</a>');
}
else {
$('#repo_status h2 span').html(data.status);
if (delay < 60000){
delay = delay * 2;
}
window.setTimeout(check_status, delay);
}
});
}
var status_checker = window.setTimeout(check_status, delay);
}
}());
</script>
<script type="text/javascript">(function() {
$(window).on('hashchange', function(e) {
var hash = window.location.hash.substring(1);
if ('originalEvent' in e && 'oldURL' in e.originalEvent) {
$('#' + e.originalEvent.oldURL.split('#')[1]).css('background-color', 'transparent');
}
if (hash !== '' && hash.substring(0, 1) === 'l' && !isNaN(hash.substring(1))) {
$('#' + hash).css('background-color', '#ffff99');
}
}).trigger('hashchange');
var clicks = 0;
$('.code_block').each(function(index, element) {
$(element).on('click', function() {
// Trick to ignore double and triple clicks
clicks++;
if (clicks === 1) {
setTimeout(function() {
if (clicks === 1) {
var hash = window.location.hash.substring(1);
if (hash !== '' && hash.substring(0, 1) === 'l' && !isNaN(hash.substring(1))) {
$('#' + hash).css('background-color', 'transparent');
}
$(element).css('background-color', '#ffff99');
window.history.pushState({}, document.title, window.location.pathname + window.location.search + '#' + $(element).attr('id'));
}
clicks = 0;
}, 500);
}
});
});
}());
</script>
<noscript><p><img src="//analytics.slashdotmedia.com/sf.php?idsite=39" style="border:0;position:absolute;top:0;" alt="" /></p></noscript>
<script>
$(document).foundation();
</script>
<script>
(function () {
bizx.cmp.ifConsent({ purposes: 'all', vendors: 'bombora'}, function () {
/*global _ml:true, window */
_ml = window._ml || {};
_ml.eid = '771';
_ml.fp = 'a5db6072-d18a-45e9-a721-d95d524114bc';
var s = document.getElementsByTagName('script')[0], cd = new Date(), mltag = document.createElement('script');
mltag.type = 'text/javascript';
mltag.async = true;
mltag.defer = true;
mltag.src = '//ml314.com/tag.aspx?' + cd.getDate() + cd.getMonth() + cd.getFullYear();
s.parentNode.insertBefore(mltag, s);
});
})();
</script>
<script>
$(document).ready(function () {
$(".tooltip, .m-tooltip").each(function(){
let $el = $(this);
$el.tooltipster({
animation: 'fade',
delay: 200,
theme: 'tooltipster-light',
trigger: 'hover',
position: $el.data('position') || 'right',
iconCloning: false,
maxWidth: 300,
contentAsHTML: true,
interactive: true
}).focus(function () {
$(this).tooltipster('show');
}).blur(function () {
$(this).tooltipster('hide');
});
});
});
</script>
<script type="text/javascript">
bizx.cmp.ifConsent('', ['all'], function () {
/* jshint ignore:start */
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
/* jshint ignore:end */
window.dataLayer = window.dataLayer || [];
function gtag(){ window.dataLayer.push(arguments); }
window.gtag = window.gtag || gtag;
bizx.cmp.embedScript("https://www.googletagmanager.com/gtag/js");
gtag('js', new Date());
gtag('set', {
'page_location': 'https://sourceforge.net/p/gnu-efi/code/ci/3.0.18/tree/gnuefi/elf_loongarch64_efi.lds',
});
});
</script>
<script type="text/javascript">
/*global ga, gtag */
bizx.cmp.ifConsent('', ['all'], function () {
ga('create', "UA-36130941-1", {cookieDomain: 'auto', 'name': 'sfnt1','sampleRate': 9});
ga('sfnt1.set', 'dimension9', 'gnu-efi');
ga('sfnt1.set', 'dimension10', 'git');
ga('sfnt1.set', 'dimension13', 'Logged Out');
ga('sfnt1.send', 'pageview');
});
bizx.cmp.ifConsent('', ['all'], function () {
gtag('config', 'G-1H226E4E4L', {
send_page_view: false,
'SF_Page_Type': '',
user_properties: {
'SF_Logged_in': 'Logged Out',
},
'devicePixelRatio': SF.devicePixelRatio,
});
gtag('event', 'page_view', { send_to: 'G-1H226E4E4L' });
});
</script>
</body>
</html>

View File

@ -0,0 +1,49 @@
diff --git a/subprojects/fwupd-efi/efi/generate_binary.py b/subprojects/fwupd-efi/efi/generate_binary.py
index a8a4437..9af5853 100755
--- a/subprojects/fwupd-efi/efi/generate_binary.py
+++ b/subprojects/fwupd-efib/efi/generate_binary.py
@@ -36,7 +36,7 @@ def _run_objcopy(args):
# aarch64 and arm32 don't have an EFI capable objcopy
# Use 'binary' instead, and add required symbols manually
- if args.arch in ["aarch64", "arm"]:
+ if args.arch in ["aarch64", "arm", "loongarch64"]:
argv.extend(["-O", "binary"])
elif args.os == "freebsd":
# `--target` option is missing and --input-target doesn't recognize
diff --git a/subprojects/fwupd-efi/efi/meson.build b/subprojects/fwupd-efi/efi/meson.build
index 68ea4aa..26ba42c 100644
--- a/subprojects/fwupd-efi/efi/meson.build
+++ b/subprojects/fwupd-efi/efi/meson.build
@@ -18,7 +18,7 @@ endif
efi_libdir = get_option('efi-libdir')
if efi_libdir == ''
- cmd = 'cd /usr/lib/$(@0@ -print-multi-os-directory) && pwd'.format(efi_cc)
+ cmd = 'cd /usr/lib64/$(@0@ -print-multi-os-directory) && pwd'.format(efi_cc)
ret = run_command('sh', '-c', cmd)
if ret.returncode() == 0
efi_libdir = ret.stdout().strip()
@@ -79,7 +79,7 @@ if get_option('efi_sbat_distro_id') != ''
endif
# is the system crt0 for arm and aarch64 new enough to know about SBAT?
-if host_cpu == 'aarch64' or host_cpu == 'arm'
+if host_cpu == 'aarch64' or host_cpu == 'arm' or host_cpu == 'loongarch64'
if get_option('efi_sbat_distro_id') != ''
arch_crt_source = 'crt0-efi-@0@.S'.format(gnu_efi_path_arch)
cmd = run_command('grep', '-q', 'sbat', join_paths(efi_crtdir, arch_crt_source))
diff --git a/subprojects/fwupd-efi/meson.build b/subprojects/fwupd-efi/meson.build
index 1753411..8d23a50 100644
--- a/subprojects/fwupd-efi/meson.build
+++ b/subprojects/fwupd-efi/meson.build
@@ -27,6 +27,9 @@ elif host_cpu == 'arm'
elif host_cpu == 'aarch64'
EFI_MACHINE_TYPE_NAME = 'aa64'
gnu_efi_arch = 'aarch64'
+elif host_cpu == 'loongarch64'
+ EFI_MACHINE_TYPE_NAME = 'loongarch64'
+ gnu_efi_arch = 'loongarch64'
else
error('Unknown host_cpu ' + host_cpu)
endif

View File

@ -12,17 +12,17 @@
%global enable_dummy 1
# fwupd.efi is only available on these arches
%ifarch x86_64 aarch64 riscv64
%ifarch x86_64 aarch64 riscv64 loongarch64
%global have_uefi 1
%endif
# gpio.h is only available on these arches
%ifarch x86_64 aarch64 riscv64
%ifarch x86_64 aarch64 riscv64 loongarch64
%global have_gpio 1
%endif
# flashrom is only available on these arches
%ifarch i686 x86_64 armv7hl aarch64 ppc64le riscv64
%ifarch i686 x86_64 armv7hl aarch64 ppc64le riscv64 loongarch64
%global have_flashrom 0
%endif
@ -43,7 +43,7 @@
Name: fwupd
Version: 1.8.17
Release: 4
Release: 5
License: LGPLv2+
Summary: Make updating firmware on Linux automatic, safe and reliable
URL: https://github.com/fwupd/fwupd
@ -61,11 +61,14 @@ Source11: http://people.redhat.com/rhughes/dbx/DBXUpdate-20200729-ia32.cab
Source12: http://people.redhat.com/rhughes/dbx/DBXUpdate-20200729-x64.cab
Source13: https://sourceforge.net/p/gnu-efi/code/ci/3.0.14/tree/gnuefi/crt0-efi-riscv64.S?format=raw#/crt0-efi-riscv64.S
Source14: https://sourceforge.net/p/gnu-efi/code/ci/3.0.14/tree/gnuefi/elf_riscv64_efi.lds?format=raw#/elf_riscv64_efi.lds
Source15: https://sourceforge.net/p/gnu-efi/code/ci/3.0.18/tree/gnuefi/crt0-efi-loongarch64.S?format=raw#/crt0-efi-loongarch64.S
Source16: https://sourceforge.net/p/gnu-efi/code/ci/3.0.18/tree/gnuefi/elf_loongarch64_efi.lds?format=raw#/elf_loongarch64_efi.lds
Patch0: fwupd-efi.patch
%ifarch riscv64
Patch1: https://raw.githubusercontent.com/GNOME/gnome-build-meta/37bc8931517261e359e02b2b14bffab0501e79d9/files/fwupd/riscv64.patch
%endif
Patch2: fwupd-add-loongarch64-spoort.patch
BuildRequires: libcbor libcbor-devel
BuildRequires: efi-srpm-macros
@ -179,6 +182,12 @@ cp %{SOURCE13} subprojects/fwupd-efi/efi/crt0
cp %{SOURCE14} subprojects/fwupd-efi/efi/lds
%endif
%ifarch loongarch64
%patch2 -p1
cp %{SOURCE15} subprojects/fwupd-efi/efi/crt0
cp %{SOURCE16} subprojects/fwupd-efi/efi/lds
%endif
sed -ri '1s=^#!/usr/bin/(env )?python3=#!%{__python3}=' \
contrib/ci/*.py \
contrib/firmware_packager/*.py \
@ -471,6 +480,9 @@ done
%{_datadir}/man/man1/*
%changelog
* Mon May 13 2024 Huang Yang <huangyang@loongson.cn> - 1.8.17-5
- add loongarch64 support
* Tue May 07 2024 chendexi <chendexi@kylinos.cn> - 1.8.17-4
- Modify the unsupported macro python3 to __python3