Am 22.03.2020 um 21:19 schrieb Yaakov Selkowitz:
On Sat, 2020-03-21 at 07:40 +0100, Marco Atzeri via Cygwin wrote:
Am 21.03.2020 um 05:55 schrieb Marco Atzeri:
Am 20.03.2020 um 20:24 schrieb Hans-Bernhard Bröker:
Am 20.03.2020 um 00:18 schrieb Brian Inglis:
On 2020-03-18 23:25, Marco Atzeri via Cygwin wrote:
It seems something is adding 5M or more to the normal
size of the programs

See attached for summary details by arch, but main points for both
are, on x86_64:
[...]

Could this be due to the ginormous number of targets configured into
the build?

may be, as it also take ages to full compile with the
current configuration:

#       --enable-shared
CYGCONF_ARGS="
          --enable-install-libiberty
          --disable-gdb
          --disable-libdecnumber
          --disable-readline
          --disable-sim
          --enable-64-bit-bfd
          --enable-targets=all
"

I am testing a build dropping the "enable-targets=all"
and also forcing the "enable-shared"

       --enable-shared \
          lt_cv_deplibs_check_method=pass_all

If that doesn't work, feel free to borrow:

thanks. It does not work.


https://github.com/cygwinports/binutils/blob/master/2.24.51-shared-libs.patch

However, these libraries are (by design) API-unstable, so is not
recommended to allow other code to link against these shared libs,
therefore I would also suggest:

https://github.com/cygwinports/binutils/blob/master/binutils.cygport#L30-L38

understood


Hoping it will note ages again....

"NOT take"

dropping the target seems to work very well

current version
$ du -sb /usr/bin/gprof.exe
5424147 /usr/bin/gprof.exe

under build
$ du -sb gprof/gprof.exe
19968   gprof/gprof.exe

in reality I was fooled by the stub,
the stripped version is ~ 1M insted of 5M

$ du -sb inst/usr/bin/gprof.exe
1146387 inst/usr/bin/gprof.exe

any clue why we are using a "enable-targets=all" options ?

Not sure, but if it's just so that 32-bit utils can read 64-bit
binaries (which is useful), --enable-targets=x86_64-pep should be
enough.

there is a trace of previous setting before "all" in the cygport

# --enable-targets=i686-efi-pe,x86_64-efi-pe,ia64-efi-elf,x86_64-pc-cygwin,i686-pc-cygwin


Any cross compiler should use its own binutils not the cygwin one, correct ?

Yes, regardless.

--
Yaakov


Thanks as usual
Marco
--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to