This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Nested functions with GCC in OS X


Hi All:

Hopefully this is the right list for this question. Does anyone have any experience building nested functions into dynamically linked library files (.so) on Mac OS X 10.4.9, with gcc 4.0.1. I am confused on several points by this. Here's an example of the problem with the associated errors:

gcc -dynamiclib calc_mean.c -o libmean.so -fnested-functions
/usr/bin/libtool: unknown option character `l' in: -allow_stack_execute
Usage: /usr/bin/libtool -static [-] file [...] [-filelist listfile [,dirname]] [-arch_only arch] [-sacLT]
Usage: /usr/bin/libtool -dynamic [-] file [...] [-filelist listfile [,dirname]] [-arch_only arch] [-o output] [-install_name name] [- compatibility_version #] [-current_version #] [-seg1addr 0x#] [- segs_read_only_addr 0x#] [-segs_read_write_addr 0x#] [-seg_addr_table <filename>] [-seg_addr_table_filename <file_system_path>] [-all_load] [-noall_load]


Obviously libtool doesn't know what -allow_stack_execute is because - allow_stack_execute is an option for ld, not libtool. Any ideas how to get the right flag from the compiler to ld?

In another project with nested functions, the '-fnested-functions' is never specified during the compile process, yet at runtime the program fails with an error message:

/usr/bin/ld: -allow_stack_execute can only be used when output file type is MH_EXECUTE
collect2: ld returned 1 exit status



This is unusual, because neither '-fnested-functions' nor '- allow_stack_execute' were specified. I'm assuming that ld is sensing the need for an executable stack, and producing an error because their isn't one. This error seems to indicate to me that you cannot have nested functions inside a dynamically linked library, as such a library will never have the type of MH_EXECUTE.


Does anyone have any experience with nested functions, ideas about what's going on?
Thanks in advance for any suggestions.



"Hats and mittens you kittens!"


Blake Huff
stangmechanic@gmail.com






Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]