https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71767
--- Comment #33 from Eric Gallager <egall at gwmail dot gwu.edu> --- I'm not sure if this is due to the patches from this bug report, or if it's due to some other change made to GCC recently, but my fork of Emacs now fails to build with LTO due to a bunch of undefined local symbols: /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_toggleFullScreen$.lto_priv.1027 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_window.lto_priv.394 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_setFSValue$.lto_priv.1033 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_fsIsNative.lto_priv.1034 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_windowDidBecomeKey$.lto_priv.1035 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_ClassRefs_4.lto_priv.333 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_deleteWorkingText.lto_priv.1043 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_frame.lto_priv.350 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_windowWillResize$toSize$.lto_priv.1039 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_screens.lto_priv.474 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_ClassRefs_8.lto_priv.431 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_objectAtIndex$.lto_priv.358 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_mouseMoved$.lto_priv.1048 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_mouseDown$.lto_priv.1051 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_isFullscreen.lto_priv.1046 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_toolbar.lto_priv.434 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_retain.lto_priv.405 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_release.lto_priv.312 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_subviews.lto_priv.1056 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_count.lto_priv.355 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_class.lto_priv.440 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_ClassRefs_15.lto_priv.391 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_isKindOfClass$.lto_priv.442 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_condemn.lto_priv.1059 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_judge.lto_priv.1057 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_updateFrameSize$.lto_priv.1032 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_display.lto_priv.399 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_Class_EmacsView.lto_priv.1044 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_viewDidEndLiveResize.lto_priv.1045 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_stringWithUTF8String$.lto_priv.323 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_ClassRefs_3.lto_priv.285 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_dealloc.lto_priv.367 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_modifierFlags.lto_priv.472 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_keyDown$.lto_priv.464 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_visibleRect.lto_priv.1053 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_setOnMouseEntered$.lto_priv.1055 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_arrowCursor.lto_priv.480 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_ClassRefs_27.lto_priv.1052 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_addCursorRect$cursor$.lto_priv.1054 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_UTF8String.lto_priv.294 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_objectEnumerator.lto_priv.304 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_nextObject.lto_priv.308 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_isEqualToString$.lto_priv.316 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_invalidate.lto_priv.331 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_ClassRefs_17.lto_priv.374 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_context.lto_priv.336 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_windowNumber.lto_priv.341 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_contentView.lto_priv.353 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_windowWillExitFullScreen$.lto_priv.1030 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_windowDidExitFullScreen$.lto_priv.1031 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_windowWillEnterFullScreen$.lto_priv.1028 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_windowDidEnterFullScreen$.lto_priv.1029 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_initWithFrame$.lto_priv.377 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_setAutoresizingMask$.lto_priv.1040 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_ClassRefs_28.lto_priv.1041 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_addSubview$.lto_priv.381 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_toggleToolbar$.lto_priv.1042 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_currentEvent.lto_priv.446 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_timestamp.lto_priv.448 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_reprieve.lto_priv.1058 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_setFrame$.lto_priv.408 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_windowDidMove$.lto_priv.1047 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_locationInWindow.lto_priv.1049 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_convertPoint$fromView$.lto_priv.1050 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_delegate.lto_priv.478 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_convertRect$toView$.lto_priv.1071 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_handleFS.lto_priv.1068 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_scheduledTimerWithTimeInterval$target$selector$userInfo$repeats$.lto_priv.403 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_ClassRefs_9.lto_priv.424 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_getMouseMotionPart$window$x$y$.lto_priv.1065 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_mouseLocationOutsideOfEventStream.lto_priv.1066 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_checkSamePosition$portion$whole$.lto_priv.1060 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_removeFromSuperview.lto_priv.1061 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_initFrame$window$.lto_priv.1062 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_setPosition$portion$whole$.lto_priv.1063 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_menuDown$.lto_priv.462 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_ClassRefs_16.lto_priv.369 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_containsObject$.lto_priv.1067 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_setRows$andColumns$.lto_priv.1069 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_SelRef_setWindowClosing$.lto_priv.1070 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_METH_VAR_TYPE_35.lto_priv.1072 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_METH_VAR_TYPE_1.lto_priv.609 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_METH_VAR_TYPE_5.lto_priv.611 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_METH_VAR_TYPE_40.lto_priv.1073 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_METH_VAR_TYPE_36.lto_priv.759 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_METH_VAR_TYPE_11.lto_priv.599 /var/tmp//ccaoPXbR.s:unknown:Undefined local symbol L_OBJC_ClassName_NSObject.lto_priv.596 make[2]: *** [/var/tmp//ccDlVUTQ.ltrans1.ltrans.o] Error 1 make[2]: *** Waiting for unfinished jobs.... lto-wrapper: fatal error: make returned 2 exit status compilation terminated. collect2: fatal error: lto-wrapper returned 1 exit status compilation terminated. I was figuring it might have something to do with this patch because this patch messed with the "L_" prefixing of symbols. GCC's LTO worked with my fork of Emacs a few months ago.