yes,This is working.MIPS64 relocation type is a combination of 3 relocation types each of size 1 byte.

typedef struct
{
  Elf32_Word    r_sym;          /* Symbol index */
  unsigned char r_ssym;         /* Special symbol for 2nd relocation */
  unsigned char r_type3;        /* 3rd relocation type */
  unsigned char r_type2;        /* 2nd relocation type */
  unsigned char r_type1;        /* 1st relocation type */
} _Elf64_Mips_R_Info;

(R_MIPS_64 << 8) | R_MIPS_REL32     is (18 << 8) | 3 = 4611

Thanks,
Mahesh

On Fri, Jan 22, 2016 at 12:41 AM, Felix Fietkau <nbd@openwrt.org> wrote:
On 2015-10-27 02:30, Rich Felker wrote:
> On Tue, Oct 20, 2015 at 12:40:21PM +0200, Szabolcs Nagy wrote:
>> * Mahesh Bodapati <maheshbodapati90@gmail.com> [2015-10-20 15:14:04 +0530]:
>> > Error relocating libc.so: unsupported relocation type 4611
>> > Error relocating libc.so: unsupported relocation type 4611
>> > Error relocating libc.so: unsupported relocation type 4611
>> ....
>> > *#define REL_SYM_OR_REL  R_MIPS_64         /*I didn't see R_MIPS_REL64  so
>> > It is a composition of R_MIPS_64 and R_MIPS_REL relocations but i didn't
>> > see R_MIPS_REL in elf.h. *
>> > *
>> >  how can i define REL_SYM_OR_REL for mips n64 abi   */*
>>
>> i don't know what the n64 abi docs says, but this might be a hint:
>>
>> glibc/sysdeps/mips/dl-machine.h has
>>
>> #if _MIPS_SIM == _ABI64
>>     case (R_MIPS_64 << 8) | R_MIPS_REL32:
>> #else
>>     case R_MIPS_REL32:
>> #endif
>>
>> where R_MIPS_64 << 8 | R_MIPS_REL32 is 4611.
>
> This seems right. Mahesh, did you get a chance to try this? Does it
> help?
Manesh, any update on this? I'm really interested in musl MIPS64 support
for OpenWrt - I'd like to move away from glibc for that arch.
I can also help with testing and bugfixing once this is getting somewhere...

Thanks,

- Felix