Ok, I've verify this is working properly (not on MicroBlaze, but on other architectures).
One observation, recent gcc appears to have changed something in CXX (at least on x86-64), and I'm now getting: ../src/prelink: /home/root/prelink-cross/testsuite/cxx1: COPY relocations don't point into .bss or .sbss section when running the testsuite.... Anyway, what is there is now usable. I've got a small number of x32 patches that need to be merged.. (that will come next.) --Mark On 6/20/17 8:08 AM, Mark Hatle wrote: > On 6/20/17 7:08 AM, Nathan Rossi wrote: >> On 20 June 2017 at 00:20, Mark Hatle <mark.ha...@windriver.com> wrote: >>> I've merged this to the cross_prelink_staging (and master_staging, even >>> though >>> it's a no-op there). The change seems fairly obvious to me. >>> >>> Can you verify it is working properly as merged into cross_prelink_staging, >>> then >>> I'll move it to the full cross_prelink and master. >> >> Tested the cross_prelink_staging branch and verified that it behaves >> as expected. >> >> Sorry I forgot to add the ChangeLog entry. However when you added it >> you used 2016 for the year. > > whoops. I'll correct that. > >> On a side note, once merged into the cross_prelink branch do you see >> any issues with updating the SRCREV in oe-core? > > I've got a few other patches that I'd forgotten about. Once I merge those > (and > do some basic validation on them).. I'll send up a request for oe-core. If > you > don't see it in the next few days, feel free to send up an update yourself. > > --Mark > >> Thanks, >> Nathan >> >>> >>> --Mark >>> >>> On 6/19/17 8:45 AM, Nathan Rossi wrote: >>>> Add definitions/config to support MicroBlaze, using glibc-2.24 as >>>> reference. >>>> >>>> Signed-off-by: Nathan Rossi <nat...@nathanrossi.com> >>>> --- >>>> src/rtld/dl-tls.c | 5 +++++ >>>> src/rtld/rtld.c | 12 ++++++++++++ >>>> 2 files changed, 17 insertions(+) >>>> >>>> diff --git a/src/rtld/dl-tls.c b/src/rtld/dl-tls.c >>>> index 8b972ff126..2da6bc5c66 100644 >>>> --- a/src/rtld/dl-tls.c >>>> +++ b/src/rtld/dl-tls.c >>>> @@ -133,6 +133,11 @@ rtld_determine_tlsoffsets (int e_machine, struct >>>> r_scope_elem *search_list) >>>> tls_tcb_size = 0; >>>> break; >>>> >>>> + case EM_MICROBLAZE: >>>> + tls_dtv_at_tp = 1; >>>> + tls_tcb_size = 8; >>>> + break; >>>> + >>>> default: >>>> /* Hope there's no TLS! */ >>>> for (i = 0; i < search_list->r_nlist; i++) >>>> diff --git a/src/rtld/rtld.c b/src/rtld/rtld.c >>>> index 8d7d760a57..3196981247 100644 >>>> --- a/src/rtld/rtld.c >>>> +++ b/src/rtld/rtld.c >>>> @@ -215,6 +215,15 @@ parse_opt (int key, char *arg, struct argp_state >>>> *state) >>>> | (((type) == R_NIOS2_COPY) * ELF_RTYPE_CLASS_COPY) \ >>>> | (((type) == R_NIOS2_GLOB_DAT) * >>>> ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA(EM_ALTERA_NIOS2))) >>>> >>>> +/* From glibc-2.24: sysdeps/microblaze/dl-machine.h */ >>>> +# define microblaze_elf_machine_type_class(type) \ >>>> + (((type) == R_MICROBLAZE_JUMP_SLOT || \ >>>> + (type) == R_MICROBLAZE_TLSDTPREL32 || \ >>>> + (type) == R_MICROBLAZE_TLSDTPMOD32 || \ >>>> + (type) == R_MICROBLAZE_TLSTPREL32) \ >>>> + * ELF_RTYPE_CLASS_PLT \ >>>> + | ((type) == R_MICROBLAZE_COPY) * ELF_RTYPE_CLASS_COPY) >>>> + >>>> int >>>> elf_machine_type_class (int type, int machine) >>>> { >>>> @@ -243,6 +252,8 @@ elf_machine_type_class (int type, int machine) >>>> return sparc64_elf_machine_type_class(type); >>>> case EM_ALTERA_NIOS2: >>>> return nios2_elf_machine_type_class(type); >>>> + case EM_MICROBLAZE: >>>> + return microblaze_elf_machine_type_class(type); >>>> >>>> default: >>>> printf ("Unknown architecture!\n"); >>>> @@ -284,6 +295,7 @@ machine_no_rela (int machine) >>>> case EM_SPARC32PLUS: >>>> case EM_SPARCV9: >>>> case EM_ALTERA_NIOS2: >>>> + case EM_MICROBLAZE: >>>> return 0; >>>> default: >>>> return 1; >>>> >>> > -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto