done. recompile gcc from cvs. ~d
On Tuesday 06 July 2004 18:38, Remy Blank wrote: > (Sorry if this post appears twice, the first one didn't seem to come > through...) > > Hello everybody, > > I am trying to use the "alias" attribute for functions. From the gcc > manual: > > `alias ("target")' > The `alias' attribute causes the declaration to be emitted as an > alias for another symbol, which must be specified. For instance, > > void __f () { /* do something */; } > void f () __attribute__ ((weak, alias ("__f"))); > > declares `f' to be a weak alias for `__f'. In C++, the mangled > name for the target must be used. > > Not all target machines support this attribute. > > msp430-gcc gives me the following warning: > > Scheduler.c:101: warning: alias definitions not supported in this > configuration; ignored > > So I guess it's not implemented (yet). How difficult would it be to > implement the "alias" attribute? > > I've never hacked gcc. However, I've been looking at the file > gcc/gcc-3.3/gcc/config/msp430/msp430.c, where attributes are processed, > and I think I would be able to implement a simple attribute like > "wakeup" that only requires slightly changing a function prologue or > epilogue. However, as specified in the manual, "alias" seems to require > emitting some pseudo-code for a function *prototype*. Moreover, the > "standard" attributes like "weak" and "noreturn" seem to be implemented > in the core of gcc, and "alias" is one of them. So I'm kinda lost. > > I could probably implement someting easier like an > aliasname("othername") attribute that adds a ".global othername" when > generating the function name in asm_declare_function_name(), a bit > similar to what interrupt(x) is doing. > > Ideas? Opinions? Is this someting others could find useful? > > Ah, in case it didn't get through, what I'm trying to do is call a > function by two different names. The goal is to be able to implement > custom call tables behaving similarly to the interrupt vector table, and > to assign a function to a specific slot. > > I am using gcc-3.2.3 on linux. > > Best regards. > -- Remy > > > Remove underscore and anti-spam suffix in reply address for a timely > response.