Re: Fwd: Building gcc-4.9 on OpenBSD

2014-09-20 Thread Andrew Haley
On 20/09/14 02:45, Ian Grant wrote:

> You get first prize for most informative intelligent answer so far!
> Careful, you might get second prize too :-)
> 
> The problem is that we need to find a way to tell people _what_ is in
> that "dwarf" code. Open BSD's gcc ignores it, prints a warning, and
> goes about its business. That's probably why OpenBSD gcc 4.9 binaries
> are 17MB against the 64MB compiled by gcc 4.9. But that is a really
> fucking big dwarf they're stuffing in threre. What is the data,
> really? We can't just say "it's dwarf" because that doesn't really
> mean a whole lot, does it?

It's debugging information for debuggers.  What more are you asking
for?  Do you need to know about the structure of the debuginfo, or
something?

Andrew.




Re: Fwd: Building gcc-4.9 on OpenBSD

2014-09-20 Thread Jakub Jelinek
On Sat, Sep 20, 2014 at 08:33:01AM +0100, Andrew Haley wrote:
> On 20/09/14 02:45, Ian Grant wrote:
> 
> > You get first prize for most informative intelligent answer so far!
> > Careful, you might get second prize too :-)
> > 
> > The problem is that we need to find a way to tell people _what_ is in
> > that "dwarf" code. Open BSD's gcc ignores it, prints a warning, and
> > goes about its business. That's probably why OpenBSD gcc 4.9 binaries
> > are 17MB against the 64MB compiled by gcc 4.9. But that is a really
> > fucking big dwarf they're stuffing in threre. What is the data,
> > really? We can't just say "it's dwarf" because that doesn't really
> > mean a whole lot, does it?
> 
> It's debugging information for debuggers.  What more are you asking
> for?  Do you need to know about the structure of the debuginfo, or
> something?

And if you need that, it is easily available, see http://www.dwarfstd.org/
https://fedorahosted.org/elfutils/wiki/DwarfExtensions .  If you care only
about what matters for execution of the generated binaries, it is only the
allocated sections that matter (with A flag in readelf -WS output), and
all the debug info is in non-allocated sections only.

Jakub


Re: Implementing OpenACC's Fortran module

2014-09-20 Thread Tobias Burnus

On 19.09.2014 11:03, Thomas Schwinge wrote:
Regarding linking the object file produced by Fortran openacc.f90 into 
libgomp: (with the version that Jim already has internally checked in) 
I find that libgomp then has undefined references to 
_gfortran_internal_unpack and _gfortran_internal_pack.


Internal pack and unpack appears when you a (potentially) noncontiguous 
array is passed as argument to an argument which requires a contiguous 
argument. Internal pack checks at run time whether the argument is 
contiguous - and if not it creates a temporary and copies the data to 
the temporary ('copy in') - internal unpack ensures for all arrays but 
intent(in) that the data is propagated back to the original one.


I am pretty sure that copy-in will break the OpenACC functions.

One possibility would be to mark the dummy arguments in openacc.f90 as 
CONTIGUOUS. That way, no internal pack/unpack is called by openacc.f90. 
(If one has a noncontiguous array, the caller of openacc.f90 will do the 
copy in/out.)


Thus, you could try to add ", contiguous" to all procedures which take 
an assumed-rank array "(..)" as argument.


Tobias


Re: Fwd: Building gcc-4.9 on OpenBSD

2014-09-20 Thread Jonathan Wakely
On 20 September 2014 00:52, Ian Grant wrote:
> None of this is useful to me. I'm trying to make a case for why people
> should have confidence in GNU software. You are NOT helping me in
> that, I assure you,

You seem to have already made up your mind it's GNU crap.

Being insulting is a funny way to ask for help.

>
> We need to publish some simple steps that people can take to reassure
> themselves that the 64MB binaries that GCC 4.9 produces on Linux
> systems are normal and nothing to worry about,

If you run strip on the binaries and they get smaller, that means the
additional space is not taken up with executable code, but optional
debug info (in the DWARF format). Unless your strip command has been
compromised too, of course.

If you're not familiar with the strip and size commands, or prepared
to use their man pages, I have to wonder what sort of case you're able
to make for having confidence in any software.

> Why is that so hard? Where are the GCC experts on this list. Where are
> the people that actually care about the reputation of the FSF?

They've probably got better things to do than engage with someone who
comes out with crap like "dangerous GNU crap".


Failue when trying to build native mingw32 4.9.1 gcc (c, c++, ada)

2014-09-20 Thread avy st
Hello, 
I'm trying to build a native mingw32 4.9.1 gcc (I want to build a 4.9.1 arm 
cross compiler, but I need a 4.9.1 host gcc for that, and the gcc that comes 
with mingw32 is 4.8.1) 
I configure with: 
../../src/gcc-4.9.1/configure --prefix=/mingw --host=mingw32 --build=mingw32 
--without-pic --enable-shared --enable-static --with-gnu-ld --enable-lto 
--enable-libssp --disable-multilib --enable-languages=c,c++,ada 
--disable-sjlj-exceptions --with-dwarf2 --disable-win32-registry 
--enable-libstdcxx-debug --enable-version-specific-runtime-libs 
--with-system-zlib --with-gnu-as --enable-decimal-float=yes --enable-libgomp 
--enable-threads --with-libiconv-prefix=/mingw32 
--with-libintl-prefix=/mingw --disable-bootstrap LDFLAGS=-s 
CFLAGS=-D_USE_32BIT_TIME_T 
(This is extracted from the 4.8.1 mingw32 native compiler by "gcc -v") 
I'm getting the following error message - like ld does not recognize 
/mingw/lib: 
# @multilib_flags@ is still needed because this may use 
# /d/crossbuild/mingw32/gcc-4.9.1/./gcc/xgcc 
-B/d/crossbuild/mingw32/gcc-4.9.1/./gcc/ 
-L/d/crossbuild/mingw32/gcc-4.9.1/mingw32/winsup/mingw 
-L/d/crossbuild/mingw32/gcc-4.9.1/mingw32/winsup/w32api/lib -isystem 
/d/crossbuild/src/gcc-4.9.1/winsup/mingw/include -isystem 
/d/crossbuild/src/gcc-4.9.1/winsup/w32api/include -B/mingw/mingw32/bin/ 
-B/mingw/mingw32/lib/ -isystem /mingw/mingw32/include -isystem 
/mingw/mingw32/sys-includeand -O2 
-I../../../../src/gcc-4.9.1/libgcc/../winsup/w32api/include -g -O2 
-D_USE_32BIT_TIME_T -DIN_GCC-W -Wall -Wno-narrowing -Wwrite-strings 
-Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition 
-isystem ./include  -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector 
directly. 
# @multilib_dir@ is not really necessary, but sometimes it has 
# more uses than just a directory name. 
/bin/sh ../../../../src/gcc-4.9.1/libgcc/../mkinstalldirs . 
cp -p -f libgcc.map libgcc.map.def && if [ ! -d ./shlib ]; then mkdir 
./shlib; else true; fi && /d/crossbuild/mingw32/gcc-4.9.1/./gcc/xgcc 
-B/d/crossbuild/mingw32/gcc-4.9.1/./gcc/ 
-L/d/crossbuild/mingw32/gcc-4.9.1/mingw32/winsup/mingw 
-L/d/crossbuild/mingw32/gcc-4.9.1/mingw32/winsup/w32api/lib -isystem 
/d/crossbuild/src/gcc-4.9.1/winsup/mingw/include -isystem 
/d/crossbuild/src/gcc-4.9.1/winsup/w32api/include -B/mingw/mingw32/bin/ 
-B/mingw/mingw32/lib/ -isystem /mingw/mingw32/include -isystem 
/mingw/mingw32/sys-include-O2 
-I../../../../src/gcc-4.9.1/libgcc/../winsup/w32api/include -g -O2 
-D_USE_32BIT_TIME_T -DIN_GCC-W -Wall -Wno-narrowing -Wwrite-strings 
-Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition 
-isystem ./include  -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector 
-shared -nodefaultlibs libgcc.map.def 
-Wl,--out-implib,./shlib/libgcc_s.a.tmp -o ./shlib/libgcc_s_dw2-1.dll.tmp -g 
-O2 -D_USE_32BIT_TIME_T -B./ _chkstk_s.o _chkstk_ms_s.o _muldi3_s.o 
_negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o 
_clear_cache_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o 
_addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o 
_mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o 
_clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o 
_popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o 
_powidf2_s.o _powixf2_s.o _powitf2_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o 
_multc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _divtc3_s.o _bswapsi2_s.o 
_bswapdi2_s.o _clrsbsi2_s.o _clrsbdi2_s.o _fixunssfsi_s.o _fixunsdfsi_s.o 
_fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o 
_fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o 
_floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _divdi3_s.o _moddi3_s.o 
_udivdi3_s.o _umoddi3_s.o _udiv_w_sdiv_s.o _udivmoddi4_s.o gthr-win32_s.o 
cpuinfo_s.o tf-signs_s.o sfp-exceptions_s.o addtf3_s.o divtf3_s.o eqtf2_s.o 
getf2_s.o letf2_s.o multf3_s.o negtf2_s.o subtf3_s.o unordtf2_s.o 
fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o fixtfdi_s.o 
fixunstfdi_s.o floatditf_s.o floatunditf_s.o extendsftf2_s.o extenddftf2_s.o 
extendxftf2_s.o trunctfsf2_s.o trunctfdf2_s.o trunctfxf2_s.o 
enable-execute-stack_s.o unwind-dw2_s.o unwind-dw2-fde_s.o unwind-sjlj_s.o 
unwind-c_s.o emutls_s.o libgcc.a  -lmingwthrd -lmingw32 -lmingwex -lmoldname 
-lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32 && if [ -f 
./shlib/libgcc_s_dw2-1.dll ]; then mv -f ./shlib/libgcc_s_dw2-1.dll 
./shlib/libgcc_s_dw2-1.dll.backup; else true; fi && mv 
./shlib/libgcc_s_dw2-1.dll.tmp ./shlib/libgcc_s_dw2-1.dll && mv 
./shlib/libgcc_s.a.tmp ./shlib/libgcc_s.a 
c:\MinGW\mingw32\bin\ld.exe: cannot find dllcrt2.o: No such file or 
directory 
c:\MinGW\mingw32\bin\ld.exe: cannot find -lmingwthrd 
c:\MinGW\mingw32\bin\ld.exe: cannot find -lmingw32 
c:\MinGW\mingw32\bin\ld.exe: cannot find -lmingwex 
c:\MinGW\mingw32\bin\ld.exe: cannot find -lmoldname 
c:\MinGW\min