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

Reply via email to