This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: rebaseall breaks some packages(?)


On 06/07/2014 20:34, Andrey Repin wrote:
Greetings, D. Boland!


My students (100+) repeatedly got these errors,

than eventually they should ask help here..

What's the deal with this "rebasing" anyway? Every compiler has a built-in
mechanism to create unique offsets. Windows itself also rebases binaries at
load-time.

Windows and POSIX models require different load techniques.
Cygwin provide POSIX compatibility layer.

On Posix the fork is a fundamental function.
Fork requires that all dll's on children process
are reloaded at the same address used in the father process.
Windows make this very difficult and rebase align
dll loading spaces in NOT overlapping ones making collision
and fork failures more unlikely.

On the other hand, why not rebase at compile-time?

on 32 bit, we will not have enough space anyway.
On both platform we should syncronize all the package maintainers at a certain point for all distributed shared library, titanic job and useless as the first upgrade of any shared library package will require
likely a different address space.

Rebasing should not be the responsibility of the user, but of the developer.
It is currently done by setup. But sometime things go wrong
and a you need a fresh restart.
Think of it like car tires, usually you don't touch them
but if the tire breaks you need to change it.

Cygwin users are developers. That's the intended audience, anyway.

That is clearly a wrong assumptions.
If our user were all developers we will be very few.
I expect very few users of my packages to be software developers

--
WBR,
Andrey Repin (anrdaemon@yandex.ru) 06.07.2014, <22:18>

Regards
Marco

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]