Patrick Georgi wrote:
Could use --redefine-sym and -N to manage symbol names.
We'd have to cope with all mangling rules that objcopy applies to the full path. This is more robust.
And we can't use the same symbols we used to use, as the semantics of size are different. Better use different ones, so any issue breaks the build instead of breaking runtime.
Sure thing.
+extern unsigned char _binary_smm_size;
..
- memcpy((void *)0xa0000, &_binary_smm_start, (size_t)&_binary_smm_size);
Is the pointer to _size really right?
Yes, objcopy doesn't store the size as a value in memory, but simply stuffs another symbol into the symbol table.
Nod.
We don't want the value at *(number of bytes), which is what we'd get without the dereference.
Without the *reference* - right?
How about this then? Maybe both for start and size.
extern unsigned char _binary_smm_size[];
//Peter