EmbDev.net

Forum: ARM programming with GCC/GNU tools .rodata.str1.8 and size issues


von Dustin S. (dbrazeau)


Rate this post
useful
not useful
When I'm linking it creates .rodata.str1.8 for a bunch of object files
that end up taking up a lot of room in memory.  Here is and example from
the map file created by the linker:

.rodata.str1.8
                0xa8040170      0x80b Targets.o
                                0x840 (size before relaxing)

I was just wondering if someone could explain to me what these are, if I
need them, and if not is there an option for the linker that will
disregard (not make)them?

Thanks
DB

von Martin T. (mthomas) (Moderator)


Rate this post
useful
not useful
Dustin Sr wrote:
> When I'm linking it creates .rodata.str1.8 for a bunch of object files
> that end up taking up a lot of room in memory.  Here is and example from
> the map file created by the linker:
>
> .rodata.str1.8
>                 0xa8040170      0x80b Targets.o
>                                 0x840 (size before relaxing)
>
> I was just wondering if someone could explain to me what these are, if I
> need them, and if not is there an option for the linker that will
> disregard (not make)them?

Not enough information. Please show at least the linker-script, the
source-code of "Targets" and the complete map-File. The
assembler-listing generated by the compiler would help too (arm-elf-gcc
-S ...). Even better: create a minimal example to reproduce this (with
all files to create it: source(s), linker-script, makefile). I expect
these are "string"-contstanst used in subroutines either explicitly
defined ("static const char[]="foo") or implicit (outputfunc("foo")).

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.