Messages in this thread | | | Date | Mon, 25 Sep 2017 14:41:31 -0500 | From | Segher Boessenkool <> | Subject | Re: [PATCH] mm: fix RODATA_TEST failure "rodata_test: test data was not read only" |
| |
On Mon, Sep 25, 2017 at 04:01:55PM +0000, David Laight wrote: > From: Segher Boessenkool > > The compiler puts this item in .sdata, for 32-bit. There is no .srodata, > > so if it wants to use a small data section, it must use .sdata . > > > > Non-external, non-referenced symbols are not put in .sdata, that is the > > difference you see with the "static". > > > > I don't think there is a bug here. If you think there is, please open > > a GCC bug. > > The .sxxx sections are for 'small' data that can be accessed (typically) > using small offsets from a global register. > This means that all sections must be adjacent in the image. > So you can't really have readonly small data. > > My guess is that the linker script is putting .srodata in with .sdata.
.srodata does not *exist* (in the ABI).
Segher
| |