a question about gas

Nick Clifton nickc@redhat.com
Thu Oct 11 10:58:00 GMT 2007


Hi Lope,

> I find there are a few inconsistencies within the
> documentation and what actually gas does. Which I can
> remember right now is for example the use of
> STT_FUNCTION, like this:
> 
> ..globl my_func
> ..type my_func STT_FUNCTION
> 
> leads to:
> 
> main.S:23: Error: unrecognized symbol type
> "STT_FUNCTION"

This is because the type should be "STT_FUNC" not "STT_FUNCTION".


> What I wanted to ask is how should I do to define a
> global symbol, thus, I'm using several files, so I did
> setup a common.S (I go via gcc), and made a small
> macro, such a file looks like this:
> 
> ..text
> 
> ..macro global_def sym, val
>   .globl \sym
>   .equ \sym, \val
> ..endm
> 
>   .global_def _sys_brk, 45

If you are using gcc to drive the assembler, why not just use the C 
preprocessor to do this sort of thing for you ?  eg:

   % cat common.S
   #define _sys_brk 45

   % cat prog.S
   movl _sys_brk, %eax


Cheers
   Nick



More information about the Binutils mailing list