Dear all:

Currently I am upgrading a gcc target from 4.0.3 to 4.3.5
After test, I have found that gcc 4.3.5 will employee the .data.rel.ro
section and this has caused trouble when work with uclibc 0.9.31
4.3.5 will generate code like



.type __FUNCTION__.4211, @object
.size __FUNCTION__.4211, 21
__FUNCTION__.4211:
.string "_dl_get_ready_to_run"
.align 2

.section .data.rel.ro
.align 2
.LC108:
.word __FUNCTION__.4211
.align 2

t.lw $6,%got_page(.LC108)($28)
s.addiu $2,$6,%got_ofst(.LC108)
t.lw $6,0($2) // $6 now contains the value of ".word __FUNCTION__.4211"
and we wish it will point to the string "_dl_get_ready_to_run", but only
after it's also updated by ldso to the relocated value, otherwise it
will be wrong


the address of .LC108 and __FUNCTION__.4211 alone will be relocated by
ldso correctly while LC108's contents will not

My problem is related with .data.rel.ro? and have uclibc 0.9.31
supportted .data.rel.ro yet?


Thanks in advance

Best,
KwongYuan
_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to