Hello, Bill.> It's not exactly tweaking magic knobs. It's doing something that's > already done -- putting the information in the TAI object, and > allowing the specific back-end to set the appropriate strings.It seems to me, that simple strings / bools there are not enough :) "$non_lazy_ptr" emission is already in asm printers (in 2 places!). The "L" prefix is PrivateGlobalPrefix (so PersonalityPrefix is really duplicate). That's why I thought about factoring such stuff into separate hooks. I'm really worrying, that number of such strings / bools can be increased, if somebody will try to make other targets (e.g. ppc / arm) fully support things, which are now x86-specific (I even don't know, whether current settings are enough to representing 64-bit specific information)> If I understand you correctly, this seems like a bigger project than > simply getting the personality function to work for Darwin. :-)I'm happy for this fix in short-term. But yes, it is pretty non-small project :) -- With best regards, Anton Korobeynikov. Faculty of Mathematics & Mechanics, Saint Petersburg State University.
Hi Anton,>> It's not exactly tweaking magic knobs. It's doing something that's >> already done -- putting the information in the TAI object, and >> allowing the specific back-end to set the appropriate strings. > It seems to me, that simple strings / bools there are not enough :) > "$non_lazy_ptr" emission is already in asm printers (in 2 places!). > The > "L" prefix is PrivateGlobalPrefix (so PersonalityPrefix is really > duplicate). That's why I thought about factoring such stuff into > separate hooks. I'm really worrying, that number of such strings / > bools > can be increased, if somebody will try to make other targets (e.g. > ppc / > arm) fully support things, which are now x86-specific (I even don't > know, whether current settings are enough to representing 64-bit > specific information) > >> If I understand you correctly, this seems like a bigger project than >> simply getting the personality function to work for Darwin. :-) > I'm happy for this fix in short-term. But yes, it is pretty non-small > project :)Okay. I think we're on the same page then. :-) I'll go ahead and commit this for the short term, and then we can hash out a better long term solution. Sound good? -bw
Please make sure the suffix is correct when compiling for static relocation model. The way the Darwin asm printer handles $non_lazy_ptr is pretty hacky. Perhaps we need to add some target specific information onto GV's. This is definitely a stop gap solution. Hopefully it's won't be a permanent one. :-) Evan On Sep 11, 2007, at 1:23 AM, Bill Wendling wrote:> Hi Anton, > >>> It's not exactly tweaking magic knobs. It's doing something that's >>> already done -- putting the information in the TAI object, and >>> allowing the specific back-end to set the appropriate strings. >> It seems to me, that simple strings / bools there are not enough :) >> "$non_lazy_ptr" emission is already in asm printers (in 2 places!). >> The >> "L" prefix is PrivateGlobalPrefix (so PersonalityPrefix is really >> duplicate). That's why I thought about factoring such stuff into >> separate hooks. I'm really worrying, that number of such strings / >> bools >> can be increased, if somebody will try to make other targets (e.g. >> ppc / >> arm) fully support things, which are now x86-specific (I even don't >> know, whether current settings are enough to representing 64-bit >> specific information) >> >>> If I understand you correctly, this seems like a bigger project than >>> simply getting the personality function to work for Darwin. :-) >> I'm happy for this fix in short-term. But yes, it is pretty non-small >> project :) > > Okay. I think we're on the same page then. :-) I'll go ahead and > commit this for the short term, and then we can hash out a better > long term solution. Sound good? > > -bw > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev