[K42-discussion] genConstants.c on x86_64/gcc4.1

Paul H. Hargrove PHHargrove at lbl.gov
Sat Sep 8 10:20:26 EST 2007


Patrick G. Bridges wrote:
> I'm slowly working through the x86_64/gcc4 port right now, and have  
> run into a roadblock with genConstants.s. As a reminder,  
> genConstants.C defines a function, genConstants, which is marked as a  
> friend function of a number of k42 classes, which itself defines an  
> initialized static unsigned long for each constant that a script  
> later pulls out of the generated assembly to create a header file of  
> constants that assembly code can use. This lets us have assembly  
> constants for, for example, offsets into classes.
>
> The problem I'm having on x86_64/gcc4.1 is that the generated code,  
> even with -O0 -g, doesn't generate symbols and data for these local  
> static variables, presumably because they're dead by static analysis?  
> We also cannot pull all of these definitions out to extern variables  
> without changing a number of class variables to being public (since  
> you can't "friend" global scope). I've also tried marking them as  
> volatile static, which doesn't help.
>
> Any suggestions on how to deal with this?
> _______________________________________________
> K42-discussion mailing list
> K42-discussion at ozlabs.org
> https://ozlabs.org/mailman/listinfo/k42-discussion
>   
You might try various gcc attribute()s to achieve what you had hoped 
volatile would.
-Paul

-- 
Paul H. Hargrove                          PHHargrove at lbl.gov
Future Technologies Group                 
HPC Research Department                   Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900



More information about the K42-discussion mailing list