CINXE.COM
Attachment 985507 Details for Bug 1124987 – Patch for F-20 package
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="referrer" content="origin"> <script type="text/javascript" src="https://bugzilla.redhat.com/page.cgi?1732748502.582664&id=bayotbase/publicfielddefs.js&hash=b3b9a7c4f04c5537a495c60af7e7c9c0"></script> <script type="text/javascript">var BB_CONFIG = ({"user":{"tz":"UTC","tzsn":"UTC","enterable_products":[],"tzos":0,"groups":[],"logged_in":false},"defaults":{"priority":"Unspecified","bugentry_fields":["summary","product","component","rh_sub_components","severity","priority","comment"],"platform":"Unspecified","op_sys":"Unspecified","severity":"Unspecified"}});</script><script type="text/javascript"> var classifications = '[ { "name": "Red Hat", "description": "Red Hat Products"},{ "name": "Red Hat Storage", "description": "Red Hat (IBM) Storage Products"},{ "name": "JBoss", "description": "JBoss Products"},{ "name": "CentOS", "description": "CentOS Projects"},{ "name": "Fedora", "description": "Fedora Products"},{ "name": "Community", "description": "Community Projects"},{ "name": "oVirt", "description": "oVirt Virtualization Management Projects"},{ "name": "Internal", "description": "Internal Projects."},{ "name": "Other", "description": "Other Miscellaneous Products"},{ "name": "Unclassified", "description": "Not assigned to any classification"},{ "name": "Workflows", "description": "User driven workflows"},{ "name": "Retired", "description": "Products that have reached end of life, were never released, or have moved to a different issue tracking system."} ]'; var c_optgroups = JSON.parse(classifications); </script> <title> Attachment 985507 Details for Bug 1124987 – Patch for F-20 package</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link href="https://bugzilla.redhat.com/skins/standard/global.css?1731976238" rel="stylesheet" type="text/css"><link href="https://bugzilla.redhat.com/extensions/BayotBase/web/css/base.css?1731976238" rel="stylesheet" type="text/css"><link href="https://bugzilla.redhat.com/extensions/BayotBase/web/jquery-ui-1.12.1.custom/jquery-ui.min.css?1731976238" rel="stylesheet" type="text/css"><link href="https://bugzilla.redhat.com/skins/standard/bug.css?1731976238" rel="stylesheet" type="text/css"><link href="https://bugzilla.redhat.com/skins/standard/diff2html/diff2html.min.css?1731976238" rel="stylesheet" type="text/css"><link href="https://bugzilla.redhat.com/extensions/ExternalBugs/web/css/global.css?1731976238" rel="stylesheet" type="text/css"><link href="https://bugzilla.redhat.com/extensions/FontAwesome/web/css/all.min.css?1731976238" rel="stylesheet" type="text/css"><link href="https://bugzilla.redhat.com/extensions/RedHat/web/css/redhat.css?1731976238" rel="stylesheet" type="text/css"><link href="https://bugzilla.redhat.com/extensions/RedHat/web/alertify/css/alertify.min.css?1731976238" rel="stylesheet" type="text/css"><link href="https://bugzilla.redhat.com/extensions/RedHat/web/alertify/css/themes/bootstrap.min.css?1731976238" rel="stylesheet" type="text/css"><link href="https://bugzilla.redhat.com/extensions/SelectizeJS/web/css/selectize.bootstrap3.css?1731976238" rel="stylesheet" type="text/css"><link href="https://bugzilla.redhat.com/extensions/SelectizeJS/web/css/SelectizeJS.css?1731976238" rel="stylesheet" type="text/css"> <script type="text/javascript" src="https://bugzilla.redhat.com/js/yui/yahoo-dom-event/yahoo-dom-event.js?1731976238"></script><script type="text/javascript" src="https://bugzilla.redhat.com/js/yui/cookie/cookie-min.js?1731976238"></script><script type="text/javascript" src="https://bugzilla.redhat.com/extensions/BayotBase/web/js/jquery-3.6.0.min.js?1731976238"></script><script type="text/javascript" src="https://bugzilla.redhat.com/extensions/BayotBase/web/jquery-ui-1.12.1.custom/jquery-ui.min.js?1731976238"></script><script type="text/javascript" src="https://bugzilla.redhat.com/extensions/BayotBase/web/js/jquery.cookie.js?1731976238"></script><script type="text/javascript" src="https://bugzilla.redhat.com/extensions/BayotBase/web/js/jquery.jsonrpc.js?1731976238"></script><script type="text/javascript" src="https://bugzilla.redhat.com/extensions/BayotBase/web/js/Base.js?1731976238"></script><script type="text/javascript" src="https://bugzilla.redhat.com/extensions/BayotBase/web/js/bayot.util.js?1731976238"></script><script type="text/javascript" src="https://bugzilla.redhat.com/js/global.js?1731976238"></script> <script type="text/javascript"> <!-- YAHOO.namespace('bugzilla'); YAHOO.util.Event.addListener = function (el, sType, fn, obj, overrideContext) { if ( ("onpagehide" in window || YAHOO.env.ua.gecko) && sType === "unload") { sType = "pagehide"; }; var capture = ((sType == "focusin" || sType == "focusout") && !YAHOO.env.ua.ie) ? true : false; return this._addListener(el, this._getType(sType), fn, obj, overrideContext, capture); }; if ( "onpagehide" in window || YAHOO.env.ua.gecko) { YAHOO.util.Event._simpleRemove(window, "unload", YAHOO.util.Event._unload); } function unhide_language_selector() { YAHOO.util.Dom.removeClass( 'lang_links_container', 'bz_default_hidden' ); } YAHOO.util.Event.onDOMReady(unhide_language_selector); var BUGZILLA = { param: { cookiepath: '\/', maxusermatches: 5, maxattachmentsize: 20000, duplicate_or_move_bug_status: "CLOSED" }, constant: { COMMENT_COLS: 80 }, string: { attach_desc_required: "You must enter a Description for this attachment.", component_required: "You must select a Component for this bug.", description_required: "You must enter a Description for this bug.", group_required: "You must select at least one group for bugs in this product.", invalid_product_required: "The value of this field is not valid for this product.", short_desc_required: "You must enter a Summary for this bug.", version_required: "You must select a Version for this bug.", } , api_token: '' }; // --> </script> <script type="text/javascript" src="https://bugzilla.redhat.com/js/diff2html/diff2html-ui.min.js?1731976238"></script><script type="text/javascript" src="https://bugzilla.redhat.com/extensions/ExternalBugs/web/js/external_bugs.js?1731976238"></script><script type="text/javascript" src="https://bugzilla.redhat.com/extensions/RedHat/web/alertify/alertify.min.js?1731976238"></script><script type="text/javascript" src="https://bugzilla.redhat.com/extensions/RedHat/web/js/redhat.js?1731976238"></script><script type="text/javascript" src="https://bugzilla.redhat.com/extensions/RedHat/web/js/accessible-menu.js?1731976238"></script><script type="text/javascript" src="https://bugzilla.redhat.com/extensions/SelectizeJS/web/js/standalone/selectize.min.js?1731976238"></script><script type="text/javascript" src="https://bugzilla.redhat.com/extensions/SelectizeJS/web/js/selectize-plugin-a11y.js?1731976238"></script><script type="text/javascript" src="https://bugzilla.redhat.com/extensions/SelectizeJS/web/js/SelectizeJS.js?1731976238"></script> <link rel="search" type="application/opensearchdescription+xml" title="Red Hat Bugzilla" href="https://bugzilla.redhat.com//search_plugin.cgi"> <link rel="shortcut icon" href="https://bugzilla.redhat.com//extensions/RedHat/web/css/favicons/production.ico?v=0"> </head> <body onload="showDiff();" class="bugzilla-redhat-com status_colours_pastel no_javascript yui-skin-sam"> <div id="header" role="banner"><nav id="account_menu"> <ul> <li> <button aria-expanded="false" aria-haspopup="true" aria-controls="submenu_login_options"> <i class="fa fa-user"></i> Login </button> <ul id="submenu_login_options"><li id="mini_login_container"><ul id="saml2_container"> Log in using an SSO provider: <li id="saml2auth_login_Fedora Account System"> <a href="saml2_login.cgi?idp=Fedora%20Account%20System&target=attachment.cgi%3Fid%3D985507%26action%3Ddiff" ><i class="fa fa-cogs" aria-hidden="true"></i> Fedora Account System</a> </li> <li id="saml2auth_login_Red Hat Associate"> <a href="saml2_login.cgi?idp=Red%20Hat%20Associate&target=attachment.cgi%3Fid%3D985507%26action%3Ddiff" ><i class="fa fa-user-secret" aria-hidden="true"></i> Red Hat Associate</a> </li> <li id="saml2auth_login_Red Hat Customer"> <a href="saml2_login.cgi?idp=Red%20Hat%20Customer&target=attachment.cgi%3Fid%3D985507%26action%3Ddiff" ><i class="fa fa-user" aria-hidden="true"></i> Red Hat Customer</a> </li> </ul> <li style="padding-left: 1em;"> Login using a Red Hat Bugzilla account <form action="attachment.cgi?id=985507&action=diff" method="POST" class="mini_login " id="mini_login"> <input id="Bugzilla_login" required name="Bugzilla_login" class="bz_login" type="email" placeholder="Email Address" aria-label="Account Email Address"> <input class="bz_password" name="Bugzilla_password" type="password" id="Bugzilla_password" required placeholder="Password or pin+token" aria-label="Account Password or pin+token"> <input type="hidden" name="Bugzilla_login_token" value=""> <input type="submit" name="GoAheadAndLogIn" value="Login" id="log_in"> </form> </li> </li> <li id="forgot_container"> <button aria-expanded="false" aria-haspopup="true" aria-controls="submenu_forgot_password"> <i class="fa fa-exclamation-triangle" aria-hidden="true"></i> Forgot Password </button> <ul id="submenu_forgot_password"> <li style="padding-left: 2em;"> <form action="token.cgi" method="post" id="forgot_form" class="mini_forgot"> <!--label for="login">Email Address:</label--> <input name="loginname" size="20" id="login" required type="email" placeholder="Your Email Address" aria-label="Account Email Address"> <input id="forgot_button" value="Reset Password" type="submit"> <input type="hidden" name="a" value="reqpw"> <input type="hidden" id="token" name="token" value="1732754533-RRXCckwhFUFP5Lkjy8i6OpkaHL46Gs31ex_mRi4nO2s"> </form> </li> </ul> </li> <li> <a href="createaccount.cgi"><span><i class="fas fa-plus" aria-hidden="true"></i> Create an Account</span></a> </li> </ul> </li> </ul> </nav> <div id="titles"> <span id="title">Red Hat Bugzilla – Attachment 985507 Details for <a class="bz_bug_link bz_status_CLOSED bz_closed bz_public " title="CLOSED ERRATA - Fix static TLS usage in Fedora shared libraries." href="show_bug.cgi?id=1124987">Bug 1124987</a></span> <span id="subtitle" class="subheader">Fix static TLS usage in Fedora shared libraries.</span> </div> <nav id="site_menu" aria-label="Site Menu" role="navigation"><ul> <li><a href="./">Home</a></li> <li><a href="enter_bug.cgi">New</a></li> <li> <button aria-expanded="false" aria-haspopup="true" aria-controls="submenu_search">Search <i class="fas fa-search"></i></button> <ul id="submenu_search"> <li><a href="query.cgi?format=specific">Simple Search</a></li> <li><a href="query.cgi?format=advanced">Advanced Search</a></li> </ul> </li> <li> <button aria-expanded="false" aria-haspopup="true" aria-controls="submenu_my_links">My Links</button> <ul id="submenu_my_links"> <li><a href="describecomponents.cgi">Browse</a></li> <li> <a href="request.cgi">Requests</a> </li> <li> <button aria-expanded="false" aria-haspopup="true" aria-controls="submenu_reports">Reports</button> <ul id="submenu_reports"> </li> <li> <button aria-expanded="false" aria-haspopup="true" aria-controls="submenu_current_state">Current State</button> <ul id="submenu_current_state"> <li id="report_search"> <a href="query.cgi">Search</a> </li> <li id="report_tabular"> <a href="query.cgi?format=report-table">Tabular reports</a> </li> <li id="report_graphical"> <a href="query.cgi?format=report-graph">Graphical reports</a> </li> <li id="report_duplicates"> <a href="duplicates.cgi">Duplicates</a> </li> </ul> </li> <li> <button aria-expanded="false" aria-haspopup="true" aria-controls="submenu_other_reports">Other Reports</button> <ul id="submenu_other_reports"> <li> <a href="https://bugzilla.redhat.com/page.cgi?id=user_activity.html">User Changes</a> </li> </ul> </li> <li> <button aria-expanded="false" aria-haspopup="true" aria-controls="submenu_plotly_reports">Plotly Reports</button> <ul id="submenu_plotly_reports"> <li> <a href="https://bugzilla.redhat.com/page.cgi?id=bug_status.html">Bug Status</a> </li> <li> <a href="https://bugzilla.redhat.com/page.cgi?id=bug_severity.html">Bug Severity</a> </li> <li> <a href="https://bugzilla.redhat.com/page.cgi?id=non_defaults.html">Non-Defaults</a> </li> </ul> </li> </ul> </li><li><a href="page.cgi?id=productdashboard.html">Product Dashboard</a></li> </ul> </li> <li> <button aria-expanded="false" aria-haspopup="true" aria-controls="submenu_help">Help</button> <ul id="submenu_help"> <li><a href="page.cgi?id=bug-writing.html">Bug Writing Guidelines</a></li> <li><a href="page.cgi?id=whats-new.html">What's new</a></li> <li><a href="https://access.redhat.com/help/browsers">Browser Support Policy</a></li> <li><a href="page.cgi?id=release-notes.html">5.0.4.rh103 Release notes</a></li> <li><a href="page.cgi?id=faq.html">FAQ</a></li> <li><a href="docs/en/html/index.html">Guides index</a></li> <li><a href="docs/en/html/using/index.html">User guide</a></li> <li><a href="docs/en/html/integrating/api/Bugzilla/WebService/Bug.html">Web Services</a></li> <li><a href="page.cgi?id=redhat/contact.html" >Contact</a></li> <li><a href="page.cgi?id=terms-conditions.html" >Legal</a></li> </ul> </li> <li class="form"> <form action="buglist.cgi" method="get" onsubmit="if (this.quicksearch.value == '') { alert('Please enter one or more search terms first.'); return false; } return true;"> <input type="hidden" id="no_redirect_top" name="no_redirect" value="0"> <script type="text/javascript"> if (history && history.replaceState) { var no_redirect = document.getElementById("no_redirect_top"); no_redirect.value = 1; } </script> <input class="txt" type="text" id="quicksearch_top" name="quicksearch" aria-label="Quick Search input" title="Quick Search" value=""> <input class="btn" type="submit" value="Quick Search" aria-label="Run Quick Search" id="find_top"> </form> <a href="page.cgi?id=quicksearch.html" title="Quicksearch Help">[?]</a> </li> </ul> </nav> </div> <div id="bugzilla-body" role="main"> <noscript> <div id="no-js-message">This site requires JavaScript to be enabled to function correctly, please enable it.</div> </noscript> <script> var diffString = 'From ef864ae4a16ccc8d5dacb283f14d2d512496e0a3 Mon Sep 17 00:00:00 2001\nFrom: Tim Niemueller \x3cniemueller\x40kbsg.rwth-aachen.de\x3e\nDate: Mon, 26 Jan 2015 13:46:50 +0100\nSubject: [PATCH] Allow up to 32 dlopened modules to use static TLS (#1124987).\n\n---\n glibc-rh1124987.patch | 32 ++++++++++++++++++++++++++++++++\n glibc.spec | 13 ++++++++++++-\n 2 files changed, 44 insertions(+), 1 deletion(-)\n create mode 100644 glibc-rh1124987.patch\n\ndiff --git a\/glibc-rh1124987.patch b\/glibc-rh1124987.patch\nnew file mode 100644\nindex 0000000..0b0c3ab\n--- \/dev\/null\n+++ b\/glibc-rh1124987.patch\n\x40\x40 -0,0 +1,32 \x40\x40\n+#\n+# This is an experimental patch that should go into rawhide and\n+# Fedora 21 to fix failures where python applications fail to \n+# load graphics applications because of the slot usages for TLS.\n+# This should eventually go upstream.\n+#\n+# - Carlos O\'Donell\n+#\n+diff -urN glibc-2.19-886-gdd763fd\/sysdeps\/generic\/ldsodefs.h glibc-2.19-886-gdd763fd.mod\/sysdeps\/generic\/ldsodefs.h\n+--- glibc-2.19-886-gdd763fd\/sysdeps\/generic\/ldsodefs.h 2014-08-21 01:00:55.000000000 -0400\n++++ glibc-2.19-886-gdd763fd.mod\/sysdeps\/generic\/ldsodefs.h 2014-09-04 19:29:42.929692810 -0400\n+\x40\x40 -388,8 +388,18 \x40\x40\n+ have to iterate beyond the first element in the slotinfo list. *\/\n+ #define TLS_SLOTINFO_SURPLUS (62)\n+ \n+-\/* Number of additional slots in the dtv allocated. *\/\n+-#define DTV_SURPLUS (14)\n++\/* Number of additional allocated dtv slots. This was initially\n++ 14, but problems with python, MESA, and X11\'s uses of static TLS meant\n++ that most distributions were very close to this limit when they loaded\n++ dynamically interpreted languages that used graphics. The simplest\n++ solution was to roughly double the number of slots. The actual static\n++ image space usage was relatively small, for example in MESA you\n++ had only two dispatch pointers for a total of 16 bytes. If we hit up\n++ against this limit again we should start a campaign with the\n++ distributions to coordinate the usage of static TLS. Any user of this\n++ resource is effectively coordinating a global resource since this\n++ surplus is allocated for each thread at startup. *\/\n++#define DTV_SURPLUS (32)\n+ \n+ \/* Initial dtv of the main thread, not allocated with normal malloc. *\/\n+ EXTERN void *_dl_initial_dtv;\ndiff --git a\/glibc.spec b\/glibc.spec\nindex 32f99af..05e449f 100644\n--- a\/glibc.spec\n+++ b\/glibc.spec\n\x40\x40 -1,6 +1,6 \x40\x40\n %define glibcsrcdir glibc-2.18\n %define glibcversion 2.18\n-%define glibcrelease 16%{?dist}\n+%define glibcrelease 18%{?dist}\n # Pre-release tarballs are pulled in from git using a command that is\n # effectively:\n #\n\x40\x40 -186,6 +186,11 \x40\x40 Patch0043: %{name}-rh1009145.patch\n \n Patch0044: %{name}-rh1119128.patch\n \n+# Allow up to 32 libraries to use static TLS. Should go upstream after\n+# more testing.\n+Patch0050: %{name}-rh1124987.patch\n+\n+##############################################################################\n #\n # Patches from upstream\n #\n\x40\x40 -580,6 +585,7 \x40\x40 package or when debugging this package.\n %patch1006 -p1\n %patch1007 -p1\n %patch1008 -p1\n+%patch0050 -p1\n \n ##############################################################################\n # %%prep - Additional prep required...\n\x40\x40 -1669,6 +1675,11 \x40\x40 rm -f *.filelist*\n %endif\n \n %changelog\n+* Mon Jan 26 2015 Tim Niemueller \x3ctim\x40niemueller.de\x3e - 2.18-18\n+- Backport Carlos O\'Donell\'s TLS patch from 2.19.90-36\n+\n+- Allow up to 32 dlopened modules to use static TLS (#1124987).\n+\n * Wed Oct 1 2014 Siddhesh Poyarekar \x3csiddhesh\x40redhat.com\x3e - 2.18-17\n - Fix lll_unlock twice in pthread_cond_broadcast (#1104400).\n \n-- \n1.9.3\n\n'; var outputFormat = 'side-by-side' function showDiff() { const targetElement = document.getElementById('diffsplay'); const configuration = { drawFileList: true, matching: 'lines', outputFormat: outputFormat }; const diff2htmlUi = new Diff2HtmlUI(targetElement, diffString, configuration); diff2htmlUi.draw(); if(outputFormat === 'side-by-side') { outputFormat = 'line-by-line' } else { outputFormat = 'side-by-side' } $('#toggleview').html("Change view to " + outputFormat); } </script> <div> <a href="attachment.cgi?id=985507">View</a> | Return to <a class="bz_bug_link bz_status_CLOSED bz_closed bz_public " title="CLOSED ERRATA - Fix static TLS usage in Fedora shared libraries." href="show_bug.cgi?id=1124987">bug 1124987</a> | <button id="toggleview" onclick='showDiff();'>line-by-line</button> </div> <p id="diffsplay"> </p> </div> <footer id="footer"> <div class="intro"></div> <ul id="useful-links"> <li id="links-actions"><ul> </ul> </li> </ul> <div class="outro"><a href="page.cgi?id=redhat/privacy.html">Privacy</a> <a href="page.cgi?id=redhat/contact.html">Contact</a> <a href="page.cgi?id=faq.html">FAQ</a> <a href="page.cgi?id=terms-conditions.html">Legal</a></div> </footer> <script type="text/javascript"> $(document).ready(function() { $('form').submit(function( event ) { dt_submit(); }); $('#site_menu').accessibleMenu(); $('#account_menu').accessibleMenu(); $('#site_menu').addClass('loaded'); $('#account_menu').addClass('loaded'); }); if (window.self !== window.top) { $('#header').addClass('bz_default_hidden'); $('#footer').addClass('bz_default_hidden'); $('.navigation').addClass('bz_default_hidden'); $('body').css('background-image', 'none'); } </script><script type="text/javascript"> $(document).ready(function() { selectize_standard_selects(); }); </script> </body> </html>