zhouwg / minigcc

customized toolchain for x86-ia32,learning and studying how Linaro create their various toolchain from scratch source code
GNU General Public License v2.0
0 stars 0 forks source link

"backtrace-supported.h: No such file or directory" when build minigcc in Host x86-ia32 #1

Closed zhouwg closed 4 years ago

zhouwg commented 4 years ago

Host OS: cde-wg # cat /etc/issue CDEOS(Custom Design Engagement OS r2017 by cde-wg@cdeos.com) \n \l cde-wg #


Target: x86-32


Kernel: 5.4.1

GCC:

cde-wg # gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.5.4/lto-wrapper Target: i686-linux-gnu Configured with: ../../toolchains_src/gcc-4.5.4/configure --prefix=/usr --libexecdir=/usr/lib --enable-static --enable-share --enable-threads=posix --enable-c99 --enable-long-long --disable-libstdcxx-pch --disable-multilib --enable-languages=c,c++ --enable-mpfr --with-gnu-as --with-gnu-ld --enable-__cxa_atexit --with-gmp=/usr --with-mpfr=/usr --with-mpc=/usr --disable-nls --enable-languages=c,c++ --with-pkgversion='x86 toolchain for miniCDE' --with-bugurl=http://www.gnu.org --enable-clocale=gnu --with-system-zlib --host=i686-linux-gnu Thread model: posix gcc version 4.5.4 (x86 toolchain for miniCDE)


Desc:

make[1]: Leaving directory /android/minigcc/libcpp' make -C libbacktrace make[1]: Entering directory/android/minigcc/libbacktrace' gcc -c -m32 -g -O2 -DPLATFORM_PCLINUX -Wmissing-declarations -Wnested-externs -Wmissing-prototypes -DHAVE_CONFIG_H -I. -I/android/gcc/gcc-6.4.0/libbacktrace -I /android/gcc/gcc-6.4.0/libbacktrace/../include -I /android/gcc/gcc-6.4.0/libbacktrace/../libgcc -I ../libgcc -funwind-tables -frandom-seed=atomic.lo -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -Wcast-qual -g -O2 -c atomic.c -o atomic.o atomic.c:38:33: fatal error: backtrace-supported.h: No such file or directory compilation terminated. make[1]: [atomic.o] Error 1 make[1]: Leaving directory `/android/minigcc/libbacktrace' make: [build] Error 2

zhouwg commented 4 years ago
/* backtrace-supported.h -- **Whether stack backtrace is supported**.
   Copyright (C) 2012-2017 Free Software Foundation, Inc.
   Written by Ian Lance Taylor, Google.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

    (1) Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.

    (2) Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in
    the documentation and/or other materials provided with the
    distribution.

    (3) The name of the author may not be used to
    endorse or promote products derived from this software without
    specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.  */

/* BACKTRACE_SUPPORTED will be #define'd as 1 if the backtrace library
   should work, 0 if it will not.  Libraries may #include this to make
   other arrangements.  */

#define BACKTRACE_SUPPORTED 1

/* BACKTRACE_USES_MALLOC will be #define'd as 1 if the backtrace
   library will call malloc as it works, 0 if it will call mmap
   instead.  This may be used to determine whether it is safe to call
   the backtrace functions from a signal handler.  In general this
   only applies to calls like backtrace and backtrace_pcinfo.  It does
   not apply to backtrace_simple, which never calls malloc.  It does
   not apply to backtrace_print, which always calls fprintf and
   therefore malloc.  */

#define BACKTRACE_USES_MALLOC 0

/* BACKTRACE_SUPPORTS_THREADS will be #define'd as 1 if the backtrace
   library is configured with threading support, 0 if not.  If this is
   0, the threaded parameter to backtrace_create_state must be passed
   as 0.  */

#define BACKTRACE_SUPPORTS_THREADS 1

/* BACKTRACE_SUPPORTS_DATA will be #defined'd as 1 if the backtrace_syminfo
   will work for variables.  It will always work for functions.  */

#define BACKTRACE_SUPPORTS_DATA 1
zhouwg commented 4 years ago

2019-12-20,01:43 now the minigcc could be built successfully on Host x86-64 and x86-32

zhouwg commented 4 years ago

An interesting story about Open64

鉴释科技创始人兼CEO梁宇宁曾在世界500强企业(包括三星、诺基亚、华为)和初创科技公司领导软件开发工作,拥有超过二十年的软件开发和管理经验.2014年加入华为,负责华为方舟编译器项目,2018年离职参与创立鉴释科技。

鉴释科技联合创始人兼CTO陈新中曾就职于英特尔中国研究院,主持开发先进移动平台核心技术,包括用于下一代使用模式、商务模式及相关影响的移动平台技术,以及辅助产品调整的相关技术等。 陈新中自1981年起从事嵌入式系统工具的研发工作。他于2008年加入英特尔中国研究院领导科技部-清华大学先进移动技术研究中心。在加入英特尔之前,陈新中在SGI公司负责优化工具的研发,同时他还担任开源的Pro64编译器的总架构师。在SGI工作之前,他主持了Mips的动态共享对象的全局调度与优化项目。陈新中拥有美国加州州立大学萨克拉门托分校舍的学士学位,以及美国普度大学计算机专业硕士。

鉴释科技联合创始人兼首席架构师刘新铭在开发和交付高性能计算系统(HPC)编译器和性能分析工具方面拥有数十年的丰富经验,他曾担任惠普 Java 编译器技术实验室主任,领导基于惠普安腾处理器的编译器开发工作。

华为编译器技术首席科学家周志德Fred Chow2015年加入华为.周志德于1977-1983年在斯坦福读博,毕业后,周志德去了Daisy Systems,该公司是当时最知名的EDA创业公司之一。在Daisy Systems,周志德开发了DABL(一个类似VHDL的硬件设计语言)配套的编译器。周志德后来陆续在MIPS和SGI任职在SGI期间领衔开发了Pro64编译器,后来演化为著名的Open64编译器

2016年8月惠普宣布将以约2.75亿美元收购超级计算机厂商SGI

鉴释科技核心产品基于Open64开发,方舟编译器也是基于Open64开发?