[llvm] [llvm-size] Add -z option for Mach-O to exclude __PAGEZERO size. (PR #159574)
Daniel RodrÃguez Troitiño via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 23 10:00:17 PDT 2025
drodriguez wrote:
If we use Xcode's `size` instead of `llvm-size`, I get the same display.
```
$ build/bin/yaml2obj llvm/test/tools/llvm-size/macho-pagezero.test --docnum=1 -o macho-pagezero.o
$ build/bin/llvm-size macho-pagezero.o
__TEXT __DATA __OBJC others dec hex
20 100 0 4096 4216 1078
$ size macho-pagezero.o
__TEXT __DATA __OBJC others dec hex
20 100 0 4096 4216 1078
```
The man page for `size` does not have a `-z` option (it has `-m`, `-l`, `-x` and `-arch`. Except `-arch`, the rest seems to be supported). Like @jh7370 says, maybe `-z` is not the best spelling for an option here, and a long one that makes clear is not for compatibility makes more sense.
But in the Xcode man page one can also find the following:
> Size (without the -m option) prints the (decimal) number of bytes required by the __TEXT, __DATA and __OBJC segments. All other segments are totaled and that size is listed in the `others' column.
Which explains the "others" category including `__PAGEZERO`.
If we want to provide this special behaviour because of a feature request, it should be obvious that it is not a compatibility flag or similar.
https://github.com/llvm/llvm-project/pull/159574
More information about the llvm-commits
mailing list