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