On 19/08/13 07:43, Richard D. Hornbaker wrote:
[BUILD] bin/__divdi3.o
cc1: error in backend: Global variable 'obj___divdi3' has an invalid
section specifier '.provided': mach-o section specifier requires a
segment and section separated by a comma.
make: *** [bin/__divdi3.o] Error 1
This seems to be an issue with the section directive in
src/include/compiler.h. The only suspicious thing is that the section
appears to be referenced differently for assembly vs. non-assembly modules:
#define PROVIDE_SYMBOL( _sym ) \
*.section ".provided", "a", @nobits ;*
But seems to define this for non-assembly modules:
#define PROVIDE_SYMBOL( _sym ) \
__attribute__ (( *section ( ".provided" )* ))
The format of the __attribute__ statement seems to be missing the
section name that the original error is compaining about. Toying with
the contents of this statement yielded different errors but no real
progress (e.g., 'section ( ".provided,a" )'.
Puzzling. Does the build succeed if you completely remove the
__attribute__((section(".provided"))) declaration?
iPXE uses other nonstandard section names (e.g. ".tbl.*" for the linker
tables), so I can't immediately see a reason why this particular section
should cause problems.
Michael
_______________________________________________
ipxe-devel mailing list
[email protected]
https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel