Title: bpo-37690: Simplify linking of shared libraries on the AIX OS by ericvw · Pull Request #14965 · python/cpython · GitHub
Open Graph Title: bpo-37690: Simplify linking of shared libraries on the AIX OS by ericvw · Pull Request #14965 · python/cpython
X Title: bpo-37690: Simplify linking of shared libraries on the AIX OS by ericvw · Pull Request #14965 · python/cpython
Description: Have the approach of building shared libraries on the AIX operating system be similar to that of a System V system. The primary benefit of this change is the elimination of custom AIX paths and reducing the changes at ./configure to affect just the LDSHARED environment variable. For background context, AIX sees shared libraries as fully linked and resolved, where symbol references are resolved at link-time and cannot be rebound at load-time. System V resolves all global symbols by the run-time linker. Thus, conventional shared libraries in AIX cannot have undefined symbols, while System V can. However, AIX does allow for run-time linking in allowing symbols to be undefined until load-time. Therefore, this change affects how linking of shared libraries are performed on AIX to behave similarly to that of System V. Given that symbols are now going to be allowed to be undefined for AIX, all the code paths for generating exported symbols and the related wrapper scripts go away. The real magic is in the -G flag for LDSHARED. Effectively, -G is equivalent to specifying the following: -berok: Suppress errors even if there are unresolved symbols -brtl: Enable run-time linking -bnortllib: Do not include a reference to the run-time linker -bnosymbolic: Assigns 'nosymbolic' attribute to most symbols (i.e., can be rebound) -bnoautoexp: Prevent auto exportation of any symbols -bM:SRE: Set the module type to reusable (i.e., require a private copy of the data area for each process). https://bugs.python.org/issue37690
Open Graph Description: Have the approach of building shared libraries on the AIX operating system be similar to that of a System V system. The primary benefit of this change is the elimination of custom AIX paths and re...
X Description: Have the approach of building shared libraries on the AIX operating system be similar to that of a System V system. The primary benefit of this change is the elimination of custom AIX paths and re...
Opengraph URL: https://github.com/python/cpython/pull/14965
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:c6b018aa-41e3-c96b-0726-6b8352f9149f |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | E732:3A94D5:7DF112:AA511E:6A515017 |
| html-safe-nonce | 64aaea0b2fa09c93b49c007d7b62401875a119bf57b79429ea1fe96b0ae51ed6 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFNzMyOjNBOTRENTo3REYxMTI6QUE1MTFFOjZBNTE1MDE3IiwidmlzaXRvcl9pZCI6IjUyNTY2MjczODg5MzkzMjU0NjMiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | e62357c8b27760ddf1569b4ee7c4e395317e38e5afdc2dada879b3bcc8da60e6 |
| hovercard-subject-tag | pull_request:301625438 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/python/cpython/pull/14965/files |
| twitter:image | https://avatars.githubusercontent.com/u/1284017?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/1284017?s=400&v=4 |
| og:image:alt | Have the approach of building shared libraries on the AIX operating system be similar to that of a System V system. The primary benefit of this change is the elimination of custom AIX paths and re... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 6f17634ed2af1d116850bcea6c63a70a4d72970f33ade1dd3eef3764b7e16994 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 511bff6ea06e144ed085ff736aea4c6404987b00 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width