tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tinycc-devel] tinycc 0.9.25 x86_64 on Fedora 12


From: Aharon Robbins
Subject: [Tinycc-devel] tinycc 0.9.25 x86_64 on Fedora 12
Date: Tue, 03 Aug 2010 11:13:23 -0400
User-agent: Heirloom mailx 12.4 7/29/08

Hi. I built tinycc on my x86_64 Fedora 12 system. Here's a report.

1. Below is a patch that was necessary to get it to find the libraries;
   something should be done with configuring etc. to handle this. My patch
   is definitely quick and dirty.

2. When built, my program could not find some of the string functions,
   such as strlen, strcmp, strncmp and strcpy. I put in replacement versions,
   but that's not a scalable solution. Any idea what's not working?

3. I have a static table with some function pointers to static functions.
   This compiles, but the table values are NULL. Any idea why?

4. The external variable `char **environ' was accessable, but initialized
   to NULL. I had to use the (really old style) three argument version of
   main to get access to the environment and then initalize environ from
   within main.  Any idea why?

I am overall quite impressed; the compiler is blazingly fast, which is
quite refreshing when one normally uses GCC.

Thanks,
--
Aharon (Arnold) Robbins                                 arnold AT skeeve DOT com
P.O. Box 354            Home Phone: +972  8 979-0381
Nof Ayalon              Cell Phone: +972 50  729-7545
D.N. Shimshon 99785     In the afterlife, all the computers run Linux. You get
ISRAEL                  to decide if you're in Heaven or Hell.  -- A. Robbins
------------------------------------------------------------------------
diff -u tcc-0.9.25/libtcc.c tcc-0.9.25.adr/libtcc.c
--- tcc-0.9.25/libtcc.c 2009-05-18 17:27:06.000000000 +0300
+++ tcc-0.9.25.adr/libtcc.c     2010-07-20 17:22:10.000000000 +0300
@@ -1824,8 +1824,8 @@
 #ifndef TCC_TARGET_PE
     /* default library paths */
     tcc_add_library_path(s, CONFIG_SYSROOT "/usr/local/lib");
-    tcc_add_library_path(s, CONFIG_SYSROOT "/usr/lib");
-    tcc_add_library_path(s, CONFIG_SYSROOT "/lib");
+    tcc_add_library_path(s, CONFIG_SYSROOT "/usr/lib64");
+    tcc_add_library_path(s, CONFIG_SYSROOT "/lib64");
 #endif
 
     /* no section zero */
diff -u tcc-0.9.25/tcc.h tcc-0.9.25.adr/tcc.h
--- tcc-0.9.25/tcc.h    2009-05-18 17:27:06.000000000 +0300
+++ tcc-0.9.25.adr/tcc.h        2010-07-20 17:14:49.000000000 +0300
@@ -126,7 +126,7 @@
 
 /* path to find crt1.o, crti.o and crtn.o. Only needed when generating
    executables or dlls */
-#define CONFIG_TCC_CRT_PREFIX CONFIG_SYSROOT "/usr/lib"
+#define CONFIG_TCC_CRT_PREFIX CONFIG_SYSROOT "/usr/lib64"
 
 #define INCLUDE_STACK_SIZE  32
 #define IFDEF_STACK_SIZE    64
diff -u tcc-0.9.25/tccelf.c tcc-0.9.25.adr/tccelf.c
--- tcc-0.9.25/tccelf.c 2009-05-18 17:27:06.000000000 +0300
+++ tcc-0.9.25.adr/tccelf.c     2010-07-20 17:20:51.000000000 +0300
@@ -1199,7 +1199,7 @@
         tcc_add_library(s1, "c");
 
 #ifdef CONFIG_USE_LIBGCC
-        tcc_add_file(s1, CONFIG_SYSROOT "/lib/libgcc_s.so.1");
+        tcc_add_file(s1, CONFIG_SYSROOT "/lib64/libgcc_s.so.1");
 #else
         snprintf(buf, sizeof(buf), "%s/%s", s1->tcc_lib_path, "libtcc1.a");
         tcc_add_file(s1, buf);
@@ -1277,7 +1277,7 @@
 #elif defined TCC_ARM_EABI
 static char elf_interp[] = "/lib/ld-linux.so.3";
 #elif defined(TCC_TARGET_X86_64)
-static char elf_interp[] = "/lib/ld-linux-x86-64.so.2";
+static char elf_interp[] = "/lib64/ld-linux-x86-64.so.2";
 #elif defined(TCC_UCLIBC)
 static char elf_interp[] = "/lib/ld-uClibc.so.0";
 #else




reply via email to

[Prev in Thread] Current Thread [Next in Thread]