@@ -150,6 +150,7 @@ impl<'a> Object<'a> {
150150 Architecture :: Sparc => true ,
151151 Architecture :: Sparc32Plus => true ,
152152 Architecture :: Sparc64 => true ,
153+ Architecture :: SuperH => false ,
153154 Architecture :: Xtensa => true ,
154155 _ => {
155156 return Err ( Error ( format ! (
@@ -364,6 +365,11 @@ impl<'a> Object<'a> {
364365 ( K :: Absolute , _, 64 ) => elf:: R_SPARC_UA64 ,
365366 _ => return unsupported_reloc ( ) ,
366367 } ,
368+ Architecture :: SuperH => match ( kind, encoding, size) {
369+ ( K :: Absolute , _, 32 ) => elf:: R_SH_DIR32 ,
370+ ( K :: Relative , _, 32 ) => elf:: R_SH_REL32 ,
371+ _ => return unsupported_reloc ( ) ,
372+ } ,
367373 Architecture :: Xtensa => match ( kind, encoding, size) {
368374 ( K :: Absolute , _, 32 ) => elf:: R_XTENSA_32 ,
369375 ( K :: Relative , E :: Generic , 32 ) => elf:: R_XTENSA_32_PCREL ,
@@ -582,6 +588,7 @@ impl<'a> Object<'a> {
582588 ( Architecture :: Sparc , None ) => elf:: EM_SPARC ,
583589 ( Architecture :: Sparc32Plus , None ) => elf:: EM_SPARC32PLUS ,
584590 ( Architecture :: Sparc64 , None ) => elf:: EM_SPARCV9 ,
591+ ( Architecture :: SuperH , None ) => elf:: EM_SH ,
585592 ( Architecture :: Xtensa , None ) => elf:: EM_XTENSA ,
586593 _ => {
587594 return Err ( Error ( format ! (
0 commit comments