ROM data initialization in emulation

I am using QEMU to emulate a HiFive1 program, and need to put some data in ROM. I tried to put the date in section of .rodata but seem it goes to ram actually and causes overflow issue. Does anyone could provide a help to tell a solution for ROM data initialization in emulation please?

The c code is:
int input_data[8][58][232] attribute ((section (".rodata"))) = { (actual data here) };

And the lds section is:
.rodata : {
*(.rdata)
(.rodata .rodata.)
(.gnu.linkonce.r.)
. = ALIGN(8);
*(.srodata.cst16)
*(.srodata.cst8)
*(.srodata.cst4)
*(.srodata.cst2)
(.srodata .srodata.)
} >rom :rom