Diffences between x86 and i386 files

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Diffences between x86 and i386 files

Jochen Schmitt
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

unfortunately, I have found differences between some documentations
files when
they are generated agains the x86_64 and i386 architecure.

Ith will be nice, if you have any hint to aboid this situation,
because the caused a
socall multilib issue.

Best Regards

Jochen Schmitt

BTW: The used version is gnu-smalltalk-2.3.6

diff -ur x86_64/share/info/gst-base.info-1 i386/share/info/gst-base.info-1
- --- x86_64/share/info/gst-base.info-1    2007-10-24 20:57:08.000000000
+0200
+++ i386/share/info/gst-base.info-1    2007-10-24 21:01:59.000000000 +0200
@@ -4203,6 +4203,11 @@
      Either return myself, or a copy shortened to smallSize characters
      by inserting an ellipsis (three dots: ...)
 
+subStrings
+     Answer an OrderedCollection of substrings of the receiver. A new
+     substring start at the start of the receiver, or after every
+     sequence of white space characters
+
 substrings
      Answer an OrderedCollection of substrings of the receiver. A new
      substring start at the start of the receiver, or after every
@@ -4210,11 +4215,6 @@
      backwards compatibility; the ANSI standard mandates `subStrings',
      with an uppercase s.
 
- -subStrings
- -     Answer an OrderedCollection of substrings of the receiver. A new
- -     substring start at the start of the receiver, or after every
- -     sequence of white space characters
- -
 substrings: aCharacter
      Answer an OrderedCollection of substrings of the receiver. A new
      substring start at the start of the receiver, or after every
diff -ur x86_64/share/info/gst-base.info-2 i386/share/info/gst-base.info-2
- --- x86_64/share/info/gst-base.info-2    2007-10-24 20:57:08.000000000
+0200
+++ i386/share/info/gst-base.info-2    2007-10-24 21:01:59.000000000 +0200
@@ -5548,12 +5548,12 @@
 isMeta
      Same as isMetaclass
 
- -isMetaClass
- -     Same as isMetaclass
- -
 isMetaclass
      Answer `false'.
 
+isMetaClass
+     Same as isMetaclass
+
 isNamespace
      Answer `false'.
 
Binärdateien x86_64/share/info/gst-base.info-4 and
i386/share/info/gst-base.info-4 sind verschieden.
diff -ur x86_64/share/info/gst.info i386/share/info/gst.info
- --- x86_64/share/info/gst.info    2007-10-24 20:57:07.000000000 +0200
+++ i386/share/info/gst.info    2007-10-24 21:01:58.000000000 +0200
@@ -26,7 +26,7 @@
 
 Indirect:
 gst.info-1: 1045
- -gst.info-2: 300105
+gst.info-2: 300110
 
 Tag Table:
 (Indirect)
@@ -57,127 +57,127 @@
 Node: Security?61048
 Node: Special objects?61194
 Node: Dynamic loading?66359
- -Node: Packages?67548
- -Ref: Packages-Footnote-1?72599
- -Node: Blox?72720
- -Ref: Blox-Footnote-1?76033
- -Node: Smalltalk-in-Smalltalk?76191
- -Node: Database?78617
- -Node: Locales?82183
- -Ref: Locales-Footnote-1?89873
- -Ref: Locales-Footnote-2?89959
- -Ref: Locales-Footnote-3?90027
- -Node: SUnit?90202
- -Ref: SUnit-Footnote-1?97651
- -Node: Network support?97893
- -Ref: Network support-Footnote-1?100235
- -Node: XML?100336
- -Node: Other packages?100826
- -Node: Emacs?101320
- -Node: Autoloading?101817
- -Node: Editing?102480
- -Node: Interactor?103466
- -Node: C and Smalltalk?107934
- -Node: External modules?108745
- -Ref: External modules-Footnote-1?113127
- -Ref: External modules-Footnote-2?113173
- -Node: C callout?113357
- -Node: C data types?123304
- -Ref: C data types-Footnote-1?132322
- -Ref: C data types-Footnote-2?132388
- -Node: Smalltalk types?132524
- -Node: Smalltalk callin?143324
- -Node: Other C functions?151837
- -Ref: Other C functions-Footnote-1?160015
- -Node: Object representation?160322
- -Node: Using Smalltalk?167567
- -Node: Incubator?170621
- -Node: Tutorial?175838
- -Node: Getting started?177598
- -Node: Starting Smalltalk?178031
- -Node: Saying hello?178574
- -Ref: Saying hello-Footnote-1?179132
- -Node: What happened?179356
- -Ref: What happened-Footnote-1?180962
- -Ref: What happened-Footnote-2?181261
- -Node: Doing math?181546
- -Node: Math in Smalltalk?182962
- -Node: Some classes?184113
- -Node: Arrays?184904
- -Ref: Arrays-Footnote-1?187379
- -Ref: Arrays-Footnote-2?187764
- -Node: Sets?187867
- -Node: Dictionaries?190904
- -Node: Smalltalk dictionary?192331
- -Ref: Smalltalk dictionary-Footnote-1?194161
- -Ref: Smalltalk dictionary-Footnote-2?194343
- -Node: Closing thoughts?194401
- -Node: The hierarchy?195417
- -Node: Class Object?196200
- -Node: Animals?197119
- -Node: But why?199988
- -Node: Creating classes?201005
- -Node: A new class?202954
- -Ref: A new class-Footnote-1?204066
- -Node: Documenting the class?204233
- -Node: Defining methods?204940
- -Ref: Defining methods-Footnote-1?209412
- -Node: Instance methods?209705
- -Ref: Instance methods-Footnote-1?211104
- -Node: A look at our object?211325
- -Node: Moving money around?213528
- -Node: Next coming?214286
- -Node: Creating subclasses?214733
- -Node: The Savings class?215492
- -Ref: The Savings class-Footnote-1?219156
- -Ref: The Savings class-Footnote-2?219474
- -Node: The Checking class?219734
- -Node: Writing checks?221036
- -Node: Code blocks (I)?223065
- -Node: Conditions?223681
- -Ref: Conditions-Footnote-1?226825
- -Node: Iteration?227046
- -Ref: Iteration-Footnote-1?235174
- -Node: Code blocks (II)?235698
- -Ref: Code blocks (II)-Footnote-1?236553
- -Node: Integer loops?236952
- -Node: Intervals?237455
- -Node: Invoking code blocks?238141
- -Ref: Invoking code blocks-Footnote-1?241794
- -Node: Debugging?241916
- -Node: Simple errors?242854
- -Node: Nested calls?244153
- -Node: Looking at objects?246640
- -Ref: Looking at objects-Footnote-1?247919
- -Node: More subclassing?248002
- -Node: The existing hierarchy?249330
- -Ref: The existing hierarchy-Footnote-1?255003
- -Node: Playing with Arrays?255150
- -Ref: Playing with Arrays-Footnote-1?259022
- -Node: New kinds of Numbers?259565
- -Ref: New kinds of Numbers-Footnote-1?264424
- -Node: Inheritance and Polymorphism?264526
- -Node: Streams?266796
- -Node: The output stream?267913
- -Ref: The output stream-Footnote-1?268848
- -Node: Your own stream?268941
- -Node: Files?272490
- -Node: Dynamic Strings?273176
- -Node: Behind the scenes?274808
- -Node: Inside Arrays?275402
- -Ref: Inside Arrays-Footnote-1?284320
- -Ref: Inside Arrays-Footnote-2?284397
- -Ref: Inside Arrays-Footnote-3?284458
- -Ref: Inside Arrays-Footnote-4?284616
- -Ref: Inside Arrays-Footnote-5?284696
- -Node: Two flavors of equality?284855
- -Node: Why is #new there?!??287642
- -Ref: Why is #new there?!?-Footnote-1?292610
- -Node: Performance?292680
- -Ref: Performance-Footnote-1?297300
- -Ref: Performance-Footnote-2?297381
- -Node: And now?297490
- -Node: The syntax?300105
- -Node: Future?308667
+Node: Packages?67553
+Ref: Packages-Footnote-1?72604
+Node: Blox?72725
+Ref: Blox-Footnote-1?76038
+Node: Smalltalk-in-Smalltalk?76196
+Node: Database?78622
+Node: Locales?82188
+Ref: Locales-Footnote-1?89878
+Ref: Locales-Footnote-2?89964
+Ref: Locales-Footnote-3?90032
+Node: SUnit?90207
+Ref: SUnit-Footnote-1?97656
+Node: Network support?97898
+Ref: Network support-Footnote-1?100240
+Node: XML?100341
+Node: Other packages?100831
+Node: Emacs?101325
+Node: Autoloading?101822
+Node: Editing?102485
+Node: Interactor?103471
+Node: C and Smalltalk?107939
+Node: External modules?108750
+Ref: External modules-Footnote-1?113132
+Ref: External modules-Footnote-2?113178
+Node: C callout?113362
+Node: C data types?123309
+Ref: C data types-Footnote-1?132327
+Ref: C data types-Footnote-2?132393
+Node: Smalltalk types?132529
+Node: Smalltalk callin?143329
+Node: Other C functions?151842
+Ref: Other C functions-Footnote-1?160020
+Node: Object representation?160327
+Node: Using Smalltalk?167572
+Node: Incubator?170626
+Node: Tutorial?175843
+Node: Getting started?177603
+Node: Starting Smalltalk?178036
+Node: Saying hello?178579
+Ref: Saying hello-Footnote-1?179137
+Node: What happened?179361
+Ref: What happened-Footnote-1?180967
+Ref: What happened-Footnote-2?181266
+Node: Doing math?181551
+Node: Math in Smalltalk?182967
+Node: Some classes?184118
+Node: Arrays?184909
+Ref: Arrays-Footnote-1?187384
+Ref: Arrays-Footnote-2?187769
+Node: Sets?187872
+Node: Dictionaries?190909
+Node: Smalltalk dictionary?192336
+Ref: Smalltalk dictionary-Footnote-1?194166
+Ref: Smalltalk dictionary-Footnote-2?194348
+Node: Closing thoughts?194406
+Node: The hierarchy?195422
+Node: Class Object?196205
+Node: Animals?197124
+Node: But why?199993
+Node: Creating classes?201010
+Node: A new class?202959
+Ref: A new class-Footnote-1?204071
+Node: Documenting the class?204238
+Node: Defining methods?204945
+Ref: Defining methods-Footnote-1?209417
+Node: Instance methods?209710
+Ref: Instance methods-Footnote-1?211109
+Node: A look at our object?211330
+Node: Moving money around?213533
+Node: Next coming?214291
+Node: Creating subclasses?214738
+Node: The Savings class?215497
+Ref: The Savings class-Footnote-1?219161
+Ref: The Savings class-Footnote-2?219479
+Node: The Checking class?219739
+Node: Writing checks?221041
+Node: Code blocks (I)?223070
+Node: Conditions?223686
+Ref: Conditions-Footnote-1?226830
+Node: Iteration?227051
+Ref: Iteration-Footnote-1?235179
+Node: Code blocks (II)?235703
+Ref: Code blocks (II)-Footnote-1?236558
+Node: Integer loops?236957
+Node: Intervals?237460
+Node: Invoking code blocks?238146
+Ref: Invoking code blocks-Footnote-1?241799
+Node: Debugging?241921
+Node: Simple errors?242859
+Node: Nested calls?244158
+Node: Looking at objects?246645
+Ref: Looking at objects-Footnote-1?247924
+Node: More subclassing?248007
+Node: The existing hierarchy?249335
+Ref: The existing hierarchy-Footnote-1?255008
+Node: Playing with Arrays?255155
+Ref: Playing with Arrays-Footnote-1?259027
+Node: New kinds of Numbers?259570
+Ref: New kinds of Numbers-Footnote-1?264429
+Node: Inheritance and Polymorphism?264531
+Node: Streams?266801
+Node: The output stream?267918
+Ref: The output stream-Footnote-1?268853
+Node: Your own stream?268946
+Node: Files?272495
+Node: Dynamic Strings?273181
+Node: Behind the scenes?274813
+Node: Inside Arrays?275407
+Ref: Inside Arrays-Footnote-1?284325
+Ref: Inside Arrays-Footnote-2?284402
+Ref: Inside Arrays-Footnote-3?284463
+Ref: Inside Arrays-Footnote-4?284621
+Ref: Inside Arrays-Footnote-5?284701
+Node: Two flavors of equality?284860
+Node: Why is #new there?!??287647
+Ref: Why is #new there?!?-Footnote-1?292615
+Node: Performance?292685
+Ref: Performance-Footnote-1?297305
+Ref: Performance-Footnote-2?297386
+Node: And now?297495
+Node: The syntax?300110
+Node: Future?308672
 
 End Tag Table
diff -ur x86_64/share/info/gst.info-1 i386/share/info/gst.info-1
- --- x86_64/share/info/gst.info-1    2007-10-24 20:57:07.000000000 +0200
+++ i386/share/info/gst.info-1    2007-10-24 21:01:58.000000000 +0200
@@ -1423,7 +1423,7 @@
 The `DLD' class enhances the C callout mechanism to automatically look
 for unresolved functions in a series of program-specified libraries.  To
 add a library to the list, evaluate code like the following:
- -          DLD addLibrary: '/usr/lib/libc'
+          DLD addLibrary: '/usr/lib(64)//libc'
 
    The extension (`.so', `.sl', `.a', `.dll' depending on your
 operating system) will be added automatically.  You are advised not to
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFHH5xlT2AHK6txfgwRArgkAKCvT+lhhugIeugXLdpqzXP0Es3TeACglkB7
4QnGVE8KFXIdtK0WHVdtTnI=
=OKgD
-----END PGP SIGNATURE-----



_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: Diffences between x86 and i386 files

Paolo Bonzini

> unfortunately, I have found differences between some documentations
> files when
> they are generated agains the x86_64 and i386 architecure.
>
> Ith will be nice, if you have any hint to aboid this situation,
> because the caused a
> socall multilib issue.

Sure, this time I can easily help.  I attach a patch for 2.3.6 and one
for devo, both committed to arch.

Paolo

2007-10-25  Paolo Bonzini  <[hidden email]>

        * Publish.st: Compare strings case-sensitively to avoid differences
        due to hashing.


--- orig/doc/gst.texi
+++ mod/doc/gst.texi
@@ -1644,7 +1644,7 @@ The @code{DLD} class enhances the C call
 for unresolved functions in a series of program-specified libraries.  To
 add a library to the list, evaluate code like the following:
 @example
-     DLD addLibrary: '/usr/lib/libc'
+     DLD addLibrary: 'libc'
 @end example
 
 The extension (@file{.so}, @file{.sl}, @file{.a}, @file{.dll} depending


--- orig/packages/stinst/doc/Publish.st
+++ mod/packages/stinst/doc/Publish.st
@@ -28,6 +28,18 @@
 |
  ======================================================================"
 
+String extend [
+    caseSensitiveCompareTo: aCharacterArray [
+        | c1 c2 |
+        1 to: (self size min: aCharacterArray size)
+            do:
+                [:i |
+                c1 := (self at: i) value.
+                c2 := (aCharacterArray at: i) value.
+                c1 = c2 ifFalse: [^c1 - c2]].
+        ^self size - aCharacterArray size
+    ]
+]
 
 
 Object subclass: ClassPublisher [
@@ -694,7 +706,8 @@ ClassPublisher subclass: DocPublisher [
  [:assoc |
  assoc value methodSourceString isNil
     ifFalse: [categoryMethods add: assoc key -> assoc value methodSourceString]].
- categoryMethods := categoryMethods asSortedCollection.
+ categoryMethods := categoryMethods asSortedCollection: [ :a :b |
+    (a key caseSensitiveCompareTo: b key) <= 0 ].
  categories add: (category , kind) -> categoryMethods.
  self emitLink: category kind: kind
     ]




2007-10-25  Paolo Bonzini  <[hidden email]>

        * Publish.st: Compare strings case-sensitively to avoid differences
        due to hashing.


--- orig/doc/gst.texi
+++ mod/doc/gst.texi
@@ -1501,7 +1501,7 @@ The @code{DLD} class enhances the C call
 for unresolved functions in a series of program-specified libraries.  To
 add a library to the list, evaluate code like the following:
 @example
-     DLD addLibrary: '/usr/lib/libc'
+     DLD addLibrary: 'libc'
 @end example
 
 The extension (@file{.so}, @file{.sl}, @file{.a}, @file{.dll} depending


--- orig/examples/Publish.st
+++ mod/examples/Publish.st
@@ -34,6 +34,17 @@ Namespace current: ClassPublisher!
 
 !String methodsFor: 'useful functionality'!
 
+caseSensitiveCompareTo: aCharacterArray
+    | c1 c2 |
+    1 to: (self size min: aCharacterArray size)
+        do:
+            [:i |
+            c1 := (self at: i) value.
+            c2 := (aCharacterArray at: i) value.
+            c1 = c2 ifFalse: [^c1 - c2]].
+    ^self size - aCharacterArray size
+!
+
 linesDo: aBlock
     "Send 'aBlock' a substring of the receiver for each newline delimited
      line in the receiver"
@@ -648,7 +659,8 @@ emitCategory: category
     categoryMethods add: assoc key -> assoc value methodSourceString
  ]
     ].
-    categoryMethods := categoryMethods asSortedCollection.
+    categoryMethods := categoryMethods asSortedCollection: [ :a :b |
+        (a key caseSensitiveCompareTo: b key) <= 0 ].
     categories add: (category, kind) -> categoryMethods.
 
     self emitLink: category kind: kind



_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: Diffences between x86 and i386 files

Paolo Bonzini

> - -This is gst-base.info, produced by makeinfo version 4.11 from
> /home/s4504kr/cvs/fedora/gnu-smalltalk/devel/smalltalk-2.3.6/doc/gst-base-fixed.texi.
> +This is gst-base.info, produced by makeinfo version 4.11 from
> /builddir/build/BUILD/smalltalk-2.3.6/doc/gst-base-fixed.texi.

I can't do anything if the build factories use different paths. However,
I appreciate that this could cause build paths to appear in installed
files, which is a problem.

Anyway, a hack can be to add this line:

           $(SED) -i '/^@..index/ s/:/_/g' $@

to each of the rules building a .texi file, like this ones:

$(srcdir)/regex.texi: $(top_srcdir)/examples/regex.st
         rm -f $(srcdir)/regex.texi
         builddir=`pwd`; gst=$$builddir/../gst;
gst_im=$$builddir/../gst.im; \
         cd $(srcdir) && \
           $$gst -I $$gst_im -f ../scripts/GenLibDoc.st \
             Regex Regex regex.texi
         test -f $(srcdir)/regex.texi && touch $(srcdir)/gst-libs.texi

and removing this block entirely:

# In TeX output, having colons in index entries looks pretty, but
# this is impossible in info output!!!  So we hack by replacing
# colons with underscores in the info file.
.texi.info:
         @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
         fixed=`pwd`/`echo $< | $(SED) 's/\.texi/-fixed&/' `; \
           cd $(srcdir) && \
           $(MAKEINFO) `echo $< | $(SED) 's,.*/,,'` -E - -o /dev/null | \
           $(SED) '/^@..index/ s/:/_/g' > $$fixed && \
           $(MAKEINFO) $$fixed > /dev/null 2>&1 && \
           rm -f $$fixed

However, I'm not going to include it upstream.  You should maintain it
as a local patch.

> - -gst-base.info-1: 1034
> - -gst-base.info-2: 299911
> - -gst-base.info-3: 599343
> - -gst-base.info-4: 754103
> - -gst-base.info-5: 1191975
> +gst-base.info-1: 1011
> +gst-base.info-2: 299888
> +gst-base.info-3: 599320
> +gst-base.info-4: 754080
> +gst-base.info-5: 1191952

These are byte offsets because of the different paths above.

Paolo


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: Diffences between x86 and i386 files

S11001001
On Thu, 2007-10-25 at 19:36 +0200, Paolo Bonzini wrote:

> and removing this block entirely:
>
> # In TeX output, having colons in index entries looks pretty, but
> # this is impossible in info output!!!  So we hack by replacing
> # colons with underscores in the info file.
> .texi.info:
>          @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
>          fixed=`pwd`/`echo $< | $(SED) 's/\.texi/-fixed&/' `; \
>            cd $(srcdir) && \
>            $(MAKEINFO) `echo $< | $(SED) 's,.*/,,'` -E - -o /dev/null | \
>            $(SED) '/^@..index/ s/:/_/g' > $$fixed && \
>            $(MAKEINFO) $$fixed > /dev/null 2>&1 && \
>            rm -f $$fixed
>
> However, I'm not going to include it upstream.  You should maintain it
> as a local patch.
Thank you for not committing this; Info output indexing is very
important to me.

--
Our last-ditch plan is to change the forums into a podcast, then send
RSS feeds into the blogosphere so our users can further debate the
legality of mashups amongst this month's 20 'sexiest' gadgets.
        --Richard "Lowtax" Kyanka

_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk

signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Diffences between x86 and i386 files

Paolo Bonzini

>> However, I'm not going to include it upstream.  You should maintain it
>> as a local patch.
>
> Thank you for not committing this; Info output indexing is very
> important to me.

With the patch I suggested Info indexing is kept; it's dvi indexing that
is lost.

Paolo


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk