Issue 86644
Summary Default llvm-size output format berkeley (but also darwin) is useless on macOS
Labels new issue
Assignees
Reporter therealprof
    I'm really amazed that no-one that I couldn't find any complaints about this, especially since the LLVM toolchain is used by default on macOS.

When using `llvm-size` on macOS, it uses the `berkeley` format which renders something like:
```
__TEXT	__DATA	__OBJC	others	dec	hex
10289152	32768	0	4296048640	4306370560	100ae0000
```
with absurdly large `total` sizes, which are of course not true.

Switching to darwin format, it immediately becomes clear what the issue is:
```
Segment __PAGEZERO: 4294967296
Segment __TEXT: 10289152
	Section __text: 7112552
	Section __stubs: 1596
	Section __gcc_except_tab: 429400
	Section __const: 1418776
	Section __unwind_info: 197152
	Section __eh_frame: 1111852
	total 10271328
Segment __DATA_CONST: 704512
	Section __got: 1080
	Section __const: 696352
	total 697432
Segment __DATA: 32768
	Section __data: 15232
	Section __thread_vars: 960
	Section __thread_data: 112
	Section __thread_bss: 1456
	Section __common: 8872
	Section __bss: 592
	total 27224
Segment __LINKEDIT: 376832
total 4306370560
```

The huge `PAGEZERO` segment (which of course is all virtual) is added to the file size, rendering the output of `llvm-size` almost completely useless.

The only format yielding a useful and correct result is `sysv`
```
section                 size addr
__text               7112552   4294984960
__stubs 1596   4302097512
__gcc_except_tab      429400   4302099108
__const 1418776   4302528512
__unwind_info         197152 4303947288
__eh_frame           1111852   4304144440
__got 1080   4305256448
__const               696352   4305257528
__data 15232   4305960960
__thread_vars            960 4305976192
__thread_data            112   4305977152
__thread_bss 1456   4305977264
__common                8872   4305978752
__bss 592   4305987624
Total 10995984
```
... which is not great.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to