RTEMS-6
Annotated Report
libfsmount
Sun Feb 28 23:52:50 2021

0011238c <rtems_fsmount>:                                                                 
 )                                                                                        
/*-------------------------------------------------------------------------*\             
  | Return Value:                                                             |           
  |    0, if success, -1 and errno if failed                                  |           
  \*=========================================================================*/           
{                                                                                         
  11238c:   e92d 4ff0   stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}                 <== NOT EXECUTED
  112390:   b087        sub sp, #28                                                       <== NOT EXECUTED
  bool terminate = false;                                                                 
                                                                                          
  /*                                                                                      
   * scan through all fstab entries;                                                      
   */                                                                                     
  while (!terminate &&                                                                    
  112392:   460f        mov r7, r1                                                        <== NOT EXECUTED
{                                                                                         
  112394:   9204        str r2, [sp, #16]                                                 <== NOT EXECUTED
  while (!terminate &&                                                                    
  112396:   2900        cmp r1, #0                                                        <== NOT EXECUTED
  112398:   d076        beq.n   112488 <rtems_fsmount+0xfc>                               <== NOT EXECUTED
          rc = tmp_rc;                                                                    
        }                                                                                 
      }                                                                                   
      else {                                                                              
        if (0 != (fstab_ptr->report_reasons & FSMOUNT_MNT_OK)) {                          
          fprintf(stdout,"fsmount: mounting of \"%s\" to"                                 
  11239a:   f242 3a0c   movw    sl, #8972   ; 0x230c                                      <== NOT EXECUTED
          fprintf(stdout,"fsmount: mounting of \"%s\" to"                                 
  11239e:   f242 29dc   movw    r9, #8924   ; 0x22dc                                      <== NOT EXECUTED
          fprintf(stdout,"fsmount: creation of mount point \"%s\" failed: %s\n",          
  1123a2:   f242 28a8   movw    r8, #8872   ; 0x22a8                                      <== NOT EXECUTED
  1123a6:   f100 0414   add.w   r4, r0, #20                                               <== NOT EXECUTED
  size_t fstab_idx = 0;                                                                   
  1123aa:   2600        movs    r6, #0                                                    <== NOT EXECUTED
          fprintf(stdout,"fsmount: mounting of \"%s\" to"                                 
  1123ac:   f2c0 0a15   movt    sl, #21                                                   <== NOT EXECUTED
          fprintf(stdout,"fsmount: mounting of \"%s\" to"                                 
  1123b0:   f2c0 0915   movt    r9, #21                                                   <== NOT EXECUTED
          fprintf(stdout,"fsmount: creation of mount point \"%s\" failed: %s\n",          
  1123b4:   f2c0 0815   movt    r8, #21                                                   <== NOT EXECUTED
  1123b8:   e00b        b.n 1123d2 <rtems_fsmount+0x46>                                   <== NOT EXECUTED
        if (0 != (fstab_ptr->report_reasons & FSMOUNT_MNTPNT_CRTERR)) {                   
  1123ba:   f834 3c04   ldrh.w  r3, [r4, #-4]                                             <== NOT EXECUTED
  1123be:   079a        lsls    r2, r3, #30                                               <== NOT EXECUTED
  1123c0:   d42f        bmi.n   112422 <rtems_fsmount+0x96>                               <== NOT EXECUTED
        if (0 != (fstab_ptr->abort_reasons & FSMOUNT_MNTPNT_CRTERR)) {                    
  1123c2:   f834 3c02   ldrh.w  r3, [r4, #-2]                                             <== NOT EXECUTED
  1123c6:   079b        lsls    r3, r3, #30                                               <== NOT EXECUTED
  1123c8:   d41d        bmi.n   112406 <rtems_fsmount+0x7a>                               <== NOT EXECUTED
    /*                                                                                    
     * proceed to next entry                                                              
     */                                                                                   
    if (!terminate) {                                                                     
      fstab_ptr++;                                                                        
      fstab_idx++;                                                                        
  1123ca:   3601        adds    r6, #1                                                    <== NOT EXECUTED
  while (!terminate &&                                                                    
  1123cc:   3414        adds    r4, #20                                                   <== NOT EXECUTED
  1123ce:   42b7        cmp r7, r6                                                        <== NOT EXECUTED
  1123d0:   d05d        beq.n   11248e <rtems_fsmount+0x102>                              <== NOT EXECUTED
      tmp_rc = rtems_mkdir(fstab_ptr->target, S_IRWXU | S_IRWXG | S_IRWXO);               
  1123d2:   f854 0c10   ldr.w   r0, [r4, #-16]                                            <== NOT EXECUTED
  1123d6:   f240 11ff   movw    r1, #511    ; 0x1ff                                       <== NOT EXECUTED
  1123da:   f013 fa0f   bl  1257fc <rtems_mkdir>                                          <== NOT EXECUTED
      if (tmp_rc != 0) {                                                                  
  1123de:   4605        mov r5, r0                                                        <== NOT EXECUTED
  1123e0:   2800        cmp r0, #0                                                        <== NOT EXECUTED
  1123e2:   d1ea        bne.n   1123ba <rtems_fsmount+0x2e>                               <== NOT EXECUTED
      tmp_rc = mount(fstab_ptr->source,                                                   
  1123e4:   e954 2303   ldrd    r2, r3, [r4, #-12]                                        <== NOT EXECUTED
  1123e8:   e954 0105   ldrd    r0, r1, [r4, #-20]                                        <== NOT EXECUTED
  1123ec:   9500        str r5, [sp, #0]                                                  <== NOT EXECUTED
  1123ee:   f7f6 fe47   bl  109080 <mount>                                                <== NOT EXECUTED
        if (0 != (fstab_ptr->report_reasons & FSMOUNT_MNT_FAILED)) {                      
  1123f2:   f834 3c04   ldrh.w  r3, [r4, #-4]                                             <== NOT EXECUTED
      if (tmp_rc != 0) {                                                                  
  1123f6:   4605        mov r5, r0                                                        <== NOT EXECUTED
  1123f8:   b160        cbz r0, 112414 <rtems_fsmount+0x88>                               <== NOT EXECUTED
        if (0 != (fstab_ptr->report_reasons & FSMOUNT_MNT_FAILED)) {                      
  1123fa:   075b        lsls    r3, r3, #29                                               <== NOT EXECUTED
  1123fc:   d424        bmi.n   112448 <rtems_fsmount+0xbc>                               <== NOT EXECUTED
        if (0 != (fstab_ptr->abort_reasons & FSMOUNT_MNT_FAILED)) {                       
  1123fe:   f834 3c02   ldrh.w  r3, [r4, #-2]                                             <== NOT EXECUTED
  112402:   0758        lsls    r0, r3, #29                                               <== NOT EXECUTED
  112404:   d5e1        bpl.n   1123ca <rtems_fsmount+0x3e>                               <== NOT EXECUTED
    }                                                                                     
  }                                                                                       
  if (fail_idx != NULL) {                                                                 
  112406:   9b04        ldr r3, [sp, #16]                                                 <== NOT EXECUTED
  112408:   b103        cbz r3, 11240c <rtems_fsmount+0x80>                               <== NOT EXECUTED
    *fail_idx = fstab_idx;                                                                
  11240a:   601e        str r6, [r3, #0]                                                  <== NOT EXECUTED
  }                                                                                       
  return rc;                                                                              
}                                                                                         
  11240c:   4628        mov r0, r5                                                        <== NOT EXECUTED
  11240e:   b007        add sp, #28                                                       <== NOT EXECUTED
  112410:   e8bd 8ff0   ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}                 <== NOT EXECUTED
        if (0 != (fstab_ptr->report_reasons & FSMOUNT_MNT_OK)) {                          
  112414:   07d9        lsls    r1, r3, #31                                               <== NOT EXECUTED
  112416:   d42e        bmi.n   112476 <rtems_fsmount+0xea>                               <== NOT EXECUTED
        if (0 != (fstab_ptr->abort_reasons & FSMOUNT_MNT_OK)) {                           
  112418:   f834 3c02   ldrh.w  r3, [r4, #-2]                                             <== NOT EXECUTED
  11241c:   07da        lsls    r2, r3, #31                                               <== NOT EXECUTED
  11241e:   d4f2        bmi.n   112406 <rtems_fsmount+0x7a>                               <== NOT EXECUTED
  112420:   e7d3        b.n 1123ca <rtems_fsmount+0x3e>                                   <== NOT EXECUTED
          fprintf(stdout,"fsmount: creation of mount point \"%s\" failed: %s\n",          
  112422:   f7f3 fa5b   bl  1058dc <__getreent>                                           <== NOT EXECUTED
  112426:   f854 2c10   ldr.w   r2, [r4, #-16]                                            <== NOT EXECUTED
  11242a:   f8d0 b008   ldr.w   fp, [r0, #8]                                              <== NOT EXECUTED
  11242e:   9203        str r2, [sp, #12]                                                 <== NOT EXECUTED
                  strerror(errno));                                                       
  112430:   f02b ff90   bl  13e354 <__errno>                                              <== NOT EXECUTED
          fprintf(stdout,"fsmount: creation of mount point \"%s\" failed: %s\n",          
  112434:   6800        ldr r0, [r0, #0]                                                  <== NOT EXECUTED
  112436:   f030 ffc7   bl  1433c8 <strerror>                                             <== NOT EXECUTED
  11243a:   9a03        ldr r2, [sp, #12]                                                 <== NOT EXECUTED
  11243c:   4603        mov r3, r0                                                        <== NOT EXECUTED
  11243e:   4641        mov r1, r8                                                        <== NOT EXECUTED
  112440:   4658        mov r0, fp                                                        <== NOT EXECUTED
  112442:   f02c fba7   bl  13eb94 <fprintf>                                              <== NOT EXECUTED
  112446:   e7bc        b.n 1123c2 <rtems_fsmount+0x36>                                   <== NOT EXECUTED
          fprintf(stdout,"fsmount: mounting of \"%s\" to"                                 
  112448:   f7f3 fa48   bl  1058dc <__getreent>                                           <== NOT EXECUTED
  11244c:   f854 2c14   ldr.w   r2, [r4, #-20]                                            <== NOT EXECUTED
  112450:   f854 3c10   ldr.w   r3, [r4, #-16]                                            <== NOT EXECUTED
  112454:   f8d0 b008   ldr.w   fp, [r0, #8]                                              <== NOT EXECUTED
  112458:   9205        str r2, [sp, #20]                                                 <== NOT EXECUTED
  11245a:   9303        str r3, [sp, #12]                                                 <== NOT EXECUTED
                  strerror(errno));                                                       
  11245c:   f02b ff7a   bl  13e354 <__errno>                                              <== NOT EXECUTED
          fprintf(stdout,"fsmount: mounting of \"%s\" to"                                 
  112460:   6800        ldr r0, [r0, #0]                                                  <== NOT EXECUTED
  112462:   f030 ffb1   bl  1433c8 <strerror>                                             <== NOT EXECUTED
  112466:   9b03        ldr r3, [sp, #12]                                                 <== NOT EXECUTED
  112468:   4649        mov r1, r9                                                        <== NOT EXECUTED
  11246a:   9000        str r0, [sp, #0]                                                  <== NOT EXECUTED
  11246c:   4658        mov r0, fp                                                        <== NOT EXECUTED
  11246e:   9a05        ldr r2, [sp, #20]                                                 <== NOT EXECUTED
  112470:   f02c fb90   bl  13eb94 <fprintf>                                              <== NOT EXECUTED
  112474:   e7c3        b.n 1123fe <rtems_fsmount+0x72>                                   <== NOT EXECUTED
          fprintf(stdout,"fsmount: mounting of \"%s\" to"                                 
  112476:   f7f3 fa31   bl  1058dc <__getreent>                                           <== NOT EXECUTED
  11247a:   e954 2305   ldrd    r2, r3, [r4, #-20]                                        <== NOT EXECUTED
  11247e:   4651        mov r1, sl                                                        <== NOT EXECUTED
  112480:   6880        ldr r0, [r0, #8]                                                  <== NOT EXECUTED
  112482:   f02c fb87   bl  13eb94 <fprintf>                                              <== NOT EXECUTED
  112486:   e7c7        b.n 112418 <rtems_fsmount+0x8c>                                   <== NOT EXECUTED
  size_t fstab_idx = 0;                                                                   
  112488:   460e        mov r6, r1                                                        <== NOT EXECUTED
  int rc = 0;                                                                             
  11248a:   460d        mov r5, r1                                                        <== NOT EXECUTED
  11248c:   e7bb        b.n 112406 <rtems_fsmount+0x7a>                                   <== NOT EXECUTED
  11248e:   2500        movs    r5, #0                                                    <== NOT EXECUTED
  112490:   e7b9        b.n 112406 <rtems_fsmount+0x7a>                                   <== NOT EXECUTED
  112492:   bf00        nop