RTEMS-5
Annotated Report
libfsmount
Sat Apr 11 19:31:13 2020

4000dfa0 <rtems_fsmount>:
                                            
 )
                                                                   
/*-------------------------------------------------------------------------*\

  | Return Value:                                                             |

  |    0, if success, -1 and errno if failed                                  |

  \*=========================================================================*/

{
                                                                    
4000dfa0:	9d e3 bf a0 	save  %sp, -96, %sp
                           <== NOT EXECUTED
          rc = tmp_rc;
                                               
        }
                                                            
      }
                                                              
      else {
                                                         
        if (0 != (fstab_ptr->report_reasons & FSMOUNT_MNT_OK)) {
     
          fprintf(stdout,"fsmount: mounting of \"%s\" to"
            
4000dfa4:	27 10 01 e6 	sethi  %hi(0x40079800), %l3
                   <== NOT EXECUTED
{
                                                                    
4000dfa8:	ba 10 00 18 	mov  %i0, %i5
                                 <== NOT EXECUTED
          fprintf(stdout,"fsmount: mounting of \"%s\" to"
            
4000dfac:	25 10 01 e6 	sethi  %hi(0x40079800), %l2
                   <== NOT EXECUTED
          fprintf(stdout,"fsmount: creation of mount point \"%s\" failed: %s\n",

4000dfb0:	23 10 01 e6 	sethi  %hi(0x40079800), %l1
                   <== NOT EXECUTED
  bool terminate = false;
                                            
4000dfb4:	b8 10 20 00 	clr  %i4
                                      <== NOT EXECUTED
  size_t fstab_idx = 0;
                                              
4000dfb8:	b6 10 20 00 	clr  %i3
                                      <== NOT EXECUTED
  int rc = 0;
                                                        
4000dfbc:	b0 10 20 00 	clr  %i0
                                      <== NOT EXECUTED
          fprintf(stdout,"fsmount: mounting of \"%s\" to"
            
4000dfc0:	a6 14 e1 40 	or  %l3, 0x140, %l3
                           <== NOT EXECUTED
          fprintf(stdout,"fsmount: mounting of \"%s\" to"
            
4000dfc4:	a4 14 a1 10 	or  %l2, 0x110, %l2
                           <== NOT EXECUTED
          fprintf(stdout,"fsmount: creation of mount point \"%s\" failed: %s\n",

4000dfc8:	a2 14 60 d8 	or  %l1, 0xd8, %l1
                            <== NOT EXECUTED
         (fstab_idx < fstab_count)) {
                                
4000dfcc:	80 a6 c0 19 	cmp  %i3, %i1
                                 <== NOT EXECUTED
  while (!terminate &&
                                               
4000dfd0:	b8 1f 20 01 	xor  %i4, 1, %i4
                              <== NOT EXECUTED
         (fstab_idx < fstab_count)) {
                                
4000dfd4:	82 40 20 00 	addx  %g0, 0, %g1
                             <== NOT EXECUTED
  while (!terminate &&
                                               
4000dfd8:	82 08 40 1c 	and  %g1, %i4, %g1
                            <== NOT EXECUTED
4000dfdc:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
4000dfe0:	02 80 00 21 	be  4000e064 <rtems_fsmount+0xc4>
             <== NOT EXECUTED
4000dfe4:	b8 10 00 01 	mov  %g1, %i4
                                 <== NOT EXECUTED
      tmp_rc = rtems_mkdir(fstab_ptr->target, S_IRWXU | S_IRWXG | S_IRWXO);

4000dfe8:	d0 07 60 04 	ld  [ %i5 + 4 ], %o0
                          <== NOT EXECUTED
4000dfec:	40 00 ca 46 	call  40040904 <rtems_mkdir>
                  <== NOT EXECUTED
4000dff0:	92 10 21 ff 	mov  0x1ff, %o1
                               <== NOT EXECUTED
      if (tmp_rc != 0) {
                                             
4000dff4:	a0 92 20 00 	orcc  %o0, 0, %l0
                             <== NOT EXECUTED
4000dff8:	32 80 00 21 	bne,a   4000e07c <rtems_fsmount+0xdc>
         <== NOT EXECUTED
4000dffc:	c2 17 60 10 	lduh  [ %i5 + 0x10 ], %g1
                     <== NOT EXECUTED
      tmp_rc = mount(fstab_ptr->source,
                              
4000e000:	d6 07 60 0c 	ld  [ %i5 + 0xc ], %o3
                        <== NOT EXECUTED
4000e004:	d4 07 60 08 	ld  [ %i5 + 8 ], %o2
                          <== NOT EXECUTED
4000e008:	d2 07 60 04 	ld  [ %i5 + 4 ], %o1
                          <== NOT EXECUTED
4000e00c:	d0 07 40 00 	ld  [ %i5 ], %o0
                              <== NOT EXECUTED
4000e010:	7f ff ef e6 	call  40009fa8 <mount>
                        <== NOT EXECUTED
4000e014:	98 10 20 00 	clr  %o4
                                      <== NOT EXECUTED
        if (0 != (fstab_ptr->report_reasons & FSMOUNT_MNT_FAILED)) {
 
4000e018:	c2 17 60 10 	lduh  [ %i5 + 0x10 ], %g1
                     <== NOT EXECUTED
      if (tmp_rc != 0) {
                                             
4000e01c:	80 a2 20 00 	cmp  %o0, 0
                                   <== NOT EXECUTED
4000e020:	02 80 00 24 	be  4000e0b0 <rtems_fsmount+0x110>
            <== NOT EXECUTED
4000e024:	a0 10 00 08 	mov  %o0, %l0
                                 <== NOT EXECUTED
        if (0 != (fstab_ptr->report_reasons & FSMOUNT_MNT_FAILED)) {
 
4000e028:	80 88 60 04 	btst  4, %g1
                                  <== NOT EXECUTED
4000e02c:	12 80 00 3a 	bne  4000e114 <rtems_fsmount+0x174>
           <== NOT EXECUTED
4000e030:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
        if (0 != (fstab_ptr->abort_reasons & FSMOUNT_MNT_FAILED)) {
  
4000e034:	c2 17 60 12 	lduh  [ %i5 + 0x12 ], %g1
                     <== NOT EXECUTED
4000e038:	80 88 60 04 	btst  4, %g1
                                  <== NOT EXECUTED
4000e03c:	22 80 00 18 	be,a   4000e09c <rtems_fsmount+0xfc>
          <== NOT EXECUTED
4000e040:	ba 07 60 14 	add  %i5, 0x14, %i5
                           <== NOT EXECUTED
         (fstab_idx < fstab_count)) {
                                
4000e044:	80 a6 c0 19 	cmp  %i3, %i1
                                 <== NOT EXECUTED
  while (!terminate &&
                                               
4000e048:	b8 1f 20 01 	xor  %i4, 1, %i4
                              <== NOT EXECUTED
         (fstab_idx < fstab_count)) {
                                
4000e04c:	82 40 20 00 	addx  %g0, 0, %g1
                             <== NOT EXECUTED
        if (0 != (fstab_ptr->abort_reasons & FSMOUNT_MNTPNT_CRTERR)) {

4000e050:	b0 10 00 10 	mov  %l0, %i0
                                 <== NOT EXECUTED
  while (!terminate &&
                                               
4000e054:	82 08 40 1c 	and  %g1, %i4, %g1
                            <== NOT EXECUTED
4000e058:	80 a0 60 00 	cmp  %g1, 0
                                   <== NOT EXECUTED
4000e05c:	12 bf ff e3 	bne  4000dfe8 <rtems_fsmount+0x48>
            <== NOT EXECUTED
4000e060:	b8 10 00 01 	mov  %g1, %i4
                                 <== NOT EXECUTED
    if (!terminate) {
                                                
      fstab_ptr++;
                                                   
      fstab_idx++;
                                                   
    }
                                                                
  }
                                                                  
  if (fail_idx != NULL) {
                                            
4000e064:	80 a6 a0 00 	cmp  %i2, 0
                                   <== NOT EXECUTED
4000e068:	02 80 00 10 	be  4000e0a8 <rtems_fsmount+0x108>
            <== NOT EXECUTED
4000e06c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
    *fail_idx = fstab_idx;
                                           
4000e070:	f6 26 80 00 	st  %i3, [ %i2 ]
                              <== NOT EXECUTED
  }
                                                                  
  return rc;
                                                         
4000e074:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000e078:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
        if (0 != (fstab_ptr->report_reasons & FSMOUNT_MNTPNT_CRTERR)) {

4000e07c:	80 88 60 02 	btst  2, %g1
                                  <== NOT EXECUTED
4000e080:	12 80 00 17 	bne  4000e0dc <rtems_fsmount+0x13c>
           <== NOT EXECUTED
4000e084:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
        if (0 != (fstab_ptr->abort_reasons & FSMOUNT_MNTPNT_CRTERR)) {

4000e088:	c2 17 60 12 	lduh  [ %i5 + 0x12 ], %g1
                     <== NOT EXECUTED
4000e08c:	80 88 60 02 	btst  2, %g1
                                  <== NOT EXECUTED
4000e090:	12 bf ff ee 	bne  4000e048 <rtems_fsmount+0xa8>
            <== NOT EXECUTED
4000e094:	80 a6 c0 19 	cmp  %i3, %i1
                                 <== NOT EXECUTED
      fstab_ptr++;
                                                   
4000e098:	ba 07 60 14 	add  %i5, 0x14, %i5
                           <== NOT EXECUTED
      fstab_idx++;
                                                   
4000e09c:	b6 06 e0 01 	inc  %i3
                                      <== NOT EXECUTED
4000e0a0:	10 bf ff cb 	b  4000dfcc <rtems_fsmount+0x2c>
              <== NOT EXECUTED
4000e0a4:	b8 10 20 00 	clr  %i4
                                      <== NOT EXECUTED
}
                                                                    
4000e0a8:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
4000e0ac:	81 e8 00 00 	restore 
                                      <== NOT EXECUTED
        if (0 != (fstab_ptr->report_reasons & FSMOUNT_MNT_OK)) {
     
4000e0b0:	80 88 60 01 	btst  1, %g1
                                  <== NOT EXECUTED
4000e0b4:	12 80 00 28 	bne  4000e154 <rtems_fsmount+0x1b4>
           <== NOT EXECUTED
4000e0b8:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
        if (0 != (fstab_ptr->abort_reasons & FSMOUNT_MNT_OK)) {
      
4000e0bc:	c2 17 60 12 	lduh  [ %i5 + 0x12 ], %g1
                     <== NOT EXECUTED
4000e0c0:	80 88 60 01 	btst  1, %g1
                                  <== NOT EXECUTED
4000e0c4:	12 bf ff c3 	bne  4000dfd0 <rtems_fsmount+0x30>
            <== NOT EXECUTED
4000e0c8:	80 a6 c0 19 	cmp  %i3, %i1
                                 <== NOT EXECUTED
      fstab_ptr++;
                                                   
4000e0cc:	ba 07 60 14 	add  %i5, 0x14, %i5
                           <== NOT EXECUTED
      fstab_idx++;
                                                   
4000e0d0:	b6 06 e0 01 	inc  %i3
                                      <== NOT EXECUTED
4000e0d4:	10 bf ff be 	b  4000dfcc <rtems_fsmount+0x2c>
              <== NOT EXECUTED
4000e0d8:	b8 10 20 00 	clr  %i4
                                      <== NOT EXECUTED
          fprintf(stdout,"fsmount: creation of mount point \"%s\" failed: %s\n",

4000e0dc:	7f ff d3 25 	call  40002d70 <__getreent>
                   <== NOT EXECUTED
4000e0e0:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
4000e0e4:	ea 07 60 04 	ld  [ %i5 + 4 ], %l5
                          <== NOT EXECUTED
                  strerror(errno));
                                  
4000e0e8:	40 01 3a ad 	call  4005cb9c <__errno>
                      <== NOT EXECUTED
4000e0ec:	e8 02 20 08 	ld  [ %o0 + 8 ], %l4
                          <== NOT EXECUTED
          fprintf(stdout,"fsmount: creation of mount point \"%s\" failed: %s\n",

4000e0f0:	40 01 57 ef 	call  400640ac <strerror>
                     <== NOT EXECUTED
4000e0f4:	d0 02 00 00 	ld  [ %o0 ], %o0
                              <== NOT EXECUTED
4000e0f8:	94 10 00 15 	mov  %l5, %o2
                                 <== NOT EXECUTED
4000e0fc:	96 10 00 08 	mov  %o0, %o3
                                 <== NOT EXECUTED
4000e100:	92 10 00 11 	mov  %l1, %o1
                                 <== NOT EXECUTED
4000e104:	40 01 3d f7 	call  4005d8e0 <fprintf>
                      <== NOT EXECUTED
4000e108:	90 10 00 14 	mov  %l4, %o0
                                 <== NOT EXECUTED
        if (0 != (fstab_ptr->abort_reasons & FSMOUNT_MNTPNT_CRTERR)) {

4000e10c:	10 bf ff e0 	b  4000e08c <rtems_fsmount+0xec>
              <== NOT EXECUTED
4000e110:	c2 17 60 12 	lduh  [ %i5 + 0x12 ], %g1
                     <== NOT EXECUTED
          fprintf(stdout,"fsmount: mounting of \"%s\" to"
            
4000e114:	7f ff d3 17 	call  40002d70 <__getreent>
                   <== NOT EXECUTED
4000e118:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
4000e11c:	ea 07 40 00 	ld  [ %i5 ], %l5
                              <== NOT EXECUTED
4000e120:	e8 02 20 08 	ld  [ %o0 + 8 ], %l4
                          <== NOT EXECUTED
                  strerror(errno));
                                  
4000e124:	40 01 3a 9e 	call  4005cb9c <__errno>
                      <== NOT EXECUTED
4000e128:	ec 07 60 04 	ld  [ %i5 + 4 ], %l6
                          <== NOT EXECUTED
          fprintf(stdout,"fsmount: mounting of \"%s\" to"
            
4000e12c:	40 01 57 e0 	call  400640ac <strerror>
                     <== NOT EXECUTED
4000e130:	d0 02 00 00 	ld  [ %o0 ], %o0
                              <== NOT EXECUTED
4000e134:	96 10 00 16 	mov  %l6, %o3
                                 <== NOT EXECUTED
4000e138:	98 10 00 08 	mov  %o0, %o4
                                 <== NOT EXECUTED
4000e13c:	94 10 00 15 	mov  %l5, %o2
                                 <== NOT EXECUTED
4000e140:	92 10 00 12 	mov  %l2, %o1
                                 <== NOT EXECUTED
4000e144:	40 01 3d e7 	call  4005d8e0 <fprintf>
                      <== NOT EXECUTED
4000e148:	90 10 00 14 	mov  %l4, %o0
                                 <== NOT EXECUTED
        if (0 != (fstab_ptr->abort_reasons & FSMOUNT_MNT_FAILED)) {
  
4000e14c:	10 bf ff bb 	b  4000e038 <rtems_fsmount+0x98>
              <== NOT EXECUTED
4000e150:	c2 17 60 12 	lduh  [ %i5 + 0x12 ], %g1
                     <== NOT EXECUTED
          fprintf(stdout,"fsmount: mounting of \"%s\" to"
            
4000e154:	7f ff d3 07 	call  40002d70 <__getreent>
                   <== NOT EXECUTED
4000e158:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
4000e15c:	d6 07 60 04 	ld  [ %i5 + 4 ], %o3
                          <== NOT EXECUTED
4000e160:	d4 07 40 00 	ld  [ %i5 ], %o2
                              <== NOT EXECUTED
4000e164:	d0 02 20 08 	ld  [ %o0 + 8 ], %o0
                          <== NOT EXECUTED
4000e168:	40 01 3d de 	call  4005d8e0 <fprintf>
                      <== NOT EXECUTED
4000e16c:	92 10 00 13 	mov  %l3, %o1
                                 <== NOT EXECUTED
        if (0 != (fstab_ptr->abort_reasons & FSMOUNT_MNT_OK)) {
      
4000e170:	10 bf ff d4 	b  4000e0c0 <rtems_fsmount+0x120>
             <== NOT EXECUTED
4000e174:	c2 17 60 12 	lduh  [ %i5 + 0x12 ], %g1
                     <== NOT EXECUTED