Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #43803

Re: can linker symbols be defined in C?

From Kaz Kylheku <kaz@kylheku.com>
Newsgroups comp.lang.c
Subject Re: can linker symbols be defined in C?
Date 2014-04-29 04:11 +0000
Organization Aioe.org NNTP Server
Message-ID <20140428210345.244@kylheku.com> (permalink)
References <2231b9bc-305e-4ed5-af87-e203dd64780a@googlegroups.com> <ljmkji$298$1@speranza.aioe.org> <7ccde203-5790-4bde-8b18-1e93028f0e65@googlegroups.com>

Show all headers | View raw


On 2014-04-29, Ralph Doncaster <ralphdoncaster@gmail.com> wrote:
> On Monday, 28 April 2014 19:26:57 UTC-3, jacob navia  wrote:
>> Le 28/04/2014 22:53, Ralph Doncaster a écrit :
>> 
>> > I want to define linker symbols in C.  I can do it using gcc inline assembler:
>> 
>> > #define STR1(x) #x
>> 
>> > #define STR(x) STR1(x)
>> 
>> > ... more macros that calculate TXDELAYCOUNT
>> 
>> > asm(".global TXDELAY" );
>> 
>> > asm(".equ TXDELAY, " STR(TXDELAYCOUNT) );
>> 
>> >
>> 
>> >
>> 
>> > Is there a way to do the same thing in standard C11?
>> 
>> >
>
>> Note that TXDELAY goes into the executable as a global variable and the 
>> 
>> value stored into the variable is the LAST value used. Did you know that?
>
> Yes, that is exactly what I want, and it's only defined once (in my header file).
> http://code.google.com/p/nerdralph/source/browse/trunk/avr/BBUart.h
> The defined values are used in my asm file:
> http://code.google.com/p/nerdralph/source/browse/trunk/avr/BBUart.S

I was about to say that you can have your assembly sources preprocessed
in GNU toolchains, but there you go.

Why don't you do the above stuff with TXDELAYCOUNT in the .S file?

Then you don't need the STR() hack, because you're not dealing with
inline assembler.

Back to comp.lang.c | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

can linker symbols be defined in C? Ralph Doncaster <ralphdoncaster@gmail.com> - 2014-04-28 13:53 -0700
  Re: can linker symbols be defined in C? James Kuyper <jameskuyper@verizon.net> - 2014-04-28 17:15 -0400
  Re: can linker symbols be defined in C? Andrew Smallshaw <andrews@sdf.lonestar.org> - 2014-04-28 21:17 +0000
    Re: can linker symbols be defined in C? Keith Thompson <kst-u@mib.org> - 2014-04-28 14:53 -0700
      Re: can linker symbols be defined in C? glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-04-28 23:28 +0000
    Re: can linker symbols be defined in C? James Kuyper <jameskuyper@verizon.net> - 2014-04-28 18:01 -0400
  Re: can linker symbols be defined in C? jacob navia <jacob@spamsink.net> - 2014-04-29 00:26 +0200
    Re: can linker symbols be defined in C? "Bill Cunningham" <nospam@nspam.invalid> - 2014-04-28 19:39 -0400
    Re: can linker symbols be defined in C? Ian Collins <ian-news@hotmail.com> - 2014-04-29 11:45 +1200
    Re: can linker symbols be defined in C? Ralph Doncaster <ralphdoncaster@gmail.com> - 2014-04-28 20:15 -0700
      Re: can linker symbols be defined in C? Kaz Kylheku <kaz@kylheku.com> - 2014-04-29 04:11 +0000
        Re: can linker symbols be defined in C? Ralph Doncaster <ralphdoncaster@gmail.com> - 2014-04-29 16:29 -0700
      Re: can linker symbols be defined in C? Noob <root@127.0.0.1> - 2014-04-29 08:33 +0200
  Re: can linker symbols be defined in C? Siri Crews <chine.bleu@yahoo.com> - 2014-04-28 16:54 -0700
    Re: can linker symbols be defined in C? Ralph Doncaster <ralphdoncaster@gmail.com> - 2014-04-28 20:01 -0700
  Re: can linker symbols be defined in C? Kaz Kylheku <kaz@kylheku.com> - 2014-04-29 00:20 +0000
    Re: can linker symbols be defined in C? Ralph Doncaster <ralphdoncaster@gmail.com> - 2014-04-28 19:57 -0700

csiph-web