From e095f78463023f59c04bdd21ffc95fada557410f Mon Sep 17 00:00:00 2001 From: Rene Ladan Date: Fri, 1 Jan 2021 00:57:23 +0000 Subject: Remove most expired ports that depend on Python 2.7: Exceptions are: - mail/mailman, our listservers still use it - www/chromium, solely because of popular demand, upstream is (slowly) working on porting it to Python 3 - ports that have actual patches for Python 3 against them (Cinnamon and a few unrelated other ports) - llvm70 and qt5-webengine because they seem to have a lot of dependencies which need further analysis - sysutils/uefi-edk2-bhyve because bhyve seems to use them - python2 and python27 themselves I'm sure there will be complaints, but the nice thing about a version control system is that we can revert and adjust things. 2020-12-31 audio/ardour: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 audio/mixxx21: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 audio/xmms2: Uses Python 2.7 which is EOLed upstream 2020-12-31 chinese/sunpinyin: Uses Python 2.7 which is EOLed upstream 2020-12-31 databases/arangodb32: Uses Python 2.7 which is EOLed upstream 2020-12-31 databases/arangodb33: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/bzr: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/chromium-gn: Uses deprecated version of python, use devel/gn instead 2020-12-31 devel/electron4: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/electron5: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/electron6: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/electron7: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/gnatpython: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/godot2: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 devel/godot2-tools: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 devel/libhid: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/libosmocore: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/llvm60: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/mongo-cxx-driver: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-06-30 devel/p5-Log-Any-Adapter-Callback: Use devel/p5-Log-Any (Log::Any::Adapter::Capture) instead 2020-12-31 devel/py-backports.functools_lru_cache: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/py-backports.os: Python 2 is EOL upstream 2020-12-31 devel/py-backports.shutil_get_terminal_size: Python 2 is EOL upstream 2020-12-31 devel/py-backports_abc: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/py-cheetah: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/py-dis3: Python 2 only, backport of Python 3 2020-12-31 devel/py-enum34: Will be removed along with python27 2020-12-31 devel/py-functools32: Python 2 only, backport of Python 3 2020-12-31 devel/py-futures: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/py-more-itertools5: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/py-pathlib: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/py-selectors2: Python 2 is EOL upstream 2020-12-31 devel/py-should_dsl: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/py-singledispatch: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/py-subprocess32: Python 2 only, following EOL of lang/python27 2020-12-31 devel/py-total-ordering: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/py-typing: Python 2 only, backport of Python 3 2020-12-31 devel/py-weakrefmethod: Python 2 only, backport of Python 3 2020-12-31 devel/rbtools: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/subversion-lts: Uses Python 2.7 which is EOLed upstream 2020-12-31 devel/viewvc: Uses Python 2.7 which is EOLed upstream 2020-12-31 dns/py-dns: Uses Python 2.7 which is EOLed upstream 2020-12-31 editors/atom: Uses Python 2.7 which is EOLed upstream 2020-12-31 emulators/fceux: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 emulators/gem5: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 emulators/nonpareil: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 games/0ad: Uses deprecated version of python 2020-12-31 games/dangerdeep: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 games/freera: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 games/glob2: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 games/marsnomercy: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 games/netpanzer: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 games/pingus: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 games/renpy: Uses deprecated version of python 2020-12-31 graphics/goxel: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 graphics/py-pillow6: Uses Python 2.7 which is EOLed upstream 2020-12-31 graphics/sk1libs: Uses Python 2.7 which is EOLed upstream 2020-12-31 graphics/uniconvertor: Uses deprecated version of python 2020-12-31 lang/julia10: Uses Python 2.7 which is EOLed upstream 2020-12-31 lang/pypy: Uses Python 2.7 which is EOLed upstream 2020-12-31 lang/pypy3: Uses Python 2.7 which is EOLed upstream 2020-12-31 lang/spidermonkey185: Uses Python 2.7 which is EOLed upstream 2020-12-31 lang/spidermonkey24: Uses Python 2.7 which is EOLed upstream 2020-12-31 lang/spidermonkey52: Uses Python 2.7 which is EOLed upstream 2020-12-31 lang/spidermonkey60: Requires python2 to build 2020-12-31 lang/tolua++: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 mail/getmail: Uses deprecated version of python 2020-12-31 math/gringo: Uses Python 2.7 which is EOLed upstream 2020-12-31 multimedia/ffmpeg2theora: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 multimedia/mimms: Uses Python 2.7 which is EOLed upstream 2020-12-31 net/py-ipaddress: Uses Python 2.7 which is EOLed upstream 2020-12-31 net-p2p/linuxdcpp: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 security/broccoli: Depends lang/python27 which is EOLed upstream 2020-12-31 security/orthrus: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 security/py-backports.ssl_match_hostname: Uses Python 2.7 which is EOLed upstream 2020-12-31 security/sandsifter: Uses deprecated version of python, see https://github.com/rigred/sandsifter/issues/10 2020-12-31 sysutils/cinnamon-control-center: Uses Python 2.7 which is EOLed upstream 2020-12-31 sysutils/ori: Uses Python 2.7 version of scons, and Python 2.7 which is EOLed upstream 2020-12-31 sysutils/osquery: Uses Python 2.7 which is EOLed upstream 2020-12-31 sysutils/py-shutilwhich: Python 2 only, backport of Python 3 2020-12-31 sysutils/uefi-edk2-bhyve-csm: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/cliqz: Uses deprecated version of python 2020-12-31 www/iridium: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/moinmoin: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/node10: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/node12: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-OhlohWidgetsMacro: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-TracGoogleAnalytics: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-accountmanager: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-advancedticketworkflow: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-autocomplete: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-ccselector: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-customfieldadmin: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-datefield: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-defaultcc: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-devel: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-discussion: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-downloads: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-email2trac: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-email2trac-postfix: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-estimator: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-fivestarvote: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-fullblog: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-fullblognotification: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-graphviz: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-iniadmin: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-keywords: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-keywordsecretticket: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-ldap: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-ldapauthstore: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-math: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-mercurial: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-navadd: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-permredirect: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-privatetickets: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-pydotorgtheme: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-scrumburndown: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-spam-filter: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-subtickets: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-tags: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-themeengine: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-ticketimport: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-tickettemplate: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-timingandestimation: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-tocmacro: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-tweakui: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-vote: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-wikigoodies: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-wikinotification: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-wikitemplates: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-wikitopdf: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-wysiwyg: Uses Python 2.7 which is EOLed upstream 2020-12-31 www/trac-xmlrpc: Uses Python 2.7 which is EOLed upstream --- devel/llvm60/files/lld/patch-head-r338251.diff | 123 ------------------------- 1 file changed, 123 deletions(-) delete mode 100644 devel/llvm60/files/lld/patch-head-r338251.diff (limited to 'devel/llvm60/files/lld/patch-head-r338251.diff') diff --git a/devel/llvm60/files/lld/patch-head-r338251.diff b/devel/llvm60/files/lld/patch-head-r338251.diff deleted file mode 100644 index 1c3df02100cd..000000000000 --- a/devel/llvm60/files/lld/patch-head-r338251.diff +++ /dev/null @@ -1,123 +0,0 @@ -r338251 | markj | 2018-08-23 16:58:19 +0200 (Thu, 23 Aug 2018) | 29 lines - -Add an lld option to emit PC-relative relocations for ifunc calls. - -The current kernel ifunc implementation creates a PLT entry for each -ifunc definition. ifunc calls therefore consist of a call to the -PLT entry followed by an indirect jump. The jump target is written -during boot when the kernel linker resolves R_[*]_IRELATIVE relocations. -This implementation is defined by requirements for userland code, where -text relocations are avoided. This requirement is not present for the -kernel, so the implementation has avoidable overhead (namely, an extra -indirect jump per call). - -Address this for now by adding a special option to the static linker -to inhibit PLT creation for ifuncs. Instead, relocations to ifunc call -sites are passed through to the output file, so the kernel linker can -enumerate such call sites and apply PC-relative relocations directly -to the text section. Thus the overhead of an ifunc call becomes exactly -the same as that of an ordinary function call. This option is only for -use by the kernel and will not work for regular programs. - -The final form of this optimization is up for debate; for now, this -change is simple and static enough to be acceptable as an interim -solution. - -Reviewed by: emaste -Discussed with: arichardson, dim -MFC after: 1 month -Sponsored by: The FreeBSD Foundation -Differential Revision: https://reviews.freebsd.org/D16748 - -Index: tools/lld/ELF/Config.h -=================================================================== ---- tools/lld/ELF/Config.h (revision 338250) -+++ tools/lld/ELF/Config.h (revision 338251) -@@ -155,6 +155,7 @@ struct Configuration { - bool ZCombreloc; - bool ZExecstack; - bool ZHazardplt; -+ bool ZIfuncnoplt; - bool ZNocopyreloc; - bool ZNodelete; - bool ZNodlopen; -Index: tools/lld/ELF/Driver.cpp -=================================================================== ---- tools/lld/ELF/Driver.cpp (revision 338250) -+++ tools/lld/ELF/Driver.cpp (revision 338251) -@@ -669,6 +669,7 @@ void LinkerDriver::readConfigs(opt::InputArgList & - Config->ZCombreloc = !hasZOption(Args, "nocombreloc"); - Config->ZExecstack = hasZOption(Args, "execstack"); - Config->ZHazardplt = hasZOption(Args, "hazardplt"); -+ Config->ZIfuncnoplt = hasZOption(Args, "ifunc-noplt"); - Config->ZNocopyreloc = hasZOption(Args, "nocopyreloc"); - Config->ZNodelete = hasZOption(Args, "nodelete"); - Config->ZNodlopen = hasZOption(Args, "nodlopen"); -Index: tools/lld/ELF/Relocations.cpp -=================================================================== ---- tools/lld/ELF/Relocations.cpp (revision 338250) -+++ tools/lld/ELF/Relocations.cpp (revision 338251) -@@ -374,6 +374,9 @@ static bool isStaticLinkTimeConstant(RelExpr E, Re - R_PPC_PLT_OPD, R_TLSDESC_CALL, R_TLSDESC_PAGE, R_HINT>(E)) - return true; - -+ if (Sym.isGnuIFunc() && Config->ZIfuncnoplt) -+ return false; -+ - // These never do, except if the entire file is position dependent or if - // only the low bits are used. - if (E == R_GOT || E == R_PLT || E == R_TLSDESC) -@@ -921,7 +924,9 @@ static void scanRelocs(InputSectionBase &Sec, Arra - // Strenghten or relax a PLT access. - // - // GNU ifunc symbols must be accessed via PLT because their addresses -- // are determined by runtime. -+ // are determined by runtime. If the -z ifunc-noplt option is specified, -+ // we permit the optimization of ifunc calls by omitting the PLT entry -+ // and preserving relocations at ifunc call sites. - // - // On the other hand, if we know that a PLT entry will be resolved within - // the same ELF module, we can skip PLT access and directly jump to the -@@ -929,7 +934,7 @@ static void scanRelocs(InputSectionBase &Sec, Arra - // all dynamic symbols that can be resolved within the executable will - // actually be resolved that way at runtime, because the main exectuable - // is always at the beginning of a search list. We can leverage that fact. -- if (Sym.isGnuIFunc()) -+ if (Sym.isGnuIFunc() && !Config->ZIfuncnoplt) - Expr = toPlt(Expr); - else if (!Preemptible && Expr == R_GOT_PC && !isAbsoluteValue(Sym)) - Expr = -@@ -1034,6 +1039,16 @@ static void scanRelocs(InputSectionBase &Sec, Arra - continue; - } - -+ // Preserve relocations against ifuncs if we were asked to do so. -+ if (Sym.isGnuIFunc() && Config->ZIfuncnoplt) { -+ if (Config->IsRela) -+ InX::RelaDyn->addReloc({Type, &Sec, Offset, false, &Sym, Addend}); -+ else -+ // Preserve the existing addend. -+ InX::RelaDyn->addReloc({Type, &Sec, Offset, false, &Sym, 0}); -+ continue; -+ } -+ - // If the output being produced is position independent, the final value - // is still not known. In that case we still need some help from the - // dynamic linker. We can however do better than just copying the incoming -Index: tools/lld/ELF/Writer.cpp -=================================================================== ---- tools/lld/ELF/Writer.cpp (revision 338250) -+++ tools/lld/ELF/Writer.cpp (revision 338251) -@@ -1400,8 +1400,11 @@ template void Writer::finalizeS - applySynthetic({InX::EhFrame}, - [](SyntheticSection *SS) { SS->finalizeContents(); }); - -- for (Symbol *S : Symtab->getSymbols()) -+ for (Symbol *S : Symtab->getSymbols()) { - S->IsPreemptible |= computeIsPreemptible(*S); -+ if (S->isGnuIFunc() && Config->ZIfuncnoplt) -+ S->ExportDynamic = true; -+ } - - // Scan relocations. This must be done after every symbol is declared so that - // we can correctly decide if a dynamic relocation is needed. -- cgit v1.2.3