unwanted IMFS and POSIX stuff in executable

Joel Sherrill joel.sherrill at OARcorp.com
Wed Feb 13 18:09:01 UTC 2008


Jerry Needell wrote:
> I am using the configure options below on the rtems-4.8 branch
>
>  ../rtems/configure  --target=sparc-rtems --disable-posix
> --disable-itron --disable-tcpip --disable-networking --disable-cxx
> --enable-tests  --prefix=/opt/rtems --enable-rtemsbsp="leon3"
>
>
>   
This is a newlib .h file synchronization issue.  You need an update.
> The build fails with:
>
> ../cpukit/libcsupport/'`src/__getpid.c
> mv -f src/.deps/libcsupport_a-__getpid.Tpo
> src/.deps/libcsupport_a-__getpid.Po
> sparc-rtems-gcc --pipe -DHAVE_CONFIG_H   -I..
> -I../../cpukit/../../../leon3/lib/include  -Wall -fasm -mcpu=cypress
> -msoft-float -O2 -g -MT src/libcsupport_a-__gettod.o -MD -MP -MF
> src/.deps/libcsupport_a-__gettod.Tpo -c -o src/libcsupport_a-__gettod.o
> `test -f 'src/__gettod.c' || echo
> '../../../../../../rtems/c/src/../../cpukit/libcsupport/'`src/__gettod.c
> ../../../../../../rtems/c/src/../../cpukit/libcsupport/src/__gettod.c:40:
> error: conflicting types for 'gettimeofday'
> /home/needell/leon/rtems/install/rtems-4.8/bin/../lib/gcc/sparc-rtems/4.2.1/../../../../sparc-rtems/include/sys/time.h:73:
> error: previous declaration of 'gettimeofday' was here
> gmake[5]: *** [src/libcsupport_a-__gettod.o] Error 1
> gmake[5]: Leaving directory
> `/home/needell/leon/rtems/build-4.8/b-rtems/sparc-rtems/c/leon3/cpukit/libcsupport'
> gmake[4]: *** [all-recursive] Error 1
> gmake[4]: Leaving directory
> `/home/needell/leon/rtems/build-4.8/b-rtems/sparc-rtems/c/leon3/cpukit'
> gmake[3]: *** [all] Error 2
> gmake[3]: Leaving directory
> `/home/needell/leon/rtems/build-4.8/b-rtems/sparc-rtems/c/leon3/cpukit'
> gmake[2]: *** [all-recursive] Error 1
> gmake[2]: Leaving directory
> `/home/needell/leon/rtems/build-4.8/b-rtems/sparc-rtems/c/leon3'
> gmake[1]: *** [all-recursive] Error 1
> gmake[1]: Leaving directory
> `/home/needell/leon/rtems/build-4.8/b-rtems/sparc-rtems/c'
> make: *** [all-recursive] Error 1
>
>
> Any suggestions?
> thanks - Jerry
>
> wrote:
>   
>> Jerry Needell wrote:
>>     
>>> I am building an application that uses the RTEMS CLASSIC API and  only
>>> the clock manager. The executable contains a lot of code that I don't
>>> think I am using. I have extracted some examples from the nm output
>>> file.  I am not using IMFS or POSIX unless they are required by some
>>> internal RTEMS functions. Is there a way to keep these from being
>>> compiled into the program? I am trying to find the minimum footprint for
>>> my application.
>>>
>>>
>>>       
>> Depending on the RTEMS version there is only so much you
>> can do.  4.7.1 is better than 4.7.0 and 4.8 is even better.
>> The CVS head is better still but probably not the best idea.
>>
>>
>> Start with configuring with --disable-posix.
>>
>> If on something older than 4.7.1, look at the erc32/Makefile.am
>> and console driver to see what gone to startup and splitting
>> debug IO from the console.  That eliminated a lot.
>>
>> Also look at what was done to the calls for open(/dev/console)
>> at init time.
>>
>> There is currently nothing smaller than the miniIMFS.  It is
>> on the wish list to have a smaller option.  In 4.0.0 RTEMS only
>> had a device table lookup for device nodes -- there were no files
>> or device nodes.  This would again be a nice alternative for systems
>> like yours.  It would let the console still work and all section 2
>> commands like open, read, etc would work but it would be smaller
>> and simpler.  I really would like to get to work on this one. <hint>
>>     
>>> 4000e2b0 T miniIMFS_initialize
>>> 4000e2f0 T IMFS_Set_handlers
>>> 4000e368 T IMFS_evaluate_permission
>>> 4000e3e0 T IMFS_evaluate_hard_link
>>> 4000e44c T IMFS_eval_path
>>> 4000e6f0 T IMFS_evaluate_sym_link
>>> 4000e7dc T IMFS_evaluate_link
>>> 4000e8a4 T IMFS_evaluate_for_make
>>> 4000eb78 T IMFS_find_match_in_dir
>>> 4000ec40 T IMFS_get_token
>>> 4000ed78 T IMFS_initialize_support
>>> 4000ee4c T IMFS_mknod
>>> 4000ef18 T IMFS_node_type
>>> 4000ef24 T IMFS_rmnod
>>> 4000efdc T IMFS_stat
>>>
>>> 4000f794 T init_fs_mount_table
>>> 4000f7b4 T mount
>>> 4000fa6c T _POSIX_Condition_variables_Manager_initialization
>>> 4000fa9c T _POSIX_Key_Manager_initialization
>>> 4000facc T _POSIX_Message_queue_Manager_initialization
>>> 4000fb24 T _POSIX_Mutex_Manager_initialization
>>> 4000fb54 T _POSIX_Barrier_Manager_initialization
>>> 4000fb84 T _POSIX_RWLock_Manager_initialization
>>> 4000fbb4 T _POSIX_signals_Manager_Initialization
>>> 4000fc4c T _POSIX_signals_Post_switch_extension
>>> 4000fd20 T _POSIX_signals_Abnormal_termination_handler
>>> 4000fd30 T _POSIX_Spinlock_Manager_initialization
>>> 4000fd60 T _POSIX_Threads_Initialize_user_threads
>>> 4000fd88 T _POSIX_Threads_Manager_initialization
>>> 4000fddc T _POSIX_Threads_Delete_extension
>>> 4000fe50 T _POSIX_Threads_Create_extension
>>> 4000ff7c T _POSIX_Threads_Sporadic_budget_callout
>>> 4000ffcc T _POSIX_Threads_Sporadic_budget_TSR
>>> 4001007c T _POSIX_Threads_Exitted_extension
>>> 400100a8 T _POSIX_Timer_Manager_initialization
>>> 400100dc T _POSIX_Semaphore_Manager_initialization
>>>
>>>
>>> 400161ec B _POSIX_RWLock_Information
>>> 40016238 B _POSIX_Threads_Information
>>> 40016284 B _POSIX_Spinlock_Information
>>> 400162d0 B _POSIX_Semaphore_Information
>>> 4001631c B _POSIX_Timer_Information
>>> 40016368 B _POSIX_Message_queue_Information
>>> 400163b4 B _POSIX_Mutex_Information
>>> 40016400 B _POSIX_Barrier_Information
>>> 4001644c B _POSIX_Threads_User_initialization_threads
>>> 40016450 B _POSIX_Keys_Information
>>> 4001649c B _POSIX_Condition_variables_Information
>>> 400164e8 B _POSIX_Objects
>>> 4001651c B _POSIX_Threads_Number_of_initialization_threads
>>> 40016520 B _POSIX_Message_queue_Information_fds
>>>
>>> 40016764 B _POSIX_signals_Inactive_siginfo
>>> 40016770 B _POSIX_signals_Wait_queue
>>> 400167b0 B _POSIX_signals_Pending
>>> 400167b4 B _POSIX_signals_Siginfo
>>>
>>>
>>> _______________________________________________
>>> rtems-users mailing list
>>> rtems-users at rtems.com
>>> http://rtems.rtems.org/mailman/listinfo/rtems-users
>>>
>>>       
>>     
>
>   


-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available             (256) 722-9985





More information about the users mailing list