Ada runtime of gcc trunk (r131220) build dies because OpenBSD does not have
clearenv() function.

Following patch should fix the issue:
http://iki.fi/tero.koskinen/gcc/gcc-ada-env_c.diff

How to repeat:
$ svn co ... gcc-trunk
$ mkdir obj;cd obj
$ CC="egcc -L/usr/local/lib" LDFLAGS="-L/usr/local/lib" \
CFLAGS="-I/usr/local/include" ADA="egcc -L/usr/local/lib" ADAC="egcc \
-L/usr/local/lib" CXX="g++ -L/usr/local/lib" \
ac_cv_prog_CONFIGURED_M4=/usr/bin/m4 \
am_cv_func_iconv=no ../gcc-trunk/configure --enable-languages=ada,c \
--with-gnu-ld --with-gnu-as --disable-nls  --with-system-zlib \
--prefix=/home/tkoskine/programs/gcc-trunk --enable-cpp \
--with-as=/usr/bin/as --with-ld=/usr/bin/ld --enable-shared \
--with-gmp=/usr/local --with-iconv=/usr/local --disable-checking \
--with-mpfr=/usr/local
$ gmake bootstrap

End of build log:
../../gcc-trunk/gcc/ada/env.c: In function '__gnat_clearenv':
../../gcc-trunk/gcc/ada/env.c:314: warning: implicit declaration of function
'clearenv'
egcc -L/usr/local/lib -static-libgcc -L/usr/local/lib -o gnat1 ada/b_gnat1.o
ada/adadecode.o ada/adaint.o ada/cstreams.o ad
a/cio.o ada/targtyps.o ada/decl.o ada/misc.o ada/utils.o ada/utils2.o
ada/trans.o ada/cuintp.o ada/argv.o ada/raise.o ada/i
nit.o ada/tracebak.o ada/initialize.o ada/env.o ada/ada.o ada/a-charac.o
ada/a-chlat1.o ada/a-except.o ada/a-elchha.o ada/a
-ioexce.o ada/s-memory.o ada/s-carun8.o ada/s-casuti.o ada/s-strcom.o
ada/s-purexc.o ad
a/s-htable.o ada/s-traceb.o ada/s-mastop.o ada/ali.o ada/alloc.o ada/atree.o
ada/butil.o ada/casing.o ada/checks.o ada/comp
err.o ada/csets.o ada/cstand.o ada/debug.o ada/debug_a.o ada/einfo.o
ada/elists.o ada/errout.o ada/erroutc.o ada/err_vars.o
 ada/eval_fat.o ada/exp_attr.o ada/exp_ch11.o ada/exp_ch12.o ada/exp_ch13.o
ada/exp_ch2.o ada/exp_ch3.o ada/exp_ch4.o ada/e
xp_ch5.o ada/exp_ch6.o ada/exp_ch7.o ada/exp_ch8.o ada/exp_ch9.o ada/exp_code.o
ada/exp_dbug.o ada/exp_disp.o ada/exp_atag.
o ada/exp_dist.o ada/exp_fixd.o ada/exp_aggr.o ada/exp_imgv.o ada/exp_intr.o
ada/exp_pakd.o ada/exp_prag.o ada/exp_sel.o ad
a/exp_smem.o ada/exp_strm.o ada/exp_tss.o ada/exp_util.o ada/exp_vfpt.o
ada/expander.o ada/fname.o ada/fname-uf.o ada/fmap.
o ada/freeze.o ada/frontend.o ada/gnat.o ada/g-byorma.o ada/g-hesora.o
ada/g-htable.o ada/s-os_lib.o ada/g-speche.o ada/g-s
pchge.o ada/g-u3spch.o ada/s-string.o ada/s-utf_32.o ada/s-crc32.o
ada/get_targ.o ada/gnatvsn.o ada/hlo.o ada/hostparm.o ad
a/impunit.o ada/interfac.o ada/itypes.o ada/inline.o ada/krunch.o ada/lib.o
ada/layout.o ada/lib-load.o ada/lib-util.o ada/
lib-xref.o ada/lib-writ.o ada/live.o ada/namet.o ada/namet-sp.o ada/nlists.o
ada/nmake.o ada/opt.o ada/osint.o ada/osint-c.
o ada/output.o ada/par.o ada/prep.o ada/prepcomp.o ada/repinfo.o ada/restrict.o
ada/rident.o ada/rtsfind.o ada/s-addope.o a
da/s-assert.o ada/s-parame.o ada/s-stache.o ada/s-stalib.o ada/s-imgenu.o
ada/s-imenne.o ada/s-stoele.o ada/s-soflin.o ada/
s-except.o ada/s-exctab.o ada/s-secsta.o ada/s-strops.o ada/s-sopco3.o
ada/s-sopco4.o ada/s-sopco5.o ada/s-traent.o ada/s-w
chcnv.o ada/s-wchcon.o ada/s-wchjis.o ada/s-unstyp.o ada/scans.o ada/scng.o
ada/scn.o ada/sdefault.o ada/sem.o ada/sem_aggr
.o ada/sem_attr.o ada/sem_cat.o ada/sem_ch10.o ada/sem_ch11.o ada/sem_ch12.o
ada/sem_ch13.o ada/sem_ch2.o ada/sem_ch3.o ada
/sem_ch4.o ada/sem_ch5.o  ada/sem_ch6.o ada/sem_ch7.o ada/sem_ch8.o
ada/sem_ch9.o ada/sem_case.o ada/sem_disp.o ada/sem_dis
t.o ada/sem_elab.o ada/sem_elim.o ada/sem_eval.o ada/sem_intr.o ada/sem_maps.o
ada/sem_mech.o ada/sem_prag.o ada/sem_res.o 
ada/sem_smem.o ada/sem_type.o ada/sem_util.o ada/sem_vfpt.o ada/sem_warn.o
ada/sinfo-cn.o ada/sinfo.o ada/sinput.o ada/sinp
ut-d.o ada/sinput-l.o ada/snames.o ada/sprint.o ada/stand.o ada/stringt.o
ada/style.o ada/styleg.o ada/styleg-c.o ada/switc
h.o ada/switch-c.o ada/stylesw.o ada/validsw.o ada/system.o ada/table.o
ada/targparm.o ada/tbuild.o ada/tree_gen.o ada/tree
_io.o ada/treepr.o ada/treeprs.o ada/ttypef.o ada/ttypes.o ada/types.o
ada/uintp.o ada/uname.o ada/urealp.o ada/usage.o ada
/widechar.o ada/s-crtl.o ada/seh_init.o ada/targext.o ada/s-restri.o
ada/back_end.o ada/gnat1drv.o prefix.o main.o tree-bro
wser.o libbackend.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a attribs.o
  -g -fkeep-inline-functions -DIN_GCC   -W 
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -Wmissing-format-attribute -pedantic 
-Wno-long-long -Wno-variadic-macros                                 
-Wno-overlength-strings -fno-common   -DHAVE_CONFIG_H 
../libcpp/libcpp.a  /usr/local/lib/libiconv.a ../libiberty/libiberty.a
../libdecnumber/libdecnumber.a -L/usr/local/lib -L/u
sr/local/lib -lmpfr -lgmp 
/usr/local/lib/libgmp.so.7.1: warning: vsprintf() is often misused, please use
vsnprintf()
ada/adaint.o(.text+0x688): In function `__gnat_tmp_name':
../../gcc-trunk/gcc/ada/adaint.c:996: warning: tmpnam() possibly used unsafely;
consider using mkstemp()
ada/adadecode.o(.text+0x16e): In function `__gnat_decode':
../../gcc-trunk/gcc/ada/adadecode.c:156: warning: strcpy() is almost always
misused, please use strlcpy()
ada/adaint.o(.text+0x118): In function `__gnat_try_lock':
../../gcc-trunk/gcc/ada/adaint.c:503: warning: sprintf() is often misused,
please use snprintf()
ada/adadecode.o(.text+0x29): In function `add_verbose':
../../gcc-trunk/gcc/ada/adadecode.c:61: warning: strcat() is almost always
misused, please use strlcat()
ada/adaint.o(.text+0x57d): In function `__gnat_open_new_temp':
../../gcc-trunk/gcc/ada/adaint.c:898: warning: mktemp() possibly used unsafely;
consider using mkstemp()
ada/env.o(.text+0xd8): In function `__gnat_clearenv':
../../gcc-trunk/gcc/ada/env.c:314: undefined reference to `clearenv'
collect2: ld returned 1 exit status
gmake[3]: *** [gnat1] Error 1
gmake[3]: Leaving directory `/home/tkoskine/src/cvs/gcc/obj/gcc'
gmake[2]: *** [all-stage1-gcc] Error 2
gmake[2]: Leaving directory `/home/tkoskine/src/cvs/gcc/obj'
gmake[1]: *** [stage1-bubble] Error 2
gmake[1]: Leaving directory `/home/tkoskine/src/cvs/gcc/obj'
gmake: *** [all] Error 2


-- 
           Summary: Ada runtime build failure on OpenBSD, missing clearenv()
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tero dot koskinen at iki dot fi


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34644

Reply via email to