Hi Fariborz, could it be that this is caused by you changing "test.o" to %t? I know I had problems locally when I used %t, because it gets replaces with category-class.m.tmp, while it seems that libtools prefers if its input files end in ".o".
Nico On Mon, Jun 21, 2010 at 4:26 PM, Fariborz Jahanian <[email protected]> wrote: > > Hi Nico, > > This test is failing on our BuildBot in ways which is not obvious to me. It > is best to just use FileCheck and > check for generation of the extern symbol. > > - Thanks, Fariborz > > On Jun 21, 2010, at 3:25 PM, Fariborz Jahanian wrote: > >> I got the latest patch. Just forgot to check in the test case. It is >> in now. >> One minor note. Generally, we should not leave any temp files behind. >> I already removed build of test.o. See if you can clean up the other >> two at the end too. >> >> - fariborz >> >> On Jun 21, 2010, at 3:15 PM, Nico Weber wrote: >> >>> Hi Fariborz, >>> >>> I screwed up and uploaded a patch without the test case; looks like >>> you landed that. There's a newer patch on the bug that also contains a >>> test. Maybe you can land the test too. >>> >>> Sorry, >>> Nico >>> >>> On Mon, Jun 21, 2010 at 3:05 PM, Fariborz Jahanian <[email protected] >>>> >>>> wrote: >>>> Author: fjahanian >>>> Date: Mon Jun 21 17:05:18 2010 >>>> New Revision: 106492 >>>> >>>> URL: http://llvm.org/viewvc/llvm-project?rev=106492&view=rev >>>> Log: >>>> In fragile-abi (32bit mode abi) generate global symbol >>>> objc_category_name_xxx for each category implementation. >>>> (fixes PR7431) patch by Nico Weber. >>>> >>>> Modified: >>>> cfe/trunk/lib/CodeGen/CGObjCMac.cpp >>>> >>>> Modified: cfe/trunk/lib/CodeGen/CGObjCMac.cpp >>>> URL: >>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGObjCMac.cpp?rev=106492&r1=106491&r2=106492&view=diff >>>> = >>>> = >>>> = >>>> = >>>> = >>>> = >>>> = >>>> = >>>> = >>>> ===================================================================== >>>> --- cfe/trunk/lib/CodeGen/CGObjCMac.cpp (original) >>>> +++ cfe/trunk/lib/CodeGen/CGObjCMac.cpp Mon Jun 21 17:05:18 2010 >>>> @@ -852,6 +852,9 @@ >>>> /// MethodVarNames - uniqued method variable names. >>>> llvm::DenseMap<Selector, llvm::GlobalVariable*> MethodVarNames; >>>> >>>> + /// DefinedCategoryNames - list of category names in form >>>> Class_Category. >>>> + llvm::SetVector<std::string> DefinedCategoryNames; >>>> + >>>> /// MethodVarTypes - uniqued method type signatures. We have to use >>>> /// a StringMap here because have no other unique reference. >>>> llvm::StringMap<llvm::GlobalVariable*> MethodVarTypes; >>>> @@ -2068,6 +2071,7 @@ >>>> "__OBJC,__category,regular,no_dead_strip", >>>> 4, true); >>>> DefinedCategories.push_back(GV); >>>> + DefinedCategoryNames.insert(ExtName.str()); >>>> } >>>> >>>> // FIXME: Get from somewhere? >>>> @@ -3650,8 +3654,14 @@ >>>> OS << "\t.objc_class_name_" << (*I)->getName() << "=0\n" >>>> << "\t.globl .objc_class_name_" << (*I)->getName() << "\n"; >>>> for (llvm::SetVector<IdentifierInfo*>::iterator I = >>>> LazySymbols.begin(), >>>> - e = LazySymbols.end(); I != e; ++I) >>>> + e = LazySymbols.end(); I != e; ++I) { >>>> OS << "\t.lazy_reference .objc_class_name_" << (*I)- >>>>> >>>>> getName() << "\n"; >>>> >>>> + } >>>> + >>>> + for (size_t i = 0; i < DefinedCategoryNames.size(); ++i) { >>>> + OS << "\t.objc_category_name_" << DefinedCategoryNames[i] << >>>> "=0\n" >>>> + << "\t.globl .objc_category_name_" << >>>> DefinedCategoryNames[i] << "\n"; >>>> + } >>>> >>>> CGM.getModule().setModuleInlineAsm(OS.str()); >>>> } >>>> >>>> >>>> _______________________________________________ >>>> cfe-commits mailing list >>>> [email protected] >>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >>>> >> >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
